Query grease pencil strokes from python I want to "query" grease pencil data from my python script. In some sense, I need to get the points of the sketch and their coordinates to do some curve fitting. Is there a way to do this via python? Also, is there a higher level API that can give me more information about the strokes drawn?

Grease Pencil data is stored globally in bpy.data.grease_pencil. Scenes and objects can reference a Grease Pencil datablock.

Up to Blender 2.72, the active object was used. With no active object (right after object deletion), the active scene was used instead. From 2.73 on, the active scene is chosen all the time. There's legacy support for the object level however. For future use, you should assume the GPencil data to be associated with the active scene:

gp = bpy.context.scene.grease_pencil

The GPencil data is hierarchically organized in layers, frames, strokes and points:

# Get 1st point of 1st stroke on active frame and layer
point = gp.layers.active.active_frame.strokes[0].points[0]

point.co       # 3D Vector location
point.pressure # tablet pressure (1.0 on mouse input)
point.select   # selection state (bool)

layer = gp.layers[0] # first layer (by index)
layer = gp.layers["GP_Layer"] # by name
layer.color # color (fill_color for fill color)
layer.alpha # opacity (fill_alpha for fill opacity)

frame = layer.frames[1] # 2nd frame
frame.frame_number # frame number of that frame object

stroke = frame.strokes[-1] # last stroke
stroke.draw_mode # e.g. '3DSPACE'

You can create new GPencil data from scratch too:

gp = bpy.data.grease_pencil.new("My GPencil")
scene = bpy.context.scene
scene.grease_pencil = gp
scene.frame_set(5) # ensure we'll see the stroke (set to frame 5 below)

layer = gp.layers.new("Name for new layer", set_active=True)
layer.info # note: it's not layer.name!
layer.color = (1, 0.3, 0)

frame = layer.frames.new(5) # frame number 5
stroke = frame.strokes.new()
stroke.draw_mode = '3DSPACE' # either of ('SCREEN', '3DSPACE', '2DSPACE', '2DIMAGE')

stroke.points.add(4) # add 4 points
#stroke.points[0].co = (..., ..., ...) # set 1st point's location
stroke.points.foreach_set("co", (0,0,0,0,0,4,0,6,4,8,6,4)) # set all at once efficiently


How to smooth a edge (rounding) it I'm trying to learn how to smooth/round a edge of a model, currently I have a very simple case I can't achieve:
I created a sphere and cut it using the bisect tool, thats the result:

Now I'd like to round the top edge of this figure so it gets less shard, more rounded.

How can I achieve this? Tried selecting the top face and using the Bevel tool with no success =(.  (I'm a total beginner with blender) But it was near

You can also use Proportional Editing.
Works well for dense geometry and doesn't require further subdivision.

Scale the top loop
Enable Proportional editing, set Falloff > Sharp
Adjust size as needed


How to create a rubber sheet with ball bearings causing indentations I am new to Blender and I have a very specific image I wish to create to illustrate a new theory of physics.

Specifically:

1) I would like a rubber sheet, where the rubber sheet is held rigid (cannot move) at all edges (perfect would be a circular rubber sheet).  Lets say it should 25 x 25 units if square, or 25 units diameter if it is a circle.

2) At every unit intersection (eg 0/0, 0/1, 0/2, 1/0, 1/1, etc) attach a 0.25 unit diameter helium filled ping-pong ball below the rubber sheet, which will cause the rubber sheet to gently stretch upward, like a shallow umbrella.

3) At 3 arbitrary locations (two a couple of units apart and one far away from the other two) attach very heavy 0.25 unit diameter ball-bearings on top of the sheet, which cause the rubber sheet to bend down sharply, but only for a narrow distance. My goal is for the upward curve to be totally overridden between the two close balls, but for the upward curve to rise a above the three balls between the distant ball and the pair of balls.

Can you give me a rough description of how to do this and I will figure out the details.  No animation is necessary - just a static image after the balls have distorted the rubber sheet.

Any help would be greatly appreciated.  In the meantime I will continue learning blender basics.

[UPDATE]

In response to requests for a draft image, here is what I mean.  [You can see by my drawing skills why I need blender :-)]

I have drawn the image looking up from below.  You are looking through a transparent rubber sheet with 3 heavy balls "above" pulling it down and many helium balls below gently pushing it upward.
The surface is generally raised, like a shallow umbrella, but 3 spots have very heavy ball bearings pulling the rubber umbrella down.  The empty circles are helium filled balls under the rubber sheet.  The filled circles are the heavy balls which began above the sheet.

I have figured out I need to use a cloth sheet made of rubber.  I tried putting the rubber sheet and one heavy ball above it in a blender image, but when I ran it, both fell straight down.  So, I need to figure out how to anchor the edges of the rubber sheet so it doesn't fall.  Then I need to figure out how to add balls that float (have negative gravity?) below the sheet.

Thanks for any help!  I am slowly learning blender.  Very cool tool!

Though I'm not completely sure I understand exactly what you're trying to illustrate, I believe I've found a solution with Animation Nodes. While Animation Nodes has a bit of a learning curve, it can help you produce very precise, procedural results. I think this will be a better solution than simulation. First, download and install the add-on in the link above.

Once the add-on is installed, create a new Animation Nodes tree in the Node Editor:

In Animation nodes, you can add nodes two ways. The first is with Shift + A, which brings up the normal menu. If you are unfamiliar with the nodes, they can be hard to find, so you can search for nodes with Ctrl + A.

First, we need to make a plane to represent space. Add a Grid Mesh node. the $X$ and $Y$ divisions represent the number of vertices, not faces, so we'll need to add $1$ to the dimensions that we want. Let's do $25$ by $25$ units, and $101$ by $101$ divisions. We'll add an Integer node so we can set both Divisions at the same time:

In order to view the mesh we are creating, add a Combine Mesh Data node and a Mesh Object Output node:

Next, let's add the bearings. In the 3D View, add $3$ Empties. I chose the Single Arrow display type and set the Radius to $5$. In the N panel, lock the Z-axis location. Select the $3$ Empties and press Ctrl + G to group them. Name the group Bearings:

Add an Objects from Group node and select the Bearings group. Now, add an Object Controller Falloff node. Set the mix type to Add. Since the bearing's radius is $0.125$, set that as the Offset value. Experiment with the Width value to find something that depicts what you want. I chose $1$. Now, the most important part is the Interpolation. Since gravity has an inverse square falloff, my guess would be that you want the Quadratic option. You can visualize interpolations with the Interpolation Viewer node. You can also create a custom interpolation with the Curve Interpolation node:

To apply the falloff, add an Offset Vector node. Enable the list input, and plug in the Vertices list and the Falloff. Set the Z-value of the Offset to however deep you want the ball bearings to go. I chose $5$:

Result:

Now, let's add the upward curvature. We'll do that with two Directional Falloff and Interpolate Falloff nodes, a Mix Falloffs node, and another Offset Vector node, configured accordingly:

Now we have 3 "ball bearings" with a gentle upward curvature. You'll notice I made the upward curvature Quadratic, but that can, of course, be configured differently.

This is the bare minimum, but I want to go a little bit further. Let's draw a grid over the top, so that it renders cleaner. We can do this by creating Splines (curves) that follow certain edges. First, lets create a script to select edges. Add an Expression node, and plug in the Edge Indices list from the Grid Mesh node, the Integer node that sets the number of Divisions, and another Integer node. Name them according to the picture below. Use the gear icon to set the output type to Generic List. Paste in the following code:

[x[i*(n-1):(i+1)*(n-1)] for i in range(2*n) if ((i<n) and i%o==0) or i==n or ((i>n) and i%o==1)]

This code will isolate every o runs of edges in the grid, so this currently gets every $10$ edges of this $100$ by $100$ grid. To turn these into splines, we need to loop through every run and join them together. Add a Loop Input node and give it a Generic List iterator, a Vector List parameter, and a Spline List output.

Add a Convert node to change the Generic input to a Edge Indices List. Then add a Splines from Edges node and a Connect Splines node:

Add an Invoke Subprogam node and a Curve Object Output node, configuring settings as shown, and you should have a wireframe.

To make it look a little nicer, crank up the Divisions and adjust the Bevel Depth:

^^^ $501$ divisions, gridline every $10$, Bevel Depth of $0.4$

NodeTree:

Gif:

Rendered Result (two sets of overlay lines, thick lines every unit, and slim lines every $\frac{1}{4}$ unit):

With transparency:

Download the .blend (requires Animation Nodes):

(Plane divisions turned down to $400$ to fit on Blend-Exchange)


How to rotate viewport camera without moving it in Blender 2.90? I'm working on an in-door scene in Blender 2.90 with rooms and hallways. In the 3D viewport, the viewport camera by default rotates around a focused object (select an object and press numpad . to focus). However, when I do that, the viewport camera keeps clipping behind walls when I rotate it, forcing me to constantly select different focus objects.
Is there some sort of hotkey or action I can use to rotate the viewport camera in place (i.e. rotating without actually changing its X/Y/Z coordinates)?
I know about the walk-through and fly-through modes, but I find them rather clunky to use.
To reiterate: I'm not talking about some camera object in the scene, I'm talking about the viewport camera itself.

Not sure if this is what you need, but if you hit N while in the viewport and then you go to View > View Lock > Lock Object. You could drop any object or model there and the Viewport camera will be focused on that object or model


How to use the new render pass API for an external renderer? I am developing an addon for an external renderer and want to register custom render passes.
Last time I implemented this feature I had to resort to images because Blender only had hardcoded render passes.

Nowadays the RenderEngine class offers several methods that seem to allow the registration of custom passes:

register_pass(scene=None, srl=None, name="", channels=1, chanid="", type='VALUE')
update_render_passes(scene=None, renderlayer=None)
add_pass(name, channels, chan_id, layer="")

However, I could not find any explanation or examples of how to use these methods. Looking at the Cycles source code also did not help much.

Cycles implements the update_render_passes method: https://github.com/dfelinto/blender/blob/1d33843ea6b128242183bb31804474019c606a9d/intern/cycles/blender/addon/init.py#L105

But I could not find out how or when this method is ever called.
When I implement this method in my addon, it is never called.
In this implementation, it uses the register_pass method: https://github.com/dfelinto/blender/blob/1d33843ea6b128242183bb31804474019c606a9d/intern/cycles/blender/addon/engine.py#L209

Where I currently am

I have managed to add a custom pass with the following code, which is currently executed in the constructor of my RenderEngine implementation:

self.add_pass("Samplecount", 1, "X")

It shows up in the image editor:

Problems/Questions

The custom pass is always available in the image editor dropdown, even if it is not used in the current rendering
It seems there is no method to remove or unregister a custom pass - how does Cycles do this?
The custom pass does not show up in the compositor:

Thanks to brecht's explanation in IRC I can now answer my own question:

Custom passes in compositor

update_render_passes is called by the compositor to display the custom passes as output sockets. In this method, register_pass should be used.

Example:

def update_render_passes(self, scene=None, renderlayer=None):
    self.register_pass(scene, renderlayer, "Combined", 4, "RGBA", 'COLOR')

    aovs = scene.luxcore.aovs

    if aovs.samplecount:
        self.register_pass(scene, renderlayer, "Samplecount", 1, "X", 'VALUE')
    if aovs.shading_normal:
        self.register_pass(scene, renderlayer, "Shading_Normal", 3, "XYZ", 'VECTOR')

Custom passes in image editor

add_pass on the other hand should be called at the start of the render method to add custom passes (before writing data into a render_result).

Example:

# Note: the Depth pass is already added by Blender
# If you add it again, it won't be displayed correctly
# in the "Depth" view mode of the "Combined" pass
# in the image editor.

aovs = scene.luxcore.aovs

if aovs.samplecount:
    self.add_pass("Samplecount", 1, "X")
if aovs.shading_normal:
    self.add_pass("Shading_Normal", 3, "XYZ")

I hope this helps other developers of addons for external render engines.


Blender 2.82 Fluid Simulation can't resume baking I have simulated a pool of water and was baking the mesh for the water. My system crashed and I could not resume baking. I backed the mesh folder up and freed the mesh. I put the files back in place but could not resume it would always start over and replace the old files. (The same happened for the simulation but i'm tired of running it all over again)

  Anyone got an idea how to resume baking?

I'm running the blender alpha build from 05.01.2019

Blender does not support fluid bakes that can be re-started from a different frame. However, in mantaflow, this is supported. You might want to consider installing mantaflow for blender unless you are already use it. (It would be weird if you are since you cannot restart your fluid bake.) You can download mantaflow here.


Boolean problems, object is left as a hollow mess I'm extremely new to 3D modeling, just started today actually. But there have been some problems with the boolean modifier that I just cannot google my way out of. First, when I'm trying to carve out a chunk instead of making a hole right through an object, the two meshes just combine instead of subtracting. The second is when I finally get it to work it leaves my object a hollowed mess. In the screenshots, you can see the left object is the one I want to keep, and the right one is what I want to subtract from the left one. If I select Difference the objects just combine, but if I select Union I get what I actually want but the resulting object is hollow and with some weird planes all over the inside. How can I fix these problems?

You have the right operation i.e Difference, and it is working too, the problem with it is John Cena(you can't see it). Jokes aside!
You only can't see the changes because the object is lying on it. If you want to see the changes before applying the modifier, select the object which you are using for hollowing and go to Object Tab. Under View Port Display Select Display as Wire! Now you can see the hollow.

And also after applying the modifier you can delete that hollow helping object to see the hollow. But its risky, arrange it first with the above method and then you are ready to apply and delete.

Have fun!


How do you add multiple colors to one object I was trying to create a mug where the outside is one solid color and the inside is the color of the drink. I found this which said I just needed to go into edit mode and select the faces I wanted for color 1 and click assign and do the same for color 2. But whenever I try this my entire object becomes the new color.

How do I get only certain faces to change color?

Oh! Good question! This is so easy, that it should probably be used a lot more than it is on objects.

I assume you know how to create the color materials for objects, so I won't address that. Every time you go to the materials tab to make a new material, you click the "+" or "Add" button. You can do that many times. So, go ahead and create the materials you need.

BTW, the method I describe here is SO simple, but, the best way is to absolutely UV edit. Whew! What a chore. I prefer this stupid simple method.

What you do next is simply go into "Edit Object" mode, and use the "face" selection. Select the faces you want of the particular material. Select the proper material from the list of materials I advised you to create above, and click that "Assign" button. Select the faces you want of a different material, and, from that same list of materials, "Assign" the appropriate material to those faces. Stupid simple, no?


So just rigging a model and after parenting my arms and legs the spine will move the mesh but the limbs wont! So I have made a basic model with more detailed hands for the sake of a game. Now I followed a tutorial and made a basic rig and parented them properly. When i selected the mesh then the skeleton and used automatic weights the spine is able to twist and move the mesh but my arms and legs cannot. The arms were made seperately but the legs were made using symetrize. As the hands were a bit more detailed i made them seperately and parented them to the wrist bone so what have i done wrong here??!?!

Might need to use weight paint mode to put som weight on the mesh from the bones related to arms and legs. If you select the mesh and then go into weight paint mode the parts of the mesh that are affected by your bones will be colored other than blue. You will find each bone that deforms the mesh in vertex groups for the mesh


Blender 2.79. Rendered image show only color and not UV mapped texture I have problem in blender 2.79.

When I want to render a model but with image texture render model appears black although uv maping is correct. But when I apply defuse shader it shows its color.
Please help me regarding the problem.

Thank you.

This picture shows with image texture

In cycles you need shaders, they determine how the light rays bounce on (or go trhough) the surfaces of an object.

You can't apply textures directly on the material output. (if you notice there are different colors on the sockets. Green can only be connected to green, yellow goes with yellow, purple with purple, and so on). The material output should be connected to shader information only.

In your case you need to connect the color of the image texture to the color input of the diffuse shader, so that the image gets mapped on the faces of the object.

Read: What is the meaning of the color of the node sockets in the node editor?


After selecting a face , the bevel modifier works automatically , and can not quit it In edit mode, after selecting a face, blender automatically enters Bevel
and can not quit it. So I could not do anything else.
I reinstalled blender 2.81, the problem still happened.
Why?

Is there a possibility you might have changed a hotkey?

To be sure you have the factory settings, you can reset to factory preferences, to reset go to edit-> preferences-> click the 3 rows in the bottom left corner -> load factory preferences.


Shape Keys from hooks I have animation that contains curves that are acting like cable. The curves vertices are attached (hook) to empty so it will work right way. Everything works fine, but I need to import this animation to unreal engine 4 and you can't import curve or hooks. The hook modifier has button "apply as shape key" but I can't make it work. Is there any tutorials or can someone explain to me how can I convert hooks to shape keys.

One solution could be using a rig with according weight painting. Unreal should be able to import that. Also posting an image might help finding the right answer!


Add Custom Submenu to Add Menu I have a quick and probably easy question.

I have a working submenu and I want to attach it to the Add Menu (that you get by pressing Shift+A).

import bpy
from bpy.props import (StringProperty, BoolProperty,IntProperty,FloatProperty,FloatVectorProperty,EnumProperty,PointerProperty)
from bpy.types import (Panel,Operator,AddonPreferences,PropertyGroup)

#----------------------------------- FUNCTIONS --------------------------

def menu_func(self, context):
    self.layout.operator_menu_enum(OBJECT_MT_effector_submenu.bl_idname,"type", text="Effector")

#----------------------------------- OPERATORS --------------------------

class EFFECTOR_OT_sphere_effector(bpy.types.Operator):
    bl_idname = "mesh.sphere_effector"
    bl_label = "Add Sphere Effector"
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self,context):
        print("0")
        return {'FINISHED'}

class EFFECTOR_OT_plane_effector(bpy.types.Operator):
    bl_idname = "mesh.plane_effector"
    bl_label = "Add Plane Effector"
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self,context):
        print("1")
        return {'FINISHED'}

#----------------------------------- UI --------------------------

class OBJECT_MT_effector_submenu(bpy.types.Menu):
    bl_idname = "OBJECT_MT_effector_submenu"
    bl_label = "Effector"
    bl_options = {'REGISTER', 'UNDO'}

    def draw(self, context):
        layout = self.layout

        layout.operator("mesh.sphere_effector")
        layout.operator("mesh.plane_effector")

# ----------------------- REGISTER ---------------------

classes = (
    EFFECTOR_OT_sphere_effector,
    EFFECTOR_OT_plane_effector,
    OBJECT_MT_effector_submenu,
)

def register():
    from bpy.utils import register_class
    for cls in classes:
        register_class(cls)
    bpy.types.VIEW3D_MT_add.append(menu_func)
    bpy.ops.wm.call_menu(name="OBJECT_MT_effector_submenu")

def unregister():
    from bpy.utils import unregister_class
    for cls in reversed(classes):
        unregister_class(cls)
    bpy.types.VIEW3D_MT_add.remove(menu_func)

if __name__ == "__main__":
    register()

(NOTE: the full code is bigger, so there might be some useless code that I didn't delete)

The submenu is working (I have a test call in the code), and I could get a single operator in the menu, but not the whole submenu.

When I call the Add Menu, I get the error rna_uiItemMenuEnumO: operator missing srna 'OBJECT_MT_effector_submenu'

My guess is that there are some problems in the name of the operators/idnames, but I couldn't understand how to do it

There are two changes necessary to add your custom menu entry.

menu_func has to be modified to add OBJECT_MT_effector_submenu to the menu
Don't call bpy.ops.wm.call_menu in register

The fixed menu_func looks like this:

def menu_func(self, context):
    self.layout.menu("OBJECT_MT_effector_submenu", text="Effector")


Python Script To Rename Bones In Armature I was wondering if there was a python script that I could run in the text editor that would go through all the bones in a selected armature and remove the numbers from their name??
The bone names have to be the same if you want to append animations from other files, but this software I'm using always adds numbers to the bones depending on how many times you've exported a skeleton.
This skeleton contains a 31 before all the bone names. In other files it will be 45, or 129, so on so fourth. If I could run a simple script that would just remove all the numbers in each bone name, it would save me a lot of trouble from having to do it manually.
Thank you for your time!!!

This will replace "Skel123:", etc. with just "Skel:" in the names of bones (edit: and their armature, and their armature's object). Select the armature you want to do it to and make sure you are in Object mode before running it.
import bpy, re
ob = bpy.context.active_object
assert ob.type == "ARMATURE"
assert bpy.context.mode == 'OBJECT'
for thing in [ob, ob.data, *ob.data.bones]:
    thing.name = re.sub(r'Skel[0-9]+:', 'Skel:', thing.name)

If you want to remove all numbers instead of just the ones from the "Skel:" part, you can use re.sub(r'[0-9]', '', thing.name) instead.


Boolean difference adding The boolean difference is adding on to the outside of my object.
I have tried the things I can try, if I didn't it was because I could find how to do it or I did not find anything on it.
I have a traced shape from an image and its part of a logo. I am trying to cut that part of the logo out of a block and it is not working.
I have gotten a different object to work with the boolean difference but I still cannot get the part of the logo to work.

You have some overlapping vertices in your letter. These break the boolean. Your normals are also inside out and should be flipped.
Merge by Distance

Select your cutter and toggle to Edit Mode Tab. Press A to select all. Under Mesh tab select Clean Up and Merge by Distance.

Recalculate Normals

From Viewport Overlays panel you can check Face Orientation checkbox. This lets you see which way your normals are facing. Blue should be outside and red should be inside.

To recalculate the normals select your object toggle to Edit Mode. Select all and Under Mesh tab choose Normals and Recalculate Outside. You should do this to both of your objects.


Why do 360° videos look low res when uploaded to Youtube? I've been in the process of making a 1min 360° video for YouTube. I had already run some tests to make sure I knew how to make it 360° from blender to its final delivery, so getting it panoramic is no problem.

I've running some tests just to check the video quality is alright but it seems no matter what I do it comes out looking low res once uploaded to YouTube. I've used several templates for rending from online users and I've tried it in 720p, 1080p, and 1440p but it always comes out looking poor once I've got it uploaded. My normal animation I can export looking just fine. Where do you think I might be going wrong?

This has been driving me nuts too, haven't come up with a fix yet and I'm outputting using Premier Pro: unsharp mask, color correction, 4k resolution, ~30bps bitrate and 59.94 fps.  Looks great on my computer, then uploads to YouTube like garbage.

Even 1080p/60fps renders terribly on YouTube and you would think this would be their default 'let's make this look as good as possible' configuration they'd want to get right in-terms of their compression.

Johnpbuck submitted a video that looks decent I guess, but in my mind it's not a real world example.  Here's the quality I'm trying to get to without buying new cameras (which I don't think will solve the problem considering how good my cameras perform BEFORE YouTube) - https://www.youtube.com/watch?v=LByJ9Q6Lddo

The only trick I can suggest that others may not have tried yet is forcing rendering of your video at 59.94fps.  My cameras don't go that high but YouTube does grant a higher bitrate during uploading to a frame rate beyond 30.


Render angle is different to viewport I am new to Blender and I am rendering a title animation. I see that the angle of the render is different to the viewport angle. The angle of the render is 45 degrees, just like the camera angle and I want it to be like my front view, just flat.  Can you advise how to change settings to get a render with the same angle as the viewport please? Thanks a lot for your answer. Best regards, Maarten Fenenga.

If don't want to have perspective effects you change your camera to orthogonal.


How to make particles change their direction 90 degrees I am trying to replicate this particle effect in blender - https://vimeo.com/219576444 I especially want the particles to change their direction 90 degrees, like in the video.
Particularly this part

How can I do this in a blender?

I think it's not an actual particle system
It's more like a mesh that being exposed presumably by some empty object or something like that:

Though I'm not sure how it's actually done, and as soon as I know there's no way to make particles do that straight kind of motion


How to make an object appear and disappear repeatedly in a certain area? I am animating an atom and I don't want to use a Bohr model so I am trying to make radials. For this, I need to define a boundary, and then have an electron (shown as a sphere) to appear and disappear repeatedly in a random spot within the boundary. I don't really want to make a bunch of objects and animate the visibility, but I can if there is no other options. This is for a animation, so I would prefer a solution that isn't in BGE. Thanks!

You could use a particle system, defining the boundary by the shape of the emitter.

To  make 1 particle appear and disappear in random places, set the lifetime of the particle to be the desired frame length of its appearance, and set the total number of particles to divide the total duration of emission by that amount.

Switch off physics, velocities, etc, set the Emit From to 'Volume', and make a sphere to be the target 'Object' of the render settings.

Sample settings:

Sample Result:

You could animate the object color, for example, to have each electron fade in and out, or produce other effects.


How to properly model the Volute on a Capital of an Ancient Greek Column? I'm trying to figure out how to properly model the top part of the Ancient Greek Column. Can someone explain the easiest way to do so?

This is the base I did:

You can download it here: https://ufile.io/1eb83

Concerning the main part to do it quickly...

The idea is to notice we have a kind of spiral which is more or less the equivalent of outer and inner circles.

We know too that a subsurface modifier can do a circle from square/straight lines.

That's what we use here :

Simply follow the reference image with the fewest vertices has possible.

To do that, preset a subsurface modifier in order to view step by step the rendered curve as you add vertices.

Here I have chosen to have 5 points for half of a circle with a subdivision surface set to two:

To obtain the image above, begin to add just the contour lines. Then use the F2 addon to fill the faces (it is really quick! https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Modeling/F2).
The important point is to have the same amount of vertices for the inner and outer part (so that they correspond and you can make faces all around).

A trick: don't close totally the face on the right of the inner circle (that will be easier for the loop cuts later).

Now... we just have a flat surface, but nearly all is composed of quads and edge loops.

From that, "loop cut and slide" with CtrlR at the center.

Then validate and move down Z this line:

Now enforce the flat parts, either adding another loop cut or beveling:

Complete filing the hole we let before, extruding the outer part and eventually add another subdivision level the the subsurface modifier.

Note: for the thinner details, as said in the comments, use normal maps or others... or spend more time to model it...


The lambda problem - how to send a constant value through it Is it possible to send a constant value to a (function-pointer-like) variable that makes use of lambda? Here is a very simplified version of what I want to do:

for p in range(property):
    property[p].update = lambda s, c: DoUpdate( s, c, p )

I would like the third arg p to be converted into a constant value. Or to send the value rather than the variable. Is this possible? To have p evaluated immediately?

I've seen answers that show to do it this way:

for p in range(property):
    property[p].update = lambda s, c, arg=p: DoUpdate( s, c, arg )

But I'm getting TypeError: update keyword: expected a function taking 2 arguments, not 3

Does this solution not work for Blender specifically? Or maybe I am doing it wrong? Does anyone know of a trick to convince lambda to record the value instead of the variable?

This works properly in Blender, since it uses a regular Python underneath. The following example uses a lambda with a default argument in order to evaluate the argument during declaration:

def test(a, b, c):
    print(f'a = {a}\nb = {b}\nc = {c}')

a = [1, 2, 3]
b = 2

x = lambda a, b, c=len(a): test(a, b, c)
a = [1, 2, 3, 4]
x(a, b)

The lambda uses a default argument for the third parameter, which is evaluated right away. The output is therefore:

a = [1, 2, 3, 4]
b = 2
c = 3

c still has the original length of a which was changed after declaring the lambda.

The issue that you're having is unrelated to the lambda though. The update callback is expected to take exactly two arguments. This is checked in the properties (bpy_props.c) through:

if (bpy_prop_callback_check(update_cb, "update", 2) == -1) {
  return NULL;
}

If you can supply a function that takes two arguments it will work properly.


Running with clothes I have created a character with multiple layers of clothing and am trying to make her run with the cloths responding realistically. My issue is that every time she runs, using cloth physics, her cloths all ride up to her midriff. I have weight painted the upper clothing to make them stay still, but can't make the lower work properly. I have maximized the steps and played with the settings to no avail...
I don't know how to put the character up for people to look at... any help would be very appreciated!!

Pinning may be your answer.  Go into EDIT MODE and select some vertecies where you want the cloth to remain, [CTL][G] to group them and under your Cloth Simulation settings in the Physics Tab, select Pinning and the group which you formed.  This will at least keep the spots pinned to the locations where you want them to remain while allowing the remainder of the simulation to flow as normal.  I've used this before and it may require a little playing to get the pinning correct to keep from some weird artifacts forming in the sim, but it should be helpful for you.  If you have to, you may need to add a HOOK to the vertecies you have pinned and parent the hook to your mesh (I don't recall if pinning stays in one selection of 3D space or moved with the animation, therefore the possible use of the hook)


Why is the shading off? I'm making a spaceship type thing and there's this strange triangle that's lighter than the rest of that side of the ship. I haven't applied any materials yet and I'm certain the whole side is flat. Even when I delete the sphere shape it appears. What's going on?

It is hard to tell conclusively without looking at your mesh.
Possible reasons for this kind of shading artifact are:

You may have a non-planar quad. (where not all the vertices that make up the quad are on the same plane)
You may have an n-gon. (despite from the screenshot it looks like a quad)

In either case adding a Weighted Normal modifier to your object should fix the problem.  However if you would like to go a bit deeper into this I would suggest first identifying the issue. (you can share your blend file here, we can take a look)

If the issue is having a non-planar face (quad), there is a Flatten command. (you can go into edit mode and press F3 to search.)
If the issue is having an n-gon, selecting the face in edit mode should tell you in the status bar how many vertices it has.  Probably there are two vertices very close to each other due to boolean operation.


Blender 2.79 crashes when in material view I am running blender on windows 8 64 bit and have AMD Radeon HD 7670M and Intel HD Graphics 4000.
Whenever I try to enter material view on a layer with even a cube, it will instantly close. Other things that cause the file to crash include; texture mode and system tab in user preference.
I have tried using other versions such as 2.79b to no avail. I refuse to use 2.8 or later for this current project, I prefer blender render and am still transitioning to eevee.
All of this started when I updated AMD Radeon.
Here is the file I'm having trouble with, it's for a fan project:

I have downgraded the driver to AMD Radeon HD 7600M and it now works perfectly. I will keep the drivers with that range to prevent further issues.


Smoke Effect Colors Overly Dark and Gray When Rendering with Cycles or Eevee in Blender 2.92 I tried to make a multi colored smoke effect because it looks cool. Unfortunately, this feature only seems to work with Workbench Render Engine while in wireframe view. Indeed, once I try to render with Cycles or Eevee, smoke is dark and gray. I tried to type "color" as some have recommended, but this doesn't seem to help. Here's the blend file in case you're asking: https://we.tl/t-DW0AlOQdOX

The color is there, you just needed some more light. :)
Also, the colors are multiplied by the color input of the Principled Volume node.


Apply same displacement to other object Sorry for this probably noob question, I'm kinda new to Blender.

I displaced the floor using the clouds texture and I'd like to place the wooden path on top of that, without having gaps. How can I make the path follow the same displacement as the floor?
And as a bonus; Is it also possible to make the grass not go through the path?

Thank you so much in advance for your help :))

Sam

add a ground plane and add displace modifier.

add another plane above the ground plane. do not add thickness now. it may behave unexpectedly with next modifier.

add shrinkwrap modifier to the path plane and choose the ground plane as the target object.

add solidify modifier now to give some volume to the path.


how do i achieve this simple text animation? here's this simple text animation in this video that i'd like to replicate but what a surprise i haven't got a clue how to do it and i was hoping someone out there could help a noob out.

Here's the video and the animation is at 0:20: https://www.youtube.com/watch?v=2-6Xz4tWigM

I've tried importing a flat black colour image into the VSE and keyframing the Y axis scale but the black box then appears to be growing form the centre rather than the bottom of itslef (if that makes sense).

And even then i don't know how to add my own font in the VSE, i think i could type my text in the default section of blender but have yet to try.

But my next problem has been how to make the text rise from the bottom of the black box from it's centre.

Apologies if this is a daft question and for the poor explanation its a lot easier if you see the animation at 0:20 of the video.

Cheers for any help!

Here's my Blend file that i'm working from, hopefully that'll help. Thanks!

As commented above and assuming you're talking about "Chapter 26" at around the 20+ second mark -

A problem I can see with trying to do this in the VSE is coping with the text itself. It will be seen rising between the bottom edge of the video and the black box.

Doing this in Blender's 3D window/workspace would be a straight forward job with no problems. To use it again and again, simply edit the text and re-render.

Pretty much all of the elements and where they're needed have been placed into the 3D set/stage and placarded.

All settings needed to produce your overlay video have been preset prior to uploading.  All you need to do is assign your own output folder and path for the output video/image sequence.  DON'T RENDER BEFORE YOU DO THIS!  You could end up with umpteen dozen files sitting somewhere!

To view the animation properly, get yourself into the camera view first, (numpad's Zero key) and then press CTL-A to set it going.  (Don't blink)

As you're already overlaying a background video with text, we'll stick to that plan here and output the result using the "OpenGL" animation render, (top left of 3D window, under "Render")

All settings as setup in the Blend file should work straight off, except for the output folder and your own background video.

The main settings -

In the rendering properties panel at extreme right, set the "Shading" tab to "Transparent".  The Post processing tab's boxes should be unticked for safety until actually using the VSE.

The output folder should be set to one created for this job because there's going to be a host of single-frame files.  You don't want extras in there, causing mayhem!

Set the ouput format to "PNG" and make sure to press the RGBA button at hard right.  You won't have a transparent overlay video otherwise.

What should end up being produced is a sequence of alpha layered video frames in the form of PNG files, ready to import as an "Image Sequence" in a seperate instance of Blender, and it's VSE.  This time the "Sequencer" box should be ticked in the "Post Processing" tab.  This is normally the default anyway on a newly fired up instance of Blender.

Explanatory -  Have a look at the Blender file to see that I've simply laid text, mask, and solid black plane flat near the 'ground', the camera directly overhead and looking down.

An "Inviso" mask moves in unison with the black box/plane and used to conceal the text ascending in the Y axis.  Only those parts that are higher in the Y axis than the mask will be visible.  The text is also placed higher in the Z axis than the solid black rectangle and will be seen to slide up 'inside' the black area.

If desired it can slide down to be concealed again, or using the same
video sequence but within an additional strip in the VSE, the video can be reversed with that button in the strip's properties. (Press N)

As far as dispensing with the text and black box, you're only limited by your imagination.  A simple fade in the VSE would do!

-=============-

'Inviso mask' - This is a term I've adopted for the effect we get in Blender when rendering using OpenGL and giving a 2D plane a material slot with Transparency set to 0.008, Specular set to zero.

When the effect is active, objects and parts thereof that end up behind the mask can be -->selectively<-- rendered invisible.  This is most useful for a variety of applications.

One example -
https://i.stack.imgur.com/mP991.jpg
The smaller cube whilst physically in front of the image can be placed behind some item within the photo by using an Inviso mask fashioned to match the exact shape of that item, such as the tree trunk above.

Another -

This uses inviso masks to hide the outer portions of the 'open parchment'.
A detailed explanation is here -

Reduce Curve Deformation
(scroll down to the post describing a simple 'Parchment Scroll' opening and closing)...

-================-

If you find the mask not working on your hardware, go to the black box/plane's (not the mask) material panel, open it's shading tab, and tick the "Shadeless" box, just for a second or so, untick it again.  For some reason Blender needs a slight kick, get it talking to the graphics card(?).

Run it again and it should be ok

The Blend file -


How do I disconnect two points of a bezier curve? I am fairly new to Blender and I would love some help with this problem. I modeled a bezier curve a couple of days ago, and then wanted to change it.

I know how to connect two vertices of a bezier curve by pressing F to fill it, but how unfill two vertices, such as to disconnect them?

Here are some pictures to help out with my scenario. Picture 1 shows the two vertices I want to fill. Picture 2 shows both the vertices I wish to disconnect. Thanks!

P.s. What is this red line that showed on my curve? (picture 2)

To close a curve (make it Cyclic), select the first and last segments and press Alt+C.

To open a closed curve at the press Alt+C again.

To open a curve at any point that is not the start and end of the loop, select two control points and press Delete (or X) and select Delete Segment


Texture Atlas Tool message ” Not All Objects Are Visible!” I just tried the Texture Atlas Tool and love it, but I also have a problem.

I have 3 layers where when I press "StartManualUnwrap", I get an error message saying: "Not All Objects Are Visible!!!"

I used unhide all (Alt+H) to make sure, but it does not help.

Can someone point me in the right direction?

BTW, all objects have UV maps.

Just delete the existing UV Group in the menue by pressing the minus button. Create a new one, and do the procedure. For me this worked


black cracks/ fragments across multiple objects in final render In my render I have been working on there are multiple objects which have black "cracks" traveling through them, despite not being parented or part of the same mesh.

The normals are not inverted, the texture is procedural, and these "cracks" do not show up in preview render (despite subsurf modifiers having same viewport and render values). Here are some images of  the result:

The chassis has a subsurf modifier, followed by an edge split and a solidify. The tires (an entirely separate mesh being affected by seemingly the same fragmentation) have only a subsurf modifier. Both use smooth shading.

Final Note: These "cracks" only occured after I added keyframes as an attempt to render 4 different angles in a single sitting without having to start the render manually each time. These cracks now occur whether I render a single image without any keyframes on the dope sheet, or as an animation.

Any help in solving this issue would be much appreciated! Let me know if you need any additional information.

It looks like there is some hidden extra geometry being rendered. Make sure you don't have any geometry that is hidden, but with rendering enabled (Alt+H will do).


Rigify issue, cannot move controls I have an issue with rigify, when I create a human armature, and then I click on generate button to generate the controls, and after that I click on any of the curve controls, it always selects the whole thing, as if it's combined or locked, is that a bug? I cannot control anything like that, let alone to skin any mesh with it.

Problem solved, I had to press CTRL+Tab in order to enter pose mode and now I can use the controls finally.


Which pie menus addon to use? I want to use the pie menus addon, but confusingly I have two of them. The second is called "official", and it has a higher version number, but the first one seems to have a lot more hotkeys.

EDIT As I got here only generic answers, I researched and compared them, and here is what I found: the "unofficial" 3d Viewport Pie Menus are a new addon in 2.78, and as of 2.78 they seem to be more powerful than the official ones.

Tab: the "unofficial" is better, because it has an Edit/Object toggle, and most of the time this is what we want. One can also directly jump to the edge/face/vertex selection sub-modes from the Object mode.
Ctrl-Space: the "unofficial" is better, because it has combined widget options
. (pivot setting): the same
Z (shading): the same
Ctrl-Shift-Tab (snap): the the "unofficial" seems more powerful
q (views): the "unofficial" is definitely more powerful, it has not only the views, but options like lock camera to view.
Clip Editor pies: this is only in the official
There are 11 more pie menus only in the "unofficial", all of them can be activated individually, and as the accepted answer says, one can also combine them

More information about the "unofficial": https://blenderartists.org/forum/showthread.php?401789-3d-View-Pie-Menus

The official one, made by Sebastian Koeing, comes with Blender automatically. I think you might have installed the first one manually, since I don't have it.

You could use the first one if you like. Whichever one fits you.


Update list based on external file I am writing an addon to help me manage my multi-file addons.

Its coming along really nicely, but I want it to work no matter what .blend file I have open, so I have it save each project's data to an xml file.

Not knowing that it wouldn't work, I had the panel call two functions, one to update the files for the project, and one to update the xml file. So whenever the UI updated the two functions were called. But I changed something in the 2nd function that actually changed a value in blender and it wouldn't let me because you can't edit blender data from a UI context.

So here is my question:
What is the best way to continually update my list based on this external XML file. I really don't want a UI button to update from xml if possible.

Also, if there is a way for the two functions to be run whenever Blender opens that would work as well.

I ended up using a JSON file. I used handlers to import from the file when it opened just like in this answer: https://blender.stackexchange.com/a/7974/1363


Python, Bool property without Load UI behaviour? I have a bool property. I can save the state of the bool property in the startup file. And it will load in this state when you start Blender.

The problem is when i load a new blend file then this bool gets reset to its default status. Or to the state in which it gots saved to the blend file.

Both is not wanted behaviour. I want to keep the state in which it was saved in the startup file when i load a new file. It is a setting of my addon. It is a bit cumbersome to turn the checkbox on (or off) every time you load a new blend file.

Is there a way to prevent to load the status of the bool with loading a blend file? But just with the startup file?

Examplescript to test the problem. Run it in the scripting layout, turn on the checkbox in the properties sidebar and load a new blend file to see the problem:

    import bpy

class MyData(bpy.types.PropertyGroup):
    checkbox_bool = bpy.props.BoolProperty(name="A checkbox", description="Do this or that", default = False) # Our prop

class CheckboxpropPanel(bpy.types.Panel):
    bl_label = "Checkbox prop"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'

    def draw(self, context):
        layout = self.layout

        scene = context.scene # Our data is in the current scene
        layout.prop(scene.my_addon_data, "checkbox_bool") # Our checkbox

        # Example useage of the bool.
        if scene.my_addon_data.checkbox_bool:
            layout.label(text="checkbox is on")

        else:
            col = layout.column(align=True)
            col.label(text="checkbox is off")

def register():
    bpy.utils.register_class(CheckboxpropPanel)
    #Our data block
    bpy.utils.register_class(MyData) # Our data block
    bpy.types.Scene.my_addon_data = bpy.props.PointerProperty(type=MyData) # Bind reference of type of our data block to type Scene objects

def unregister():
    del bpy.types.Scene.my_addon_data # Unregister our data block when unregister.
    bpy.utils.unregister_class(MyData) # Our data block
    bpy.utils.unregister_class(CheckboxpropPanel)

if __name__ == "__main__":
    register()

There is an AddonPreferences example here. It even has a bool property.

Access this property and display it anywhere like this (for example Panel's draw method):

def draw(self, context):
    layout = self.layout

    user_preferences = context.user_preferences
    addon_prefs = user_preferences.addons[__name__].preferences

    layout.prop(addon_prefs, "boolean")

    if addon_prefs.boolean:
        layout.label(text="checkbox is on")
    else:
        layout.label(text="checkbox is off")


UV Map a logo on an object not showing right I'm just starting out in blender, and I am making a monster energy drink can.  And on the tab, which is it's own object I want to place a monster logo on it.

So Here are the steps I took.. but where have I gone wrong?

Made a seam...

I selected all the inner faces of seam, pressed U and UNWRAP

I added the image to the UV editor screen.

This is what the node editor looks like for the pop tab

So now I resized the mapping in the UV editor

So I went into texture mode and got out of edit mode. Still no results.

Material mode looks like this

So the goal is to keep the green color I have applied to it, but just to add that logo on top..  cant figure this out for the life of me... Any help? Thanks!

Your material doesn't include the texture map at all.  You need to mix it in somehow.  Here's an example where I'm using an image with a solid color:

You need to use the UV coordinates as the vector for a Texture Map, which you'd set to the Monster logo.  Then, mix it with the green color and use that for your diffuse.  Hope this helps!


Alpha over node is including unwanted objects in the image? In this space animation that I'm working on, I would like to composite a blurry version of the planet into the background to create an atmosphere effect. So far I've added a cryptomatte node to cut out and blur the planet only and added an alpha over node to place the blurred planet on top of the black background. For some reason when I view the alpha over node, it also shows asteroids which are not included in the cryptomatte.
The first image shows the environment layer that is attached to the alpha over node.
The second image shows the blurred cryptomatte image that should be placed over the background.
The third image shows the output of the alpha over node which for some reason includes the asteroids.
Am I missing something or is this a bug?
I've tried reopening the scene, and recreating the node setup.
An alternative to the cryptomatte would be multiple render layers but for the sake of render time, I would prefer to not go that route.
(Using 2.83)
Here is the blend file: io.blend

You need to Connect the matte output of the Crytomatte to the Alpha Over Node for it to work as shown in the image. It will get rid of the Asteroids.
Pls pack the textures if you are sending a blend file as the textures go missing as you can see the image.

EDIT
As mentioned in the Comments If you set it up like in the Image you can use Cryptomatte. Also I cleaned up the nodes a bit


Volumetric Shading in Cycles I understand that there is no proper way of doing volumetric shading in cycles yet, but I'm curious to know if there is a way to fake it. Effects such as clouds or fire.

One of the standards for faking volumetrics is using billboard particles. Back in Blender v2.49, I used to use them all the time. I know that Weta digital used billboard particles for smoke in the LoTR movies. I started a thread on blenderartists.org about it. I did a series of video tutorials about it that are listed in the thread. They aren't the greatest video tutorials, but you may find them useful.

Basically, each particle in your system is rendered as a flat, transparent, circular texture. With enough particles, it will look like smoke/cloud. You can even use textured spheres as your particles if a strictly 3D effect is necessary. I talk about using spheres in the third video.

Alternatively, you can render all your volumetrics in a separate layer using BlenderRender. Then, you can composite them into your cycles scene later.

Here is a video with examples


Is it possible to use the output of a Renderlayer in the material nodes of another RenderLayer? Is it possible to use the rendered output of one renderlayer in the materials on another render layer?

How can I achieve this?

Yes, this is possible.

You can achieve this with an Image Sequence Texture node:

Set up two render layers with each layer excluding the other:

Set up compositing nodes so the render layer that is being used to influence the materials renders out to a separate directory.
This is possible with the File Path node:

Render only the influencing layer once to that directory by Pinning  that render layer.
The file will be named something like Image0001.png. Rename it to Image0000.png
Set up the material you want to be influenced.
You can pull in the result of the other render layer by adding an Image Texture node, setting the image to Image0000.png, setting the Source to Image Sequence, and setting the Offset to -1

This is the result of the other render layer.
Render the animation. (CtrlF12, or Info > Render > Render Animation

Here is a simple test with two spheres (one on each layer) and a moving light source:

Keep in mind that with this technique, the two layers are one frame apart.
This could be fixed by rendering the influencing layer completely beforehand, and adjusting the offset accordingly.


Is there an addon for making the timeline BPM-based? I've found one called Rhythm 1.0 but it seems it no longer exists. Anybody know of something similar?

Thanks!

Timeline markers.

Have a vague recollection of Rhythm. To display on timeline Could use timeline markers.

Test script. 180 bpm at 24 fps comes out as 8 frames per beat (fpb). A timeline marker is added at every fpb frames starting from 1. The "|" name can be set to nothing "", or whatever.

import bpy
scene = bpy.context.scene

bpm = 180
fps = scene.render.fps
fpb = 60 * fps / bpm
print("frames per beat", fpb)
frame = scene.frame_start
while frame < scene.frame_end:
    scene.timeline_markers.new("|", frame)
    frame += fpb


Keyboard shortcuts 1,2, and 3 not working in edit mode just updated to blender 2.92 using it on an iMac 2019.
When in edit mode the keyboard shortcuts 1 2 and 3 do not switch between Vertex edges or Face mode.
Do I need to change something in the preferences?
Thanks

Oops. I read the question wrong, I don't know any way to change between modes without doing it manually. Select between the circled things to switch between Vertex select, Line select, and face select. I don't think you can use 1, 2, 3 keys to switch them.


How to make a texture from the view of the camera live (cycles) i am making a security camera and a want the view of the camera to display as a texture on a monitor. How do i do that?

You probably won't be able to make it happen in real-time, you will need to set your security camera as the active scene render camera, then save the rendered video of it. Then set the texture of your tv screen to that of the video. You could get away with doing a lower sample and lower resolution video if you don't get too close to the screen.


simple Help with two bevels and boolean I have a simple shape with a bevel modifier making the edges smooth (using weights). I added a boolean modifier cutting 4 holes in the shape. I want those holes to have a bevel as well (less than the first bevel). I try adding another bevel modifier after the boolean so that I can bevel those edges. No matter what I adjust, I can't get the bevel to work on those holes.

Bevel modifier limited by Weight doesn't work when it's after Boolean Modifier in the modifier stack.
This applies to all edges, not only the new ones.

To bevel edges made by Boolean, you can use Angle limit.


Curtain is making weird moves I am doing this tutorial and somehow I have managed to have my curtain behave very strange. I must have made an error somewhere but I don't know where. I have attached my file.

Cloth simulations like those usually take a few frames to settle.

It is normal that the first few frames go weird on you: the simulation calculates how the mesh behaves with gravity, and how the pinning affects its shape, based on in its physical characteristics. If there are no more forces acting on it, the movement will eventually stop.

You can set the cache to start before your scene (like 200 frames) so that by the time the scene starts the curtain has already settled on it's resting postition.

Other way to have the same result, is just to make your scene start at a later frame, so that the movement is not part of the frames to be rendered.

And one more thing you can fix in the cache section: if your animation is 6000 frames, set the End value of the cache to that frame. Otherwise your simulation will stop at the default frame (which is 250).


Why is part of object's shadow sliced? The object's shadow appears cut when it's moved over certain areas (i'm using blender game engine and GLSL shadows). I've tried flipping faces and that doesn't seem to be the problem.

This is because the shadows are only projected from geometry within a limited area around the sun lamp. To visualize this area, enable Show Shadow Box in the lamp's settings:

This makes the cause much clearer:

The solution is to make the sun lamp follow your character (or camera) so that objects near the view are always within the "frustum".

The simplest way to do this is by vertex parenting the lamp to your model:

Select the lamp
Select the model
Switch to edit mode (↹ Tab)
Select a single vertex
Press ⎈ CtrlP and select Vertex Parent

Now the lamp will follow that vertex's location without rotating:

Projecting shadows is relatively memory and processing intensive, so the smaller this area is, the better. You can adjust the size with the clipping settings:

You'll likely want to optimize the frustum size for what is visible from whatever camera view you end up with, such that the shadow boundary isn't in the foreground and overtly apparent.


How do I select and manipulate a rig? Downloaded this IK rigged model: http://www.blendswap.com/blends/view/72307

Opened it in Blender, but I'm not able to figure out how to interact with the rig. When I try to select one rig/joint, Blender selects the whole rig/all the joints. How can I select one, and only one rig/joint(for instance, the foot)?

I've used Blender for other stuff for a couple of months. I've also animated in other software, so I'm not new to the theory. I just don't understand Blenders interface for using rigs.

You must be in Pose Mode.

Press CtrlTab with the rig selected, or select pose mode in 3D view > Header:


Text render has weird shadows I made a super basic design just a 2 texts with curve modifier. But when I render it (cycles mode) it has weird shadows.

I tried to adding smooth modifier, edge split modifier, increasing sampling changing font and changing lights but they didn't work.

This is happening because text object, being a bezier curve of sorts, is filled with triangulated faces on  the tops. You text object then seems to be curved backwards causing the triangulation to become visible.

It appears to be  actually a problem of lack of subdivisions and bad topology.
This is one of the reasons quad based topology is always preferred, but in the case of bezier curves this is not possible without destructively converting it to mesh.

Make a copy of your text object if you haven't already (keep the original somewhere) and then try converting it to a mesh. Then either add a Subdivide modifier (this alone won't totally fix the problem) or manually remove all the top triangulated faces and try to fill them with a more uniform quad based grid where possible, or ideally do  both, so the curve modifier has more geometry to operate on.

Only then on top of the fixed mesh apply your curve deformation.


Blender texture baking fail I'm new to blender so please bear in mind that I might be stupid with this. But I am making my first object in blender which is a cookie, and I am trying to bake the texture of it into an image, but it doesn't bake the whole texture, only two small parts of the objects colors. I have tried looking up a similar problem but I can't find anyone with the same. Also there is no preview of the object in the image before baking, so I can not see what is supposed to show a cookie, it's just black. I attached a photo of how it looks once it's baked. What I did was, as I've learned, to select the object in object mode, switch into edit mode and bake the texture into a new image. When I look at other people doing the exact same thing they do not have this problem. Please help!

You can download the blend file here if you want to look at it:
https://mega.nz/#!5iJnyLIS!vIOr2gj1Tjh6ikJEfuPeiKTM5YakuR5nZsKJbOKINNM

Regards,
Becca

After finished texture is applied:

First of all, you have to check Selected to Active in Bake properties (Image below). Second, you need to have the plane, on which you want to bake the cookie UV unwrapped (go to edit mode,open UV/Image Editor window, select the texture on which you want the cookie to be baked, press U and choose Unwrap). You also need the plane to be in front of the part of the cookie, that you need to be visible. So in this case, on top/in front instead of bottom/back. Then you need to make sure, that in Distance property you have appropriate number. Looking on your scene, I think that 1-2 would be enough. Next, in object mode, you need to select cookie, then Shift select the plane and press Bake.That should do the job.Also if you need to bake only color, without shadows and lights, choose Textures in Bake Mode.

Here you have shown step by step, what you need to do


How to make grooves without editing geometry I'm trying to cut grooves onto a curved surface without directly editing the geometry.
This is my desired end result that I achieved by Ctrl+B to bevel and E to extrude down (Exactly what I don't want to do).

Is there a way I can do this with modifiers or something like that?
I will occasionally need to edit the fine details of the mesh and I can't do it whilst these grooves are physically preset, and I need them there for reference. I also can't bake a normal map for it because the materials are geometry defined and my change too.
Thanks in advance.

You can add a groove using a boolean modifier.

My process would be as follows:

Duplicate some faces from your original, then separate them into another object.

Scale them down, and extrude out some thickness to get the inverse of the groove you want:

Add a boolean modifier on the first object set to difference, and select the new object as the target:

Then, just hide the second object to see the groove:


Bone chanches it's roll even in Rest Pose I'm doing a rig and faced with the following problem. The bone and it's parent have no any constraints or driver, but the bone changes it's roll even in Rest Pose. I see that at first time.

Here is a screenshoot:

And file: https://drive.google.com/file/d/1WMr0iYCVd6Oq_r9mt8lo9fNM8D6hz3x3/view?usp=sharing

Any idea what's going on?

It's just a display tolerance, probably due to the extra tiny dimensions of the bone, if you tie a mesh to the bone, you wil see that there is no shift, even when the bone display is shifting from edit to pose mode.


Moving objects whilst in animation I would like to make a collision with two objects whilst freely moving once object over the other in real time. Is there a way to do this in Blender?

This isn't possible outside of the game engine, but within the BGE, you can interact with objects quite easily. You can set up your objects in Blender Render, but the physics are a little different in the BGE so it's better to just work in the latter.

Start by setting up your objects and their physics properties. Then open the logic editor and set up either keyboard or mouse sensors for the moveable object (make sure it's selected) and attach the sensors to motion actuators. Set up the actuator's appropriate fields to tell it which way to move the object and how fast. That's about all there is to it. You can now start it as a game by putting the cursor in the 3D viewer and pressing P, then use your keys to move your object around.


Rendering only the highlights of an object in Cycles In the internal renderer, it's possible to turn off the diffuse on a light source while leaving on specular:

which gives the neat effect of only rendering the highlights on an object:

To my understanding, Cycles emulates real world physics in that the object's properties control how light interacts with it and the light itself doesn't play as much of a role. So I'm curious if there's a way to manipulate an object in Cycles so that it only shows highlights of any light source to simulate this effect?

I've seen some questions on the topic of specularity in Cycles, but only about adding it to light sources, not as a hypothetical solo source.

You can emulate equivalent results with Cycles Ray Visibility flags for the lamp object.

To a similar result to highlights you can turn off all components except Glossy for your lamp object.

Have in mind that this will only work on objects with materials with some sort of glossy reflection component. Purely diffuse, transparent, refractive or translucent materials will likely become totally unaffected by that light siurce


Can i use a "Image texture" node as a "colorramp" node? I kind of know how to change a models shading with a color ramp but most of the time I'm in a situation where I have to use a gradient that isn't in a gradient format like png or jpg. i have no way to recreate the gradient with the color ramp. is there a way to make a image texture get recognized as a gradient/color ramp in blender?
no idea if image links work.
i have a model from a game that uses gradients, something i want to do is to bake a texture with the gradient colors so i can use it in other games just in case they don't use gradients(this one game only supports gradients)

This is what the texture looks like.

This is what gradient i want to use, i can only have access to a png format, not something i can even use in photoshop.

Sure.  If you have an image describing some gradient, you can use a texture lookup in the exact same way you'd use a colorramp:

This technique is actually pretty common with some old game techniques.


How to make 2D animation object appear/reappear at specific keyframes? (Blender 2.8) So I'm trying to make an animation with text appearing at a specific frame, but I don't see a visibility option I can animate.

I managed to somehow make text appear at a specific frame, but I haven't since been able to reproduce it.

To put simply: I want an image/text/grease drawing/anything to appear on frame 20, then disappear on frame 40.

Blender 2.80 still has the same functionality for animating the visibility of objects. By default the outliner now has a simplified display but the visibility options can easily be shown in the filter options menu.

Also the visibility options are now available in the object properties, where keyframes can easily be created.


Are bpy_extras.object_utils.object_data_add created mesh objects relative to the global origin or cursor location? I trying to dynamically create meshes using the python API and it seems that coordinates are relative to the cursor location instead of the global zero point?
Is this correct? And if so, is there a way to make blender do it relative to (0, 0, 0)
Code:
_mesh1 = bpy.data.meshes.new(name='testing_mesh1')

vertices1 = [Vector((a, b, c)) ...]
edges1 = [(0, 1) ...]

_mesh1.from_pydata(vertices1, edges1, [])

bpy_extras.object_utils.object_data_add(context, _mesh1)

Simple test in python console
Run a simple test. Put the cursor at some known scene location, and add an object using the bpy_extras.object_utils.object_data_add method. (Simply pinched a mesh from the active object cube)
>>> C.object
bpy.data.objects['Cube']

>>> me = C.object.data
>>> C.scene.cursor.location = (10, 10, 10)
>>> import bpy_extras
>>> ob = bpy_extras.object_utils.object_data_add(C, me)

>>> ob.location
Vector((10.0, 10.0, 10.0))

Hence without any operator passed, uses the scene cursor. btw the python source is readily available, and could check thru scripts/modules/bpy_extras/object_utils.py to confirm
To make it zero location, rotation and unit scale
>>> ob.matrix_world = Matrix()
>>> ob.location
Vector((0.0, 0.0, 0.0))

Check the docstring
For a quick run down check the docstring in the python console
>>> bpy_extras.object_utils.object_data_add(
object_data_add(context, obdata, operator=None, name=None)
Add an object using the view context and preference to initialize the
location, rotation and layer.
:arg context: The context to use.
:type context: :class:`bpy.types.Context`
:arg obdata: the data used for the new object.
:type obdata: valid object data type or None.
:arg operator: The operator, checked for location and rotation properties.
:type operator: :class:`bpy.types.Operator`
:arg name: Optional name
:type name: string
:return: the newly created object in the scene.
:rtype: :class:`bpy.types.Object`

Use in conjunction with an operator
is designed to be used in conjunction with an add object operator in which case transform settings are taken from the instance of the operator.  Often also used with AddObjectHelper class, as demonstrated in Text Editor > Python > Templates > Add Object  and in this example https://blender.stackexchange.com/a/160995
Using a decorator
An example of wrapping a decorator around the imported method to set the new object created to a transform of our choosing.
import bpy
from bpy_extras.object_utils import object_data_add
from mathutils import Matrix

def location_decorator(matrix=Matrix()):
    def decorator(f):
        def g(*args, **kwargs):
            ob = f(*args, **kwargs)
            ob.matrix_world = matrix
            return ob
        return g
    return decorator

object_data_add = location_decorator()(object_data_add)

me = bpy.data.meshes.new("Foo")

ob = object_data_add(bpy.context, me)

or if using with an operator that has a location property, but we wish to make it default to scene origin (or another transform) when not set then
def location_decorator(matrix=Matrix()):
    def decorator(f):
        def g(*args, **kwargs):
            op = kwargs.get("operator")

            if op and not op.properties.is_property_set("location"):
                op.location = matrix.translation
            return f(*args, **kwargs)
        return g
    return decorator


How to have collection where collection origin is not world origin? I'm trying create a set of modular 3D pieces in one blender file that I can use to build scenes.  My idea was to create a single file with the modular pieces and then create a second blender file that would link to them to create the scene.  Because I need to export my scene as glTF, I need to import the pieces from my first file wrapped in collections (if I just import the object, the glTF exporter ignores any transform I make to the linked object).

I have carefully set the pivot points of my model pieces so that they can snap together easily.  Unfortunately, if I put an object in a collection and that object is not at the world origin, when I import it the linked model includes the offset from the origin in my source file:

I can solve this by moving the model to the world origin, but that causes another problem - now all my model pieces are overlapping each other in a cluttered, unworkable mess.  Is there a way for me to link to my model pieces without having to move everything to the world origin?

Seems like there is a way to do it.  Once you add your object to a collection, you then move the 3d cursor to the place where you would like the origin to be, go into the Properties/Object Properties/Collections panel and then select Set Offset From Cursor from the drop down menu.


Camera rendering not what is in view i'm trying to render out different angles on this planet but when i move the camera and render the scene the objects are in  different locations relative to where they are in the viewport. Has anyone had this issue before or know how to solve it?

This is the viewport

and this is the render result

This is the viewport

and this is the render result

Viewport orientation is not the same thing as camera orientation. When you render, your viewport orientation is always ignored in favor of your camera orientation. Also, while you can have more than one camera in a scene, only one can be "active" at any time, and only the "active" one renders.  "Active" is not the same thing as "selected," since you can select a camera without activating it. If you look at the camera itself, from within the 3D View, you will see a small triangle on its front side, revealing its "Up" vector. This will be filled in black if the camera happens to be active, and not filled in at all if it is not active. This becomes a quick, visual way to know. If you look in the Outliner window for any camera, and uncollapse its children nodes, and click on the item indicated by the green camera icon, which appears directly beneath the original version you first clicked on, this will activate that camera. Once activated, hit Ctrl-Numpad0, and your viewport orientation will switch to that of this newly activated camera. If you render now, you will see a rendered shot consistent with that of your current view. Though it won't be exactly identical in any case, and I understand that this is normal behavior.


Can blender game engine detect if a character is falling and play an animation? so I have a character in bge and I want to play an animation of him falling when he falls. I've tried using a collision sensor and enabling invert, but whenever the character jumps, it plays that animation, instead of the jump animation. I also have an always sensor connected to the idle animation, and the game engine just plays that instead of the fall animation.
Any help is appreciated! Thanks!

Edit:
Is it possible to detect the velocity of the character and play the fall animation when greater than a certain value?

KX_GameObject.worldLinearVelocity

On a Physics object the Z-axis of the coordinates would be negative.

As static objects do to move (via Physics engine) this attribute will remain (0,0,0). This will be the case on physics types Static, Occluder, Sensor, Navigation Mesh, Character. This is a bit strange as this types (except Static) have not really much to do with physics (it is more a purpose type). Changes in location (which is basically a teleportation), can only be tracked by recording the previous position and comparing it to the current one.

Here is an example:

import bge

PROPERTY_LAST_POSITION = "last.position"

gameObject = bge.logic.getCurrentController().owner
currentPosition = gameObject.worldPosition
lastPosition = gameObject.get(PROPERTY_LAST_POSITION, currentPosition)
gameObject[PROPERTY_LAST_POSITION] = currentPosition.copy()
positionDifference = currentPosition - lastPosition

isFalling = (positionDifference.z < 0)

controller = bge.logic.getCurrentController()
for actuator in controller.actuators:
    if isFalling:
        controller.activate(actuator)
    else:
        controller.deactivate(actuator)


Wrong topology or just UV viewport's artefact? Strange artefact in UV map view. Some "ghost" faces.

The faces that contain rounded cut are in the same plane. So I decided to leave N-gons because of flat plane.

The texture and MatCap looks good.

UPDATE

Finally I decided change topology to proper loop cuts. So UV map strange artefacts have gone.

Looks like some of your vertices are over-scaled on the Y (yellow).

It could also be from vertices that don't have an edge.

Try scaling down on the Y (yellow arrow below)


How do I add Floor mouldings with Archipack Pro in Blender 2.8? I am using a July 22nd build of Blender 2.8 beta. I am using Archipack Pro. I found this video: https://www.youtube.com/watch?v=MKH5scLVlC0 but it looks like it's an older version because mine looks very different.

I have selected the walls, but I cannot find the create curves-> Mouldings panel.

This is how their screen looks:

This is how mine looks:

I might be overlooking something obvious, but the documentation is not the greatest and some of it is out of date now or just nonspecific enough it's difficult to figure out what needs to be done first. https://blender-archipack.gitlab.io/user/archipack%20objects.html?highlight=molding This is where the documentation mentions it, also with something called "slab"

You were nearly there.

For automatic flooring and molding etc. you need to click on the Archipack tab and then on the wrench. All that with your walls selected of course.

More generally speaking Stephen hangs out on BlenderArtist if you have questions. I agree that the documentation and the tutorials are lacking in general principles.


How to make a sky environment map? If I have a scene that I want to add a bounding box to that makes it look like it is outside during the day. In the past I have just added a big UV Sphere to my scene that surrounds the entire scene and added a texture that looks like a sky. This is a bit clunky and it can appear that the sky is too close and it makes it look fake.

Is there a better way for me to create a background for my scene? Is it possible to make an environment map for the sky? I am using the default Blender renderer.

To add an image as your world background, you need to set that image as a texture input for the world object. To do this, add a texture to the world by selecting the world object in the Outliner, then selecting the 'Textures' tab of the Properties panel and adding a new texture. Go to the Preview submenu and select the world tab, so that you are editing the global texture. Finally, under the type of texture, select 'Image or Movie', and select the image you wish to use.

For a more detailed description of the subject, go to http://pages.uoregon.edu/art3d/composite/composite25.html.


the armature doesn't move the mesh and i can't unparent the mesh for it to work I'm trying to rig a model that i didn't make in Blender (I made it in the game Spore). This is my first time trying to rig something.

But when I try to parent the armature to the body, it doesn't move the model in pose mode, and it's probably because the mesh is parented to the body, but no matter what I try, the mesh stays in the body and iI can't parent the armature to the mesh.

I tried unparenting it by alt P and doing clear parent, but it does nothing.

It won't let me drag the mesh into the collection either, and if I try to drag the armature into the mesh, it only lets me put it under body and it still doesn't work correctly in pose mode.

How do i unparent the mesh and get the armature to connect to the model properly?

here is the blend file if it's needed

https://drive.google.com/open?id=1qNtb9bRdrOd5NVWW2QlNPMqM1l0gL_r5

You have vertices overlapping. In Edit mode, select all the vertices and press AltM > Merge By Distance. Play with the value in the Operator box in the bottom left of your 3D view (but the default value is ok). The parent With Automatic Weight. You'll have to make some corrections though.


How snap PlayHead to start or end of strip in NLA Editor? How snap PlayHead to start or end of strip in NLA Editor?

Using PgUp and PgDn will cycle through the beginning and end of strips.


Object Mode in 2D Animation Colors Disappeared I was trying to do a 2d animation in loop with a tutorial last night, it's my very first time in blender.
I drew some grease pencil objects, colored them and they also have lineart. But in some point, when I was at object mode, colors suddenly disappeared and I just see the lineart. I guess I clicked something wrong but I don't know what I did.
When I try make another object and color it, the same happens. And if I change modes from the panel next to the overlays.

I see only colors and not the lineart.

Your 3D view is set to Wireframe mode. You can change it to any other mode (Solid, Material Preview, and Rendered) in the topright of the editor. You can also use the shortcut SHIFT + Z to toggle between Solid / Wireframe mode.


Script - remove multiple material slots - Blender 2.8 I have object with 600 material slots in exact order(to maintain the material IDs when exporting to 3Ds max via fbx). But sometimes the materials are duplicated and I get eg 1200 material slots in one object (eg if I merge two objects with different material names). In this case I need to remove last 600 material slots, but it's quite impractical. But unfortunately I have no knowledge about python scripting and its syntax.
So, can someone help me with creating some simple script? The only thing I found out is that I probably need to call commands like "bpy.context.object.active_material_index = 599-1199" or repeat command for delete last material slot 600 times
I tried to use Material Utilities for resolve my problem, but unfortunately without success.

This script will delete the n_to_remove last material slots of your active object in reversed order (from the last material slot down).

import bpy
o  = bpy.context.object
ms = o.material_slots

n_to_remove = 3 # Change this number to decide how many material slots to remove
for i in range( len(ms) - 1, len(ms) - n_to_remove - 1, -1):
    o.active_material_index = i
    bpy.ops.object.material_slot_remove()


How to share shaders among different materials In order to model a better quality Earth without distortion at the poles, I decided to use a cube, subdivide it 3 times and then to-sphere it. It works much better than a UV Sphere and than an Ico Sphere for the same reasons. All the faces are squares of similar size and if you use a cube projection, you will have no distortions and best texture quality.
As the material properties of the ocean and the continent are different, I used a Principled BSDF shader for each one and mixed using a texture of the ocean mask.

My problem is that as I need 6 images, one for each side of the cube, I duplicated the same material and just changed the texture. But if I work on the shader of the ocean, only one side is affected.  I want that all sides share the same ocean and continent shaders since only the texture is side dependent.

How can I do it?  Thank you in advance for any hint.

Textures are assigned by face, to make the ocean all one texture you would need to make one for the ocean, then make all ocean faces that material. If your contents were on one texture with the water areas alpha, then you could make one for the ocean, then overlay the contents over the ocean.
It may not be hard to edit your map image in a program to make an image with the contents and alpha water.


How to Add driver to modifier SimpleDeform-angle by scipt python in blender 2.8 I create script , that script add object, now i create, a modifier , and i want to simulate “Swinging” but i can not understand how it can be done,does anyone know how I can do? :

bend = object.modifiers.new(name="bend", type='SIMPLE_DEFORM')
bend.deform_method = 'BEND'
###noob example:
bend.angle.driver_add("sin(frame/20)")

Consult docs or other questions on how to add a driver

Here is your "noob" code edited to add a driver. Select a mesh object and run script.

It so happens that the current context.scene.frame_current is known to the driver namespace as frame so no driver variable need be created.

import bpy
ob = bpy.context.object
bend = ob.modifiers.new(name="bend", type='SIMPLE_DEFORM')
bend.deform_method = 'BEND'

fcurve = bend.driver_add("angle")
driver = fcurve.driver
driver.expression = "sin(frame/20)"

Also remember that angles when scripting are natively in radians.  2 pi radians = 360 degrees.  So at frame 20 the angle of bend will be sine of 1 radian (or around 57 degrees.)  Use sin(radians(frame) / 20) if frame is expected as degrees.


How to combine multiple hemispheres into a single smooth mesh properly? I am making an object which is made by combining one big hemisphere and four small hemispheres. Here is what I've done:

As you can see, one of the small hemispheres merges well with the big hemispheres while one merges not too properly.

Here is the mesh:

This is the post I followed to make the object.

I made three spheres (one large sphere and two small spheres) first, follow the instructions to combine them, cut the upper half of the object and apply a mirror modifier.

However, when I tried to use Damped Track modifier on the second small sphere, the modifier align them in a way which the first small sphere overlaps with the second one. I think this is because I set the Damped Track Contraints to be Z for both small sphere, but if I set it to be other directions, the mesh will become what I've made above, which the second sphere cannot merge well with the big sphere.

Please help and I appreciate all the kindly assistance.

did you try "Auto Smooth" feature:

I tried to reproduce your problem, here is the result without Auto-smooth:

And with it, set with a 30deg angle:

I tried to play around with individual Edge sharpening without success.


How make loop to append text blocks Stuck on making this a looped subprogram

Hi folks,
I'm new to this, so I hope I'm asking the correct way and in the correct place. I tried to scan this forum for answers, but couldn't find help. Basically, I'm trying to take the node tree shown below and make a simple loop to keep me from having to create another list element each time I add a text block.

Any suggestions?

Loop over the text blocks, get their texts, append them to a text list, join them as you wish:

To get a list of all text blocks, you can use this piece of code:

[text for text in bpy.data.texts]

Which you can possibly filter in anyway, for instance using the Filter Text Block List:


Local variable referenced before assignment in script node? I am doing a little project using animation nodes and I used a script in the node tree but it keep saying "Local variable referenced before assignment",I used global before the variable and it say "Syntax error".

My code is just as simple as :

if Bool == 1 :
    Always = 1

here is my node:

So what am I doing wrong?

The problem is that you don't assign a value to the 'Always' variable in all cases.

AN takes your code and makes a function from it that is executed by the Invoke Subprogram node. The generated code looks like so:

Line 16 throws the error here because you haven't used 'Always' before.
You can fix by changing your code to something like this:

if Bool == 1:
    Always = 1
else:
    Always = 0


Reflecting a ray (of light) in bge? I'm working toward a system where the player can bounce a ray around toward a target using mirror objects. Essential to this process will be making the ray reflect properly.
Essentially, I thought it would be best if I simply added an object at the ray hitPosition that would emit a new ray. This adds the object, but not in the right orientation. Is there a way I can have the game engine calculate which way the new object should face?

I want to make the new ray reflect at a equal angle (when bisected by a perpendicular of the mirror face) to the angle that the ray came in on.

this, and .rayCast() should set you right

vector.reflect(hitNormal)
http://www.tutorialsforblender3d.com/GameModule/MathutilsModule_5_4.html


Why is Blender 2.8 messing up my colors in Texture Paint/Image Editor? Not sure where I'm going wrong with my texture painting, or if it's just a bug that keeps happening in various iterations of Blender.

I set a fill color, and use that to fill my space for the base-line color. I use Sample, and I set it to Mix Mode (it doesn't matter if I Sample from the Image Editor or the 3D View), with the Brush strength at 100%. It lays down a darker color than the color I sampled. I switch to Add mode, and now it's lighter.

Why is it doing that? The Sample is exactly the same color. I even go back to Color Picker, create a palette with my base color, and use Fill, which works fine, but the Brush tool (using the palette color, no Sampled color) apparently doesn't want to match the color already applied, or it wants to Darken/Brighten the color.

If it's a problem with 2.8, fine. It's making me think I'd be better off using something like Krita. Yeah, it'll take longer, but it'll get me better results, I'm starting to believe.

Information Edit: For those curious. I was using the Workbench renderer(?), with Flat Lighting in the Shading pop-up menu (Lower Right corner of the 3D View). Current overlays are default (navigation, active mesh, active tool, etc.). It's a Principled BDSF material, if that alters anything?

Update: I ended up creating a new .Blend file and just moving my work to it, and now things work. This isn't exactly a -Fixed- issue, but I have the original file saved and will keep it around to mess with settings until I figure out what's wrong. Once the solution is found, I'll post it in a "Final Update" in the original post.

Had a similar problem and i noticed that on the image editor side, look at the properties tab and make sure there is no set texture then it will work normally.


Animating blood dripping down surface of mesh Can anybody please point me in some kind of direction for animating blood/tears/whatever dripping down the surface of a mesh? Maybe particularly the "correct" method a studio would actually use?

I've tried a few approaches now that all fail for one reason or another. Dynamic paint in vertex mode doesn't look good/can't figure out how to do it over an existing texture/requires adding >9000 subdivisions to still look bad.

Dynamic paint as image sequence seems like it would be the would be the way to go when I use it on a plane but when I try to do it on a characters face it just makes a tiny little splotch that doesn't move with the brush at all.

Someone suggested texture paint but I have this weird problem when I try to paint on an existing texture where the color shows up black and white and doesn't appear in rendered view- a problem that can only be mitigated by painting on a solid color and plugging the image texture in afterwards. More importantly than that I don't see how I can record my brush strokes to make the thing actually animate.

This seems like such a basic thing that it's impossible to find information on?

I think it depends by the style you are looking for. In my old Tarantella animation (the very last scene), I used a mesh deformed by a shape key. https://www.youtube.com/watch?v=C_R3QssuG9g


Translate/Rotate/Scale helpers I'm coming from (a long time ago) 3dsMax. It had this really handy ability to provide transform helpers and you could select parts of them. For example the translate helper was an XYZ "cross" with colors, and you could click and drag the XY plane for example to constrain movement there.

I've noticed that blender doesn't have these, so moving edges about when preparing to extrude can be quite difficult, is there a better way?

you have many options for transformation manupilatoion :

Keyboard :

press  G or S or R for translation, scale and rotation
chose the axis constraint X or Y or Z to limit the transformation on that axis
to limit the transformation to a plane you simply exclude the remaining axis, ex: to move on the XY plane press G than Shift+Z

Mouse :

select the appropriate manipulator in the 3D view
click and drag along any axis

while holding the object you can trigger the axis constraint by midle mouse click and rotating to that axis :


Problem with Boolean Difference Overhang I continue to be challenged with boolean difference. This time I have used the 3D Print add-on. It is telling me that there is an Overhang Face. In edit mode I select "Overhang Face: 1". It shows me the face and I don't understand why it is overhanging.

Note that I have already attempted to clean things up "Remove By Distance" and have done other cleanup.
Here is file

I understand it can take awhile to wrap your head around it.  I create all my 3D printed models using Blender 2.91.  The Boolean operator has been greatly improved using the exact and self options (Although the Fast option will work with this model just as well)

1st) The overhang is just the bottom face. Should print just fine not sure if your printer will require supports for the hole though.

2nd) Animation of doing Boolean - Difference with your object.

3rd) Animation of overhang location and how to find it.

4th) If you want to display the hole during edit mode you have to enable it or apply the modifier)

5th) Exported to slicer note: not sure if your printer will require supports for the hole or not.


How to add a new matter for physics in blender ? (aluminium, titanium etc.) I couldnt find a way to add matters to blender. I need it for calculating object mass. When i do calculate the mass, blender appears me some options to set the matter (iron, brass etc.) and of course there is a "custom" option. How can add my "custom" matter to that list? I dont want to choose custom every single time i do calculate...

As you can see, there is a matter list that comes with blender. I wanna add my custom matters to that list. So i'll be able to select my own matter quickly...

Extra menu script.
AFAIK there is no simple way to tack extra material / density pairs to the operator enum. It is however quite simple, via scripting,  to add a menu of extra options.

Quick slap together proof of concept using Templates > Python > UI Menu Simple  Material "Foo" has density 12.0, "Bar" 0.01,  etc.
import bpy

extra_mats = (
    ("Foo", 12.0),
    ("Bar", 0.01),
    ("Goo", 11),
    )
class SimpleCustomMenu(bpy.types.Menu):
    bl_label = "Extras"
    bl_idname = "OBJECT_MT_simple_custom_menu"

    def draw(self, context):
        layout = self.layout
        for name, p in extra_mats:
            op = layout.operator(
                "rigidbody.mass_calculate",
                text=f"{name} ({p})"
                )
            op.density = p
            op.material = "Custom"

def draw_menu(self, context):
    row = self.layout.row()
    row.operator("rigidbody.mass_calculate")
    row.menu(SimpleCustomMenu.bl_idname)

def register():
    bpy.utils.register_class(SimpleCustomMenu)
    bpy.types.PHYSICS_PT_rigid_body_settings.prepend(draw_menu)

def unregister():
    bpy.utils.unregister_class(SimpleCustomMenu)
    bpy.types.PHYSICS_PT_rigid_body_settings.remove(draw_menu)

if __name__ == "__main__":
    register()

    # The menu can also be called from scripts
    bpy.ops.wm.call_menu(name=SimpleCustomMenu.bl_idname)