Is it possible to combine shape key values from different objects? I have several objects in the scene, each of them has few shape keys. All shape key values change simultaneously with the same value. Every time I need to keyframe the animation I have to go to every object and keyframe each shape key's value. Is there a way to somehow make these values bound? So, if I change one 'master' key shape value, the rest of the key shapes in other objects change the value as well.

Yes, you can definitely do this with drivers. Here's how:

In this first image you can see that I've created 2 spheres, each with a Basis shapekey. Sphere 1 has a second shapekey called Sphere1Key, which changes the sphere to a fatter shape. This key is animated (keyframed) from 0 to 1 over 50 frames. You can see the value field is green due to the keyframed status.

The second sphere also has a second shapekey called Sphere2Key, which deforms the sphere in the same way.

For the Sphere2Key shapekey, I have right clicked on the value field and selected Add Driver.

With Sphere 2 still selected I open up the Graph Editor and switch from F-Curve Drivers mode with the dropmenu in the toolbar.

You can see in the left panel that the Sphere.001 is selected and I've also selected the Value for the Sphere2Key shapekey.

Now we just have to map the value from the first sphere's shapekey to this one.

To do this, press N to bring up the right property panel. In the Drivers area we want these settings:

Change type to Scripted Expression.
In Expr, add a variable name (I've used getSphere1KeyValue)
Click Add Variable button
In the variable name field paste in the name from the Expr box above (getSphere1KeyValue)
Change the variable type to Single Property
Change the Prop type to Key
Change the selected Key id block to "Key" or whatever the name of the id block for the keyframed data for the Sphere1 shapekey value is (The available values list automatically when you click in this field. If you're not sure what it should be you can select Sphere1 and the switch to the Dope Sheet and find it there).
Enter the RNA path to the sphere 1 key value into the Path field. You can get this value by right clicking on the Sphere1Key field in the
shapekeys panel, and choosing Copy Data Path.
The value for the Value field in the Driver panel should now update
when you scroll the timeline back and forth.
If the Sphere2 shapekey doesn't respond, you may need to click the
 Update Dependencies button in the driver panel. You should then see
 the Sphere2 shapekey copy the Sphere1 shapekey keyframed values in
 synchronization.

Note: you may notice in the gif that the numbers in the Value field are not changing while the animation runs. This is simply a UI display issue, the actual values are changing, as evidenced by the shape change in Sphere.001. If you hover the cursor over those fields you'll see them update.


Why is Density not showing up as a source option for my Voxel Data? I am following a tutorial and I am working on smoke right now. However, it will not render due to the voxel data not having Density as a source option even though I followed the tutorial. This is my screen:

This is the tutorial's screen:

And yes, I do have a Volume material on the domain object.

The options for that setting were changed in 2.65, which was part of the addition of fire.

In older versions like in the tutorial, only smoke data was used to define the density of the volume, with the addition of fire, there are now two sources. Previous options of Density, Heat, Velocity were changed to Smoke, Flame, Heat, Velocity.

If you are only simulating smoke then use Smoke instead of Density. If you have fire and smoke, then you can create a texture for the fire data and another for the smoke data.


How to remove visible seams between joining objects I have a single object that i have separated into many objects due to sizing issues (level of detail/triangles bla bla) and since separating them there are now seams between each new object in blender.

here are some examples:

https://gyazo.com/10a8c9008a8419b6499ac17f865e06d9
https://gyazo.com/ed704c4f3d8463b0fb7c1d476940c507

How do I get rid of these. I know it's do-able, however I have not done it in, many a year.

Cheers

As someone mentioned in the comments, this is caused by how normals are calculated for each mesh you split off. The normals at the vertices along the edge of your split meshes are now pointing in slightly different directions. To fix this, transfer the normals from your original un-split mesh to the parts you split it into. You can do this using the Data Transfer modifier.

Comprehensive steps to fix:

Create a copy of your original un-split mesh and place in the scene. You can hide this mesh.
Split your original mesh into the pieces you want.
Add the DataTransfer modifier to the split pieces with the following settings

Source object - this should be set to your original un-split mesh copy
See screenshot for other settings


There is a delayed lag when texture painting in 3D can anyone explain this type of weird lag? (Smooth at first, then after 2 sec my computer fans start to spin and lags begin)
(texture painting)
(doesn't matter how small the brush size is)
https://i.gyazo.com/a332e2f73f5009af1a48f8574d398aa3.mp4

This lag is normal, the thing is to paint in the UV image editor, directly on the image texture, and not in the 3d model, that way it has no lag.


How to get realistic coloring on quick smoke/fire in blender? I'm relatively new to blender simulations and have been working with quick smoke and fire. Try as I might I can not get the color of the fire right, and have found no videos/tutorials explaining this. This is not a problem with how to use blender, I am just asking if anyone knows the best way to color realistic fire in Cycles render.

This is the node setup I used for this scene. You don't have to copy the exact colors I used mess with it to get the right color.

Also I recommend Blender Guru's camp fire tutorial.


Camera follow object and then stop in place I would like the camera to follow an object. At frame 300 the camera should freeze at its current position and stop following.

I tried using Copy Location constraint (with offset) on the camera. At frame 299 is a keyframe with Influence 1 and at frame 300 is a keyframe with Influence 0. As a result, the camera jumps to its original position instead of staying in place. The same problem is with Child of constraint.

I also tried to use Transform driver for the camera with the object target. It makes a hard copy of the location (visible in Properties panel) during the animation. But I have no idea how to tell the driver to stop changing camera's location at frame 300 and leave these values as they are.

Yes, you can't animate that, stop using the constraint and keep its transforms. You can do it by hand, using the apply menu, but that is not animatable, imho.

You could do this differently: create two empties, and animate them in a way that they have the same movement until a point, where one stops and the other goes on until the end.

Then parent the target object to the last empty, and the camera to the first.

This is how it works:

If needed you could add a tracking constraint on the camera to keep focus on the target object, even after it stops.


Why does Blender crash when I append this group? I have made a group composed of four mesh objects and a curve object. Two of the objects have array modifiers, one has a mirror modifier. I have tried several times to import it to another file, and Blender crashes every time.

This group was first built as part of a larger file, that I then decided to split up into a set of assets. The group was first created in that larger file. When I tried to append it in a new file, Blender crashed.

Lazily, I decided to simply delete everything in the larger file that wasn't in that group and save it as a separate file, but then when I decided to append the new asset file in something else, Blender crashed again.

I found that there was data for several other groups in the file, so I selected everything, pressed Shift-Ctrl-Alt-G, and deleted the objects from all groups. I saved the file, closed it and reopened it, and set up a new group. Then I tried to append the group again, and Blender crashed.

So I opened a new file, appended the objects for the group, and created a new group for them, and saved that. I tried to append that new file's group to another file, and Blender crashed.

Appending other objects works fine, including ones that also have mirror and array modifiers. I can't see anything wrong with this file. How do I solve this problem?

Blender 2.78c running on Ubuntu Budgie 16.10.

[I am working on Windows but it was also crashing here.] You have an object called MiddleMirrorPipeHolder that is a child of ParabolicMirrors - but - you also use MiddleMirrorPipeHolder as the mirror object for ParabolicMirrors. I believe that is confusing Blender. Removing the parenting will allow you to append your model. I suggest you use an empty as mirror object.


BGE: trying to connect many nodes with lines, but would prefer bezier splines instead of straight lines This was touched on here:

Render a Bezier curve in the game engine

I am trying to make what amounts to a 3d mind mappijg program, but in reality is a multi-data type conceptual mapping took bringing together authors, citations, keywords, Geographic location (as well as time) etc. The idea is a big project, but it would be skimmed way way way down for a proof of concept.

Question: There are times where i would like to use render.drawline, and other times I would like that line to be a bezier curve. Is there anyway to do this without the curve being a mesh object (imagine having a thousand?) Should the same be done with straight lines?

You could use the bgl module to draw the curves from a Python script. You can use mathutils.geometry.interpolate_bezier() to compute intermediate points (depending on scale etc.). Not too sure about the performance, though.


Python: empty cache before rendering? We have an animation where particles are emitted from a plane, using a PNG image texture as a density influence.

When rendering through the Blender GUI, if the PNG texture is changed and the animation replayed, the new texture is used as a density influence and the simulation renders correctly.

However, when rendering a single frame from the command line and using a Python script to change the PNG logo, the density influence does not get updated. As a consequence, the new PNG image will display, but the particles will emit as if the old PNG texture was still in place.

Looks as if we need to explicitly tell Blender to empty its cache(s) - from Python. Does anyone know how to do that?

Thanks!

Found a solution, which has nothing to do with caching:

The animation displays a PNG image (texture) which will be replaced by particles that then disappear. The image seems to be dissolving.

To change the image dynamically, a Python script assigns a new PNG to the texture, with bpy.data.textures['Logo'].image = IMAGE.

What was missing was to also update the texture for the particle emitter. This can be done as follows in Python: bpy.data.particles['ParticleSettings'].active_texture.image = IMAGE

Without updating the particle emitter, the visible image would change, but the particles would still emit from where the old image was.


Rotating face downwards I am trying to rotate a face downwards so that it looks like this:

I have not been able to do this by the R and any Shift+Z or X, Y or Y command.
This is just a fake screenshot where I moved the vertices manually, to demonstrate what it should look like.

Thank you.

I have uploaded the model here:
http://www.pasteall.org/blend/37734

Rotate using the 3D cursor as a pivot

With Shift+S you can snap the cursor to the geometry. Than set the Pivot to 3D cursor and rotate on the wanted axis.


Combine F-Curve Modifiers with baked Sound I have a Particle System on a grid with an X Velocity of 200 and a Tangent of 60. The Tangent has a keyframe with a sound baked to the f-curve.

The problem is the Tangent get set around 1 instead of 60. I want the sound curve to modify the 60 by a factor around 1.25. That way the Tangent moves between 60 and 75. Also I want more particles to be emitted when the sound is loud.

Add an envelope modifier to the baked fcurve to remap to your desired range.

Another way, and one I use extensively in my sound drivers addon, is to bake the sound to a custom property prop, then set up a driver , SCRIPTED EXPRESSION type, with the baked property as a variable (SINGLE_PROPERTY type) var  datapath '["prop"]' and make the expression 60 * var.

(var and prop are only suggested names for example case)

To add and bake a property, choose the object you are going to bake on, open the "Custom Properties" Panel, add a property, key in a number, make it a float type (eg 0.0) and then add a keyframe. Select and Bake to Sound from the graph editor as you would any other property.

You can see the datapath on the active fcurve properties panel N used for the datapath of the driver variable,  or use the copy data path on mouse menu of the custom property field, and paste  into the datapath field of the driver variable.

Go one level further and add another custom property and use it in the driver as the multiplier, then you can change the amplitude of the baked fcurve effect directly from a slider in the UI.

To make it easier I have put together an addon, Sound Drivers.

This post is also relevant to  What's the range of values on a sound-baked f-curve? .


Why Does Blender Distort UV Maps By Default? I have a simple question: why does Blender distort UV maps by default?

To illustrate my question, here is what Blender does with a UV map of a very simple mesh of a wooden barrel:

And here is what you get with a similar mesh in (I think) Maya:

The difference is staggering: the one in Maya is nice and clean with no distortion and, more importantly, full use of the available texture real estate, while the one in Blender is distorted and with a lot of "dead space."

Why does Blender do this? How can I get a normal UV unwrapping with isles that is not distorted and uses all or most of the available texture space?

I have tried conformal UV unwrapping, but other than a slightly smaller distortion it was the same awful unwrapping.

It depends on the model you have as well as the UV deployment method you have chosen, and where you have marked your seams.

The following is documentation on the general workflow of UV unwrap and its use in industry https://conceptartempire.com/uv-mapping-unwrapping/

Here is a blender tutorial on how UV works https://www.youtube.com/watch?v=Y7M-B6xnaEM

In this other tutorial you will see more advance UV workflow of blender https://www.youtube.com/watch?v=L3654VGZObg&feature=emb_title

Notably through the use of add-ons simplifying life by integrating tools to optimize the UV space(Tex tools, UV Packmaster...).


How do I fade music in and out using Blender? I am creating a youtube intro and I cannot figure out how to fade music in and out using Blender. I do not know how to do much with this program and I am not literate with this type of program. Can anyone explain in extreme detail how to fade music in and out??

I trust your  using the video sequence editor in Blender? Load your video strip and sound/music strip into separate channels. Select the music strip press the N key to access the properties panel on the right hand side of the screen. Under the Sound tag you'll see a Volume slider. If you wish to fade the music in at the start, go to frame 0 and set the volume to 0 in the slider. Hover your mouse over the slider and press the I key to set a keyframe. The slider background should change colour, colour depends on your Blender Theme.

Now go to the point on the time line say frame 60 and set the volume to 1 or what ever level you would like at this point and hover the mouse over the volume slider and press the I key to set another keyframe. The music will fade in from 0 - 1 over these frames.

Fading out is the reverse process, go to where you want the fade to start; make sure the volume is level 1 hover over the slider and press I to set a keyframe. then go to the end of the clip set the volume to '0' and set another keyframe.

Note if you don't set the key frame to 1 near the end of the clip the volume will fade from the first keyframe set to 1 at the beginning down to 0 for the keyframe at a the end.

Hope this helps.


How to Unwrap project from view with script? I was trying to make a importer/exporter and place a UV mapping operation in the middle. my only issue is that when I try to a unwrap_project_from_view it gives me null results.

what is the correct way to unwrap_project_from_view a mesh in from a top view with ortho??

My current progress:

import bpy

# Variables
obj_file = "D:\\HUD move left\\OBJs\\HUD Move_Left Grey_000172.obj"
dae_file = "D:\\HUD move left\\DAEs\\HUD Move_Left Grey_000172.dae"
hud_object = 'HUD Move_Left Grey_000172'

# Import OBJ
bpy.ops.import_scene.obj(filepath=obj_file)

# Set active Object
object = bpy.data.objects[hud_object]
bpy.context.scene.objects.active = object

# Search for 3D Area on layout
for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        space_data = area.spaces.active

        # Change to Edit mode
        bpy.ops.object.mode_set(mode = 'EDIT')

        # Unwrap (!!! NOT WORKING YET !!!)
        if bpy.ops.uv.project_from_view.poll():
            bpy.ops.uv.project_from_view(orthographic=True, scale_to_bounds=True)

        # Change to Object mode
        bpy.ops.mesh.select_all(action = 'DESELECT')
        bpy.ops.object.mode_set(mode = 'OBJECT')

        break

# Export DAE
bpy.ops.wm.collada_export(filepath=dae_file)

# Delete Mesh in Scene
bpy.data.objects[hud_object].select = True
bpy.ops.object.delete()

I bumped into the same issue and finally solved it!
you just need to have a 3d viewport opened with your desired view and run this script:

import bpy

for obj in bpy.context.selected_objects:
    bpy.context.scene.objects.active = obj
    bpy.ops.object.mode_set(mode = 'EDIT')
    bpy.ops.mesh.select_all(action= 'SELECT')
    for area in bpy.context.screen.areas:
        if area.type == 'VIEW_3D':
            for region in area.regions:
                if region.type == 'WINDOW':
                    override = {'area': area, 'region': region, 'edit_object': bpy.context.edit_object}
                    bpy.ops.uv.project_from_view(override , camera_bounds=False, correct_aspect=True, scale_to_bounds=True)
    bpy.ops.object.mode_set(mode = 'OBJECT')

Hope I helped you!

Cheers!


Is there any way to group meshes in a single model to make animating parts of that model easier? so I have 2 large parts of a single model and lots of smaller parts that I want to eventually animate using keyframes and I would like to put each part in it's own group to control them easier.

I know ctr + G makes a group which looks like this:

But I can't do anything with it... when I right clock on it and hit "select" it says "not implemented yet"

Do I have do install something to get this feature to work?

Are there any other ways to group parts of a model for easy selection?

Also on a side note I'd love to be able to "isolate" these groups so they don't accidentally combine or attach to other parts of the model.

You can work with Vertex Groups which you created in the Vertex Groups panel in the Mesh data tab:

Here you can select and deselect them, rename them, delete them, assign vertices etc. When it comes to animation, you'll propably want to use an armature. Armatures can contain bones, which can be animated (so they contain the keyframes), and by using vertex groups you can tell Blender which vertices to move and how much as soon as you move a bone.


Best approach of joining a horizontal and vertical pipe together where one is curved? So far my only progress has been to do Face > IntersectBoolean (union). The intersections at these bending corners do not merge very well and after searching I haven't made any progress. Is there a better/effective way to clean up the jagged corners?

I have meshMachin3 and machin3tools installed if that helps (I still don't quite understand how to use them).

Thank you in advance.

Used shift+n to recalculate normals if you have not, then in object mode add bevel modifier and select as "limit method" in the bevel options as "weight" instead of none.
It looked fine for me with two size pipes with different subdivisions, even on 1 bevel.


Applying glare to selected color only I have a scene setup in Cycles that contains multiple light emitting objects on a single layer.

Is it possible to apply glare only to blue colors without having to move these to a separate layer or assigning them a special material id?

The "correct" way to do it would be to have the material to emit more than 1 in value and set the threshold so that the rest gets cut off. But I don't know your setup so here is another way to do it:

Change the color of the image to filter out other colors than blue. Feed that image into the glare node and set Mix to 1. This will create an image with only the glare. Add-mix the original image with the glare.


How to load older versions of a blend file? Is it possible to load earlier versions of a project? I generally use the same project for the same type of occasion and in an earlier save I had something that I wanted to use again.

Is it possible for me to load older project saves?

By default blender will save 2 old versions whenever you save the blend file. That feature is what makes the .blend1 .blend2 flies. Read the bottom of gandalf3's answer here, for more info on the persistent save feature. The .blend1 will be in the same folder as the blend file it is a backup of.

However if you do not have a backup blend, there is now way in blender to get back to a edit that has been saved over.


Why is my light shining though my object when the smoke is on? Does anyone know why my lightsource is visible though this object? It ony happens when i apply the smoke! i am using the eevee render. Best regards, Daniel there is a link to my file underneath the pictures
https://www.dropbox.com/s/alm6e5w9gj9ucs0/TextC.blend?dl=0

Smoke is made up small particles, gases and water vapor. Water vapor
  makes up the majority of smoke.

When light passes through smoke, it reflects off these particles into the camera. That's why you can shine a light/laser beam through mist/smoke in real life and get the same effect.

See https://www.youtube.com/watch?v=fU6JNGxfxnY

Edit:

According to the Blender manual here:

  Clip Start:
  Distance from the light object at which the shadow map starts. Any object before this distance will not appear to cast shadows. Clip Start will only appear for point, spot and area lights.

  Contact Shadows This type of shadow exists to fix light leaking caused
  by bias or shadow map undersampling. It uses the depth buffer to find
  occluders (just like Screen Space Reflections). However, just like
  Screen Space Reflections it has the same limitations, namely, unknown
  object thickness and effect disappearing at screen edges.

Unfortunately, no matter how much I played with the light settings, I couldn't get rid of the lighting issues. I thought that maybe it was the holes in the mesh that was causing the issue, but replacing the light housings with inset cylinders didn't work either.

I found a solution, but its just a makeshift coverup for the issue. The result is shown below:

And here's the secret behind the scenes madness:


Basic Interface 2.8: How do I get Shader nodes in view to be centered and large on first click? I have a project with multiple objects.  I work on the project for a while, save it, quit blender, reopen it etc.  I click on an object in the viewport and open the Shader view and cannot see my shader nodes.  I have to scroll out until I see my tiny node setup, then I have to center it and zoom in.  Is there some simple basic way to tell blender to open the shader nodes so that they generally use available visible real estate by default?  It's a small issue but irritating.

Press the Home key to put all the nodes in view, press the period key on the keypad to center on a selected node.

Also, if you're on a mac, you might check this: How do I emulate the Home key on a mac laptop in Blender?


How to model a wavy chair? How can I make a wavy chair like this?

A curve with a curve bevel object would produce this shape with lots of control.

The bevel object is the cutaway side view of a slice of the chair. The chair curve is the overall shape of the chair.


Josefin Sans Font not working and glitching in Blender 3D even 2.9 I need to work on a logo animation, it's just letters with the google font "Josefin Sans".
I have this glitch, i tried with more resolution preview samples, to change the offset, but it's still buggy.
Can someone help please ?
Thanks

TTF fonts are a bit buggy in Blender. You have two options.

Use another font. OTF fonts work better in Blender. This is a good option if you have a lot of text
Or convert the text to mesh and merge misplaced vertices manually. This is good if you have only a little bit text. You can convert text to mesh in Object Mode from Object menu under Convert To and by selecting Mesh from Curve/Meta/Surf/Text.

You can merge vertices in Edit Mode by selecting the vertices you wish to merge and by pressing m. This will give you options of how you want to merge them. In this case Merge At Center seems like a good option.

After this you can select vertices and press f key to fill missing faces. 4 vertices at once should be fine.


Class Method as Application Handler I'm trying to use a method of my class as application handler for when the scene's frame is changed. For that I'm using bpy.app.handlers.frame_change_pre.append(my_handler). My approach is the same as described on the Blender documentation with the difference that my function is a method of my class:
import bpy
class MyClass(object):
    def my_handler(self, scene):
        print("Frame Change", scene.frame_current)
my_object = MyClass()
bpy.app.handlers.frame_change_pre.append(my_object.my_handler)

However, I am getting this error message:
TypeError: my_handler() takes 2 positional arguments but 3 were given
When I do my_object.my_handler(bpy.data.scenes[0]) I correctly get the frame number whenever I change the keyframe.
Where am I going wrong?
Why does the function get 3 arguments passed?

Add the depsgraph.
Since 2.8 most handlers take both a scene and a depsgraph argument, the latter is generally a kwarg.
If set up as a simple function this is fine
import bpy
# test clear
bpy.app.handlers.frame_change_pre.clear()

def my_handler(scene):
    print("Frame Change", scene.frame_current)

bpy.app.handlers.frame_change_pre.append(my_handler)

However if using a method of some instanced class, the way blender is wiring this up under the hood requires the extra argument defined for depsgraph. (Even if it is always None in FCPre)
Code below, same result as code above.
import bpy
# test clear
bpy.app.handlers.frame_change_pre.clear()

class MyClass(object):
    def my_handler(self, scene, depsgraph):
        print("Frame Change", scene.frame_current, depsgraph)

my_object = MyClass()
bpy.app.handlers.frame_change_pre.append(my_object.my_handler)


Texture after modeling is very light? Ambient occlusion with photoshop I'm trying to reproduce a model from a youtube tutorial. I'm currently trying to texture my model using photoshop. I've unwrapped my model successfully, but now when I paint the UV islands and load the image into blender, my textures/colors don't have the desired look, and I'm unsure why. It appears that they are very light. I believe it has something to do with how I baked my ambient occlusion image?

Here's the ambient occlusion image with all the layers in photoshop in the tutorial

Here's what mine looks like in photoshop

Here's his model textured in blender in the tutorial

Here's my model texture in blender

I set the sampling in "world" to 20 like he did.
This happens for every color. I tried just straight black and it turned pretty light gray.

Can anyone help?

Fixed it! I had to change the blend mode on both my AO layer and my UV layer to "Multiply" in photoshop. I had only changed my AO layer to multiply, but the UV layer needed it as well.


How can I make a more realistic glass shader? Here's a sample scene:

A room with a window, a point light to project light into the room, an HDR environment outside the room and a nice Image by Rembrandt that should be somewhat reflected on the glass:

Using a standard glass shader on the window, the direct light from the lamp does not shine into the room, regardless of how bright that light is. So I can't recreate the impression of hard day light, with clearly defined areas of light and shadow.

Adding a transparent shader to the glass shader I get a very pleasing result. The light from the lamp illuminates into the room creating defined shadows, transparency seems unaffected, to see the HDR in the background, the refection seem correct to me (I also like how I get double reflections from the thick glass).

Even though I am quite happy with this solution, I've gotten a few comments on making a setup with light path nodes controlling the mix of transparent and glass. The biggest issue is that the reflections on the glass are brighter than what they should be.

So the question is: By using this approach am I messing up any of the qualities of glass? And if so, what would make a proper glass shader that is realistic, in terms of letting direct light through, while keeping reflections, refraction and transparency?

A file to play with:

The HDR image used was created by GiantCowFilms

This has been answered before with a very clear explanation here.

Using the Shadow Ray and Reflection Ray trough a Math/Maximum node to combine the glass and transparent shaders.

I'll just post the node setup here, maybe someone will find it useful.


Toggle 'deform' bone property for all selected bones I'm a total beginner at coding and I'm having some troubles with my first script.

I copied the main structure from a script that toggles layer visibility for some bones from a rigging course I did at IHMAN 3D School. Now I'm trying to tweak it to fit my needs.

Aside from a quicker access to some Armature functions via Toolshelf, I want to be able to set all the selected bones to Deform=True/False at once with a button. I marked the line I wrote to accomplish this.

The script as is now goes as follows:

 import bpy

 class dwarfButtons(bpy.types.Panel):

    bl_space_type = "VIEW_3D"
    bl_region_type = "TOOLS"
    bl_category = "Rigging"
    bl_label = "Dwarf Rig Layers"

    @classmethod
    def poll(self,context):
        if(bpy.context.active_object.type == 'ARMATURE'):
            return(True)

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

        row.label("Edit/Display options:")
        row = layout.row()
        row.prop(context.active_object.data, "use_mirror_x", toggle=True, text="edit: x mirror")
        row = layout.row()
        row.prop(context.active_object.data, "show_names", toggle=True, text="names")
        row = layout.row()
        row.prop(context.active_object.data, "show_bone_custom_shapes", toggle=True, text="shapes")
        row = layout.row()
        row.prop(context.active_object.data, "show_axes", toggle=True, text="axe display")
        row = layout.row()
        row.prop(context.active_object, "show_x_ray", toggle=True, text="xRay")
        row = layout.row()
        row.prop(context.selected_bones, "use_deform", toggle=True, text="Deform OFF") #THIS LINE

def register():
    bpy.utils.register_class(dwarfButtons)

def unregister():
    bpy.utils.unregister_class(dwarfButtons)

if __name__=="__main__":
    register()

I don't totally know what I'm doing yet. I discovered what functions to call trough the info panel and quick searches through the Python API.

In edit mode select the bones you want to change and press ShiftW (on windows) and you get "Toggle Bone Options" -popup. There you can alter the deform option for all the bones selected.

Tested with Blender 2.75


How can I move an object along a path without it falling through? I'm trying to make R2D2 move along a path on a curve, but I'm having trouble making sure he conforms to the physics and shape of the path.  As you can see in the screenshot, it's hard to make him adjust to the shape of the path without sinking into it or floating over it due to the height of the curve and the difficulty in matching it to the path's shape exactly.

EDIT:

This is what happens when I parent R2D2 to the empty in the .blend provided.

Okay, here is what I did.

First I deleted the Rigid Body world and the curve you created and unused Empty's.

Then I selected your ground (and re-named it Ground). in Object Mode I applied Scale and Rotation press CTRL + A. In 'EDIT Mode' I selected the center Edge Loop and De-Selected the few vertices the fell over the edge of the road.

Then I duplicated the the selection 'SHIFT + D' and separated it from the mesh press "P" > Selection.

Then selected just the first vertex of what was the selection and pressed 'SHIFT + S' > Cursor to selection. Tabbed into Object mode and set the Origin to the 3d Cursor.

Then selected the new mesh that was duplicated earlier applied rotation and scale just out of habit. Tabbed into Edit Mode and Then selected just the first vertex of what was the selection and pressed 'SHIFT + S' > Cursor to selection. Tabbed into Object mode and set the Origin to the 3d Cursor. Next convert the mesh to a curve. I re-named it Curve.Path.

Then pressed SHIFT + C to send the cursor to the center. Next select The Ground mesh and the Curve.Path and press SHIFT + S > Selection to Cursor.

Now select just the Curve.Path and Tab int Edit Mode. select the first vertex and press "W" > Switch Direction to flip the Normals. Also, 'SHIFT + S' > Cursor to selection. Tab into Object Mode and de-Select everything.

Then add an Empty 'SHIFT + A' > Empty. Add an Object Constraint > Follow Path. Choose the Curve.Path as the Target.

Select the Curve.Path and in it's Data you can animate it's Evaluation Time.

EDIT:

Check off 'Follow Path' to have the empty stay perpendicular to the path.

*I'm not sure all the steps here are necessary but I was being conservative and new it would work.

**This .blend contains only the Curve.Path and the Empty to keep it small. You can append them to your file if you choose and of course you'd need to parent R2D2 to the Empty.


Project from view multiple times from different angles I'm having a problem finding out a way to project from top view and the side view so I texture better. It just replaces the current projection with the top view

So is it possible to project from view twice on the same image?

It sounds like this is what you are looking for unless I misunderstand the question.

Once you've unwrapped everything once you can then use -> UVMapping -> Project From View on selected faces without changing what has already been mapped out.


Creating pockets using bmesh/python I'm trying to figure out how to create a pocket using bmesh (Python Console). The regular workflow to create the example below could be as follows —

Add a Cube in Object Mode, tab into Edit Mode and select an arbitrary Face. Then, use the following steps —

Extrude the selected Face
Scale the selected Face
Extrude the selected Face again
Translate the selected Face

The question is how to create the same result using bmesh? To get started in the Python Console,

import mathutils
import bmesh

me = bpy.context.edit_object.data
bm = bmesh.from_edit_mesh(me)

Let's just extrude an arbitrary Face and continue from there

f = bm.faces[2]
d = bmesh.ops.extrude_discrete_faces(bm, faces=[f])
f = d['faces'][0]

Now f refers to the extruded Face. The next step is to scale the extruded Face. To keep things simple, let's assume the normal of the selected Face is parallel to the x-axis. The following code only works as intended if the cube is centered around the origin

bmesh.ops.scale(bm, vec=mathutils.Vector((1,.5,.5)), verts=f.verts)

because bmesh.ops.scale() seems to use the global (world) coordinates. Is it possibible to use local coordinates instead?

Another option might be to use bmesh.ops.inset_individual(), though unfortunately it does not create the 4 trapezoid Faces.

The last two steps are straightforward, just another bmesh.ops.extrude_discrete_faces() followed by bmesh.ops.translate().

This seems to work, in edit mode (for the simplicity of example)

import bpy
import bmesh

obj = bpy.context.edit_object
me = obj.data
bm = bmesh.from_edit_mesh(me)

face = [bm.faces.active]

bmesh.ops.inset_region(bm, faces=face, thickness=0.4)
bmesh.ops.inset_region(bm, faces=face, thickness=0, depth=-0.5)

bmesh.update_edit_mesh(me, True)

Regarding bmesh.ops.scale(), it takes a space argument which is a matrix to base the operation on. If you are comfortable generating matrices then that's probably enough, but if not then see this snippet.

Template can be found at TextEditor->Templates->Python->Bmesh Simple

import bpy
import bmesh
from mathutils import Vector, Matrix

# Get the active mesh
me = bpy.context.object.data
bm = bmesh.new()   # create an empty BMesh
bm.from_mesh(me)   # fill it in from a Mesh

bm.edges.ensure_lookup_table()
bm.verts.ensure_lookup_table()

e = bm.edges[0]

mid_invert = (e.verts[0].co + e.verts[1].co) * -0.5
edge_matrix = Matrix()
edge_matrix[0][3] = mid_invert[0]
edge_matrix[1][3] = mid_invert[1]
edge_matrix[2][3] = mid_invert[2]

factor = (0.5, 0.5, 0.5)
bmesh.ops.scale(bm, vec=factor, space=edge_matrix, verts=e.verts)

# Finish up, write the bmesh back to the mesh
bm.to_mesh(me)
bm.free()  # free and prevent further access

I'm almost positive that there is an easier way to construct the space matrix, given a simple 3-vector, rather than my verbose approach.


How to maintain per-node instance state? My question is about maintaining per-node instance state without the use of Properties. I though that standard Python instance variables would work, but it looks to me like a different node instance is invoked for each execute(). I see the use of properties in the existing nodes, but is there a way that I can use Python dictionaries instance variables instead? Thanks.

Generally it is not a good idea to store the state of a node in Animation Nodes. The execution of a node should not depend on the executions before. This is also important because nearly all nodes have to work inside of loops - so they can be executed many times with different input in the same node tree execution.

Beside that I agree that it is sometimes useful to store some information (cache data etc.) which cannot be stored in Blenders properties (bpy.props). You cannot use the python dictionary of a node as you noticed. However, it is possible to create a dictionary in the module (file) that contains the node. You can use the identifier of a node (myNode.identifier) as key in the dict. Animation Nodes ensures that each identifier only exists once. The disadvantage of this approach is that the data will not be stored in the .blend file. For eg caching that is no problem though.

This is a 'problem' that is caused by Blender. Animation Nodes (or other addons) cannot change this behavior. Personally I don't care that I can't use the instance dictionary. Maybe it is even better the way it is because so we cannot confuse the data that is stored in the .blend file and other variables.


Rotation Value ist not the same as given in the driver output I am just trying to set up a dynamic circular array of objects. To keep it as dynamic as possible, I want to make my helpers empty z rotation driven by a driver. The Scripted Expression looks like this:  360/count while count is the count value set in the arrays modifier on my object.

The final value calculated in the driver is correct.(45 in case I have a count of 8). The actual value set in the rotation property is different. See the Screenshot below.

Am I missing something?

While all angles entered into the transform input field are interpreted as degrees, when you set the value in a script or driver it's interpreted as radians.

Your driver sets the rotation to 45 radians which is about 2578 degrees. The expression 2*pi/count should provide you with the desired angle.


Cursor barely visible when editing mesh I wonder if there's any way to change the cursor's appearance or size. I guess not, I couldn't find anything (there used to be a couple of checks in Preferences but not since 2.8 I think), but just in case, I'll leave this here.

Thanks,

EDIT: Yes, I especially meant the crosshair cursor, and I'm on Linux (adding this new information here according to the guidelines because of the first answer I got, thanks anyway).

I don't know if I was blind before, or if this was added with the latest update I got (2.82.7), but now on Preferences->Display there is the "Large Cursors" checkbox (and there's also the Line Thick picker). So problem solved.


Live, real time video, compositing onto a virtual studio Is there a way to use Blender and (say) a 3d virtual "tv studio", together with input streaming from a camera into the application in real time?

So, from a physical camera > USB input > here I am available in Blender as a stream of data by

My interest comes from a desire to create a live stream "tv studio" where the studio is a CG model and the actor is in a green screen studio.

You can do this after the fact, but unless you're running a supercomputer, Blender probably won't be able to keep up with the live feed.


How to do support loops to combine smooth, curved surface with hard edge So time and time again I come across a problem with shapes like that one below, where the smooth faces are ment to keep the curvature but the extruded bits shoud have sharp edges and blend seamlessly at the top last face with to curvature.

But I'm unable to route the support loops in a way that would gime me a clean surface without pinching
Below are few of my failed attempts at this:

Using Bewel weight:

This topology works:

Same with 3 edge loops:

if you need a sharp horizontal edge:


Material Instances with Animation Nodes How can I create a material instance with the instancer in animation nodes?

I have animation nodes creating instances of an object. I change their position based on which object they are, which works fine, because each object has its own position information.

However, I am changing the colour of the object, based on which object it is. This does not work, because it only creates an instance of the object, not the material. therefore, the colour ends up being whatever the colour of the last object was (the last value in the line to be changed to).

Here is an illustration of what I am doing.
Can anyone help?

Edit: There was an answer for this instance, but if anyone knows how to create a material instance with animation nodes, please share. Thanks!

At present the method is not to create instances of the material, but to vary vertex color per object.
Assuming cycles render, cycles allows per object info on the same material as: random, obj index or vertex color.

(For Blender Internal render, there are other methods, it allows object color etc)

Imitating your case, a basic setup looks like this:

instance the object
make sure you have "deep copy" so that each object has a different mesh, (like shiftD manual copy in blender)
color/set vertex color to set vcolor for each object
in cycles use attribute to get that color per object

(note that you don't need to create the vcol before, the node creates it or takes the first existing one)

There are other methods for this simple example. But generally it's better to vary this data than:

having to manage 100 materials only to change a color.
using object index, that may be used in other places, render layers etc
switch 2 materials only for ks for this limited case of pure switch

Also, vcol allows more variations of the color, using combine color node (hsv) to vary hue or any other complex rule.

-

Here's an example that uses object index (pass_index) as 0/1 to switch things.
But this parameter can very well be used in other places and only works with integers (0, 1, 2...100, 200...).

It is not the best. Still, you may need to use this if the object is not a mesh, but a curve or text.
(On texts there are other specific methods too, but for this simplistic switch it's ok)


Soft bodies going through each other? I'm making a simulation in blender where a lot of objects fall in a plane and they work fine, it's just that when I join them and I check the "Soft body Self Collision" option some of them bounce but some of them go through each other as if nothing was changed. I have to say, though, that some of the ones that do this are copies of themselves. Maybe that affects.

Anyways, I'll send the .blend file. The one I'm sending has no collision between soft bodies.The file.
Thanks for reading!

Turn on Collision for each of the softbody object so they interact with each other.


Need help with modelling a Juice Spout Pouch Blender noob here! Just started learning how to use blender a week ago and I am having troubles creating a mesh of a juice spout pouch with the left, top and right sides sealed, I did one using a plane and mirroring and extruding the edges, but the mesh is a mess and I cant create the bottom of the pouch so it is just a hole.
What I have:

The edges are actually a big mess because I used a plane and mirror, then extrude it, so there's some volume, but the sides are supposed to be sealed together and thus have no discernable volume (I hope this makes sense). It looks somewhat fine from top down camera angle but I want to know how to actually model this correctly :/ I also attached 2 images of meshes that I am trying to achieve! It's from a model on cgtrader, I can't figure out how to achieve that. Thank you so much for the help! *TLDR: Is there a better way to model this than plane > mirror > extrude edges? Can't seem to get that bulgy rectangle in the middle with flat, sealed edges at the sides.
What I want:

You can select the bottom edge loop by going in Edit Mode with  Tab, and choose the edge select mode.
Then select an edge from the bottom while holding down the Alt key, and press  F to fill your bottom.


Cycles Render: How to remove accidental gloss/wet? I'm still a newb to Blender and even more to Cycles Render but I have a model with mapped textures with nodes set up for transparent textures as well.. however when I make the model Smooth and change from Blender Render to Cycles Render I get on the left side this effect of gloss(?) or wet(?) like in the screen below.

What do I need to do to get rid of off this effect?
The .blend file of the model

Unless misunderstood what you mean it looks like a basic normal problem. All you have to do is recalculate normals to make them all consistent.

Just enter edit mode select all faces of your model and press Ctrl + N


Fluid simulation fluid either pass through effector or it floating above the effector I used a plane as an effector, if I do not check the "is_planer" the liquid will pass through the plane, if I check that option, the fluid just floating above the plane, I can not manage to understand the internals why the fluid will pass through the plane, can someone explain to me and how to fix it.

No, it's not newbie-friendly ;) I was about to write an elaborate answer, but most of the things are quite easy to find out by testing some settings. If you enter a Surface Thickness value (greater than the domain's resolution), you won't need to check Is Planar to make the plane "detectable". If you enable Is Planar it even works with a Surface Thickness of 0.
However, the distance between the fluid and the plane is dependent on both, the domain's resolution and the Surface Thickness (if  > 0). Which means the fluid floats above the surface no matter if the thickness is equal or greater than 0. Thickness will not be added on either top or bottom but around the plane. If you rotate it by 90° so it stands vertical, fluid will keep a distance on both sides (and even on the top edge). By the way: using Is Planar and Surface Thickness will result in even larger gaps than using only one of these options.
Since a plane has a thickness of 0 but all settings to make it affect the fluid will result in strange looking invisible borders, it is best to really use a cuboid with a real thickness instead of a plane. And this thickness should at least be slightly larger than the domain's resolution to work properly.
Here's just a few comparisons between using Is Planar or Surface Thickness and the influence of two domain resolutions, 32 and 64 - which are both quite low for a good simulation. On the left side the plane is horizontal, on the right it's vertical (gosh, now it's an elaborate answer after all):


How to weld a vertex onto an edge So I'm making glasses because that's what I decided to make (still learning so making simple objects) and ran into this problem. I have no clue how to put these vertices (I think they're called) onto the edge here. Is there any way to merge, or weld them onto it?

Add another edge loop in the crossbar piece (the top of the glasses) and move that edge loop near the vertices you are trying to join. So you'll something like this

|           |         |
*-----------*---------*
           *-*
           | |

Becomes this:

|          | |         |
*----------*-*---------*
           *-*
           | |

For more on adding loop cuts, click here

Then merge the vertices using Alt+M.

Which becomes this:

|          | |         |
*----------*-*---------*
           | |

For more on merging : click here


Using a driver to control two shapekeys but triggering the second shapekey when the bone hits a certain value I'm trying to use a single bone to control a blink on a cartoony character it's normally pretty simple but for this I need the eyelids to disappear at a certain point like when the eyelids are completely wide open.
Right now I have a bone simply driving the shapekey value of the blink from 0 - 1 but I need it to trigger a second shapekey when the bone hits a value of 0.8 or 0.9 so the second shapekey can hide the eyelids by shrinking them down. Not sure if there's a way use the expression box in the driver panel to do this.

You can do it if you add a driver to the second shape key.
The first driver:
max(min(var/0.8, 1), 0)

The second driver:
1 if var>0.8 else 0


Outliner locked me out, layers highlighted green, and many layers are hidden cant unhide I accidently did something to my outliner that I can't find or figure out how to undo.
All of my layer trees are gone except one but all objects are in the 3D viewport. I also can't do anything in my outliner except go into edit mode for the visible layers and toggle their 3 options.

All layers are highlighted green.. I can't contract the layer trees that are visible and the other layers are there but are invisible.
I know they're there because when I go to object in properties, the drop down menu shows all my layers that are hidden from the outliner.
When I select one of those layers or object I mean, the outliner doesn't show the layer for that object. What does layers highlighted green in outliner mean?
I want control of my outliner back, how do I undo this?
thank you

There aren't any layers in Outliner, it shows object datablocks present in your scenes (in this case in the parented hierarchy).

Highlighted in green means results of the search:

Above green highlight shows everything which fits letter "M" in the search (which can be anywhere in the word).

Remove the search keywords and search filter won't be applied anymore.

Aside from that some objects in your scene are set as non-editable (White Arrows to the right from the object datablock name), which means they will be visible but not selectable. You might need to turn them on for further editing.


Add shortcut for Merge Last, and Merge First The area I am trying to speed up is when you press AltM and then click "At Last" or "At First". I would like to set up two buttons that when pressed would merge "At Last" or "At First".

The first step is to find out what command is being called when you
merge 2 vertices. You can find that out by doing a merge, then checking
the info window at the top. You can see me do this in this GIF:

From here, I know the command I want to activate is
bpy.ops.mesh.merge. Now all I have to do is map a shortcut to this
function. This can be done pretty easily without scripting.

Go to File > User Preferences > Input > 3D View > Mesh
Go to the bottom and click Add New.
Click the drop down next to the "none" label for the shortcut you
just added.
In the text input box where you see "none" written, change it to say
mesh.merge.
At the bottom you should see a property show up that's grayed out
that says "At Center". Click that drop down and change it to "At
First".
Use the buttons on the right side of this dialog to make the shortcut
that will activate this function. In my example below, I have decided
to use Ctrl Alt M

Be sure to save user settings if you want this shortcut to be active every time you open Blender.


How to determine the angles between bones using a Python Script? I want to calculate the angle between 3 points, the two ends of the selected bone and the centre of the thigh bone using a python script.

I have tried multiple methods but I am not able to figure out how to find the coordinate of the 3 points mentioned and then the angle between them using python script. Please help.

The angle between two vectors.

For example sake the triangle ABC is the three points in space A, B and C. where  B and C are the head and tail of the active pose bone  (context.active_pose_bone).

The point B is the mid point of head and tail of bone named "Bone". (Edit to match your bones name)

Will use mathutils.Vector.angle(vector) to calculate the angle.

import bpy
from math import degrees
context = bpy.context
ob = context.object
# middle of thigh
tb = ob.pose.bones.get("Bone")
B = (tb.head + tb.tail) / 2

# the active pose bone
pb = context.active_pose_bone

A = pb.head
C = pb.tail

# angle AB BC
alpha = (A - B).angle(C - B)
print(degrees(alpha))


Change hotkey for pivot point The default hotkey for median point is Ctrl + ,  and I want to change it for just ,(comma).

How can I do that in Blender? I did not find this shortcut in preferences?

In the key preferences you can search by key-binding. For some reason these parameters names are "Context Set Enum", but I swapped the first two and it worked for me.


Do procedural textures save render time and memory? After watching several videos on how to make procedural textures I'd like to know if it's worth the effort.

So far the benefits of procedural textures I always hear and read is their infinite resolution like a SVG image, it's not rasterized. The other big advantage is that it's not as memory consuming as image textures and thus Cycles can use the GPU for big scenes again if all textures were procedural generated.

But how about render times? I mean at the render the procedural textures have to be rasterized at some point for proper path tracing if I'm correct.

Does loading the procedural textures increases render times or consume more memory depending of its rasterized scale? (like on an object that is very close to the camera, where a rasterized texture would be like 8192x8192 pixels to show the details)

this is a great question!

Procedural textures made in Blender do take quite a hit on a render's speed, as well as the memory that is used. This obviously scales with how complex the texture is, so it's difficult to predict exactly how much the texture will slow it down.

Unfortunately, I don't know the technical details of how procedural textures are computed during a render, so I can't help with that. Maybe someone with more technical experience knows the answer :^)

In general, here are my experiences on the matter. It's normally efficient enough that for general usage you can go ahead and mix noise to your heart's content. If you have very large procedural textures, (let's just go with >100 nodes) it might be worthwhile to
use Blender's baking functionality to bake them to images. This would be much more important if you plan on doing animations, because the extra time on a single frame get compounded with every other frame that the animation uses.

So ya, I'd say it's generally good! Just know that you can bake them down to images if you plan on doing an animation or something.

I hope this helps, and good luck!


Rendering into video with Blender in Python, frames to video Im trying to render directly from a python script in Blender, and I almost got it.
But there is no information on how to do it in the docs.

Actually, the code I got so far is from here
With the following code, the script will render your blender scene into a series of images:

for scene in bpy.data.scenes:
    data_context = {"blend_data": bpy.context.blend_data, "scene": scene}
    bpy.ops.render.render(data_context, animation=True)

This will produce a folder with all the frames in your scene.

But how to convert those to a video in 30 fps with a python script with blender?
I found no documentation about it. Anyone did this?
Thanks!

Within your scene loop you can alter the render settings within scene.render

Some variables of interest may be -

render.image_settings.file_format default available image_format options are BMP IRIS PNG JPEG TARGA TARGA_RAW OPEN_EXR_MULTILAYER OPEN_EXR AVI_JPEG AVI_RAW - depending on the build settings others may be available, like CINEON DPX TIFF or FFMPEG

If you have the FFMPEG option then you can adjust it through variables in scene.render.ffmpeg such as scene.render.ffmpeg.codec with options like H264 or MPEG4. Other ffmpeg variables include video_bitrate maxrate minrate packetsize

To change the framerate set scene.render.fps

To specify where the file is saved you set scene.render.filepath

One point to consider is that bpy.ops.render.render will render using the settings saved with the file, so you can setup these options and save before starting your python script.

It is also common to render animations to individual files for each frame and then join them into a video file once rendering has completed. One way to do this is with ffmpeg as described here another is to import the image sequence into blender's video sequence editor and 'render' to a video file, this is very quick once all the images have been rendered. The blender wiki can get you started.

Blender is a large beast and the python dataset to access it all is just as large. You can find a large amount of information in the blender API documentaion but you may find blender and it's built-in python console just as helpful. You can right click on almost any interface item and select Edit Source - this will open the python file used to display that item in a text block (available in a text editor window) with the cursor on the relevant line.

Within the blender python console you can enter bpy.data.scenes['Scene'].render.ffmpeg. and click the Autocomplete button to see a list of variables and functions available as the next item.

Also don't forget that if it has been turned off you can turn on python tooltips in the user settings, which displays some python paths (sometimes truncated) in the tooltips for most things, that can at least point you in the direction to look for more information.


Why Doesn't the Viewport Optix Denoiser Doesn't Work in 2.9? I have the latest version of 2.9, a gtx 1060, and 16gb of ram. When I go into "denoising" and check "viewport" with "fastest (optix)" selected it'll take around 7 minutes to load the render kernels. Once it's done the viewport render freezes and gives me this error message that says.
OPTIX_ERROR_CUDA_ERROR in optixDenoiserComputeMemoryResources(denoiser, rect_size.x, rect_size.y, &sizes)(device_optix.cpp850)

I have no idea what it means and I'm mainly posting this just to see if anyone else have this problem, I don't really expect a fix for it. I've reinstalled blender, factory reset it, and updated my gpu driver to no success. Thanks for taking time to read.

With the latest (as of this writing)  alpha release of 2.9 you can indeed use optix and take advantage of viewport denoising in cycles with  both CPU and certain non RTX GPUs.
From the Cycles release notes

GPU Rendering

OptiX support is now enabled on all NVIDIA GPUs that support it,    which is Maxwell or higher (GeForce 700, 800, 900, 1000 series).

NVLink support for CUDA and OptiX. When enabled in the Cycles device    preferences, GPUs connected with an NVLink bridge will share
memory    to support rendering bigger scenes.

NVIDIA GPU rendering on macOS is no longer supported. Apple dropped    support for CUDA drivers in macOS 10.14, and no recent Apple hardware
uses NVIDIA graphics cards.

Viewport Denoising
Intel OpenImageDenoise is now supported for interactive denoising in
the 3D viewport. This works on any recent Intel/AMD CPU (with SSE
4.1).
Previously viewport denoising was only supported for NVIDIA GPUs using
OptiX.


How to set objects to layers? I looked in the online manual, but all I am trying to do for example is set (Cube 1) on layer 1 and take (Cube 2) and put that on layer two but I cannot figure out please help thank you!

Assuming you are talking about the viewport layers you see in the header:

Then just press M with the appropriate objects selected and click on the layer(s) you want them to be visible on.

Another method is to use the properties window, object tab, relations pane; the object will appear in one or more of the layers represented here by activating the button. The relations pane is illustrated in red, and in the image is in the default position.


Simplification of the topology of a mesh object Is there a way in Blender to simplify a mesh which consists of multiple triangles without removing triangles? The structure should remain the same, only a few larger ones should emerge from the many individual triangles.
This simplified object should be used for level of detail views and from the distance only the structure should be recognizable, but no elements may be missing, as e.g. it is with the Decimate modifier is the case. Here, triangles are simply removed, which from a distance then looks like there is no element at all. Especially with an object that represents a land surface, elements are missing on the edge.
Is there any other way with Blender to create such an object?

I have found a solution. The problem was that BlenderGIS imports the shapefile incorrectly and I first have to remove several vertices (with bpy.ops.mesh.remove_doubles (threshold = 0.001). Then the decimate modifier will work,too.


Can I save blend files with lzma instead of gzip? I compiled blender with Lzma on, but when I check "compress file" while saving, it currently compresses with gzip (zlib).

Is there a special compile option to change it? Or can I do a save script in python that compress/decompress to/from lzma (without writing to the HDD).

I'm working on very big files and Lzma2 (tested by compressing to .xz with linux) is between 2x and 3x smaller and not much slower because multi threaded.

The GZIP compression is currently the only compression format considered when writing or reading a .blend file. A single reference to LZMA in Blender's code is for compressing point-cache files, with accompanying caveat:

"Effective but slow compression"

... something we wouldn't consider as primary choice, for dealing with potentially large .blend files.

I think your best bet is to write export/import operators, utilizing external LZMA (de)compressor.


My renders are showing these distortions and I can't see why I'm using the cycles renderer on blender 2.92 and I always find this problem on the wall, I tried setting up different materials and no materials at all but the problem remains. And the distortions always happen in the same place

These look like artefacts from the denoising process, with too much of low samples in that area. Add more samples to the rendering.


I can only see model via a transparent grey strip I can only see the model via that strip

Render view

Press Alt+B to clear clipping border.
or View -> Clipping border


How to merge intersections in a text? I'm trying to convert this word into a solid object for 3d printing. But I'm having trouble to merge this intersections. How can I convert this kind of word into a solid object with no intersections?

Thank you!

Assuming that the characters of the word are single object, because you want them one object ... so they aren't one object...

Select F and assign a boolean modifier.
For the "object" (see the modifiers panel) assign the "l".
Set mode to "union".
Apply the modifier.
That will give you one object consisting of "Fl" and the "l", which had
not modifier assigned to it...delete the "l".
Now do the same with the "Fl"-object (assign modifier to it) and the "o",
apply, remove the "o". Now "Flo" and the "w" and so on.


Add a bone at each vertex location? So I was wondering if it was possible to somehow get the location of every vertex in a not-so-complex mesh (76 vertices) and add bones to that locations.

Thanks!

Manual Selection and Creation

Select mesh object, go into edit mode. Tab
Select vertex.
Snap cursor to vertex. Shift+S, Cursor to Selected
Go into object mode and select the armature object.
Go into edit mode and create a bone (at the cursor's position). Shift+A
Repeat for all vertices.

Use a python script
I created a script for you, which does what you intend.
import bpy
from mathutils import Vector

def AddBonesAtVertices(length, use_normals):
    objects = bpy.context.view_layer.objects
    obj = objects.active
    if not obj or obj.type != 'MESH':
        return

    points = []
    normals = []
    data = []
    for v in obj.data.vertices:
        p = obj.matrix_world @ v.co
        target = v.normal @ obj.matrix_world
        dir = target - p
        dir.normalize()
        dir = dir * length
        n = p + dir * (-1)
        points.append(p)
        if not use_normals:
            n = Vector((p[0], p[1], p[2] + length))
        normals.append(n)
        data.append([p, n])

    amt = bpy.data.armatures.new(obj.name + "_vBones")
    rig = bpy.data.objects.new(obj.name + '_vRig', amt)

    bpy.context.collection.objects.link(rig)
    objects.active = rig

    bpy.ops.object.editmode_toggle()
    for i, l in enumerate(zip(points, normals)):
        bone = amt.edit_bones.new(str(i))
        bone.head = l[0]
        bone.tail = l[1]
    bpy.ops.object.editmode_toggle()

bpy.ops.object.mode_set(mode='OBJECT')
AddBonesAtVertices(0.5, False)

Paste the script into the text editor, selected the mesh object and run the script.


How to make foam with bubbles (beer, bath) My goal is create realistic foam. I mean really realistic foam with bubbles, no only SSS shader and done :-).

Use particle system's is not enough, because bubbles overlaps and black artifact's appear.

Any ideas?
Some reference images and something about bubbles:

http://www.exploratorium.edu/ronh/bubbles/bubble_meets_bubble.html

EDIT:
I want this for 360° turntable animation. Bubbles and foam does not to be animated, but should be good keep reasonable render time.

Of course, if someone know how to make it animated I glad to learn it and I'm sure I'm not only one. But my priority is realistic look, not animation.

Only for clarification: I don't need to know how to make bubbles in beer (there is very good tutorial by Andy Price), please focus only on foam. Beer is not important.

You can try making a bunch of low-poly icospheres and throwing them into a giant glass using Rigid Body physics.

This way they collide with one another, and unlike particles do not overlap.

Join those into one object and use a Shrinkwrap Modifier to make an outer mesh conforming to the shape of all the joined bubbles. Apply the Shrinkwrap Modifier and join this outer mesh object to the bubble object. In Edit Mode set the normals of the bubbles to be facing inward, while leaving those of the outer part facing outward.

Then with the bubble geometry made it's just a matter of getting the right material. I played with several setups and I'm still not satisfied. But I'll post the .blend and hopefully the community can make suggestions for improving the material.

[Edit: I can't seem to post the file to Blend Exchange. Is 28MB too large? Bubble troubles...]

Example:

I think this technique has potential.

If we want to animate bubbles through their complex stages of forming, foaming, growing, bursting, and flowing, that will require some very custom coding... hoping for a beer simulator in Blender one day! Until then, this method should work alright for stills. Cheers.

To see just how complex bubble simulation can be, and some of the recent progress made in this area of research, check out this video by Two Minute Papers.


How to achieve a solid glass/emission material with certain refraction and color I'm having trouble recreating this material in cycles:

It's a solid glass bulb with a LED inside and copper threaded fabric which gives it a copper colored glow.

I'm not sure how to achieve a similar hue / glow and IOR.

Any pointers into the right direction would be greatly appreciated!

Blendfile:

One way to achieve it is what you already have setup, just mix a Glossy with an Emission Node and fake the effect perfectly. I could optionally ditch the Glass node if you don't need the transparency and want to simplify the setup.

If you want a more accurate and real material at the expense of more noise and don't mind the extra render time, then you can do it with actual translucency.

Mix a Glass and Translucent node and add an actual light source inside the map. This light source may be anything from an emission surface to an actual lamp.

You may also want to re-unwrap to improve you lamp UVMap so the texture is better distributed over the surface.


Not able to get the final rendered output(when f12 is clicked) I am a newbie, just started rendering. I am not able to get the final image that I have rendered. When I press F12 I get just a window (the pic below) showing almost nothing. Can someone please tell me where I went wrong or what extra needs to be done? Thank you.

To configure a render please be sure of the following :

you have an active camera in your scene and that the camera is pointing to your object
go to the render properties panel here and check what rendering engine you're using (Eeve or Cycles)

go in the output properties panel here, and check that you have a good resolution

And make sure you have a light in the scene ! (or an HDRI setted) in order to be able to see something.
Check that you don't have scrolled out too much in the rendering view window

If you still have the issue, try opening a new scene in Blender and render the default cube to check


Clamp Overlap cancels Bevel effect I have this table:

When I activate "Bevel", there is this incorrect face:

If I activate "Clamp Overlap" the problem disappears, but also the bevel effect:

How to solve this?

The problem is some duplicate vertices - 9 to be exact. Go to edit mode, select all, and select Mesh > Merge By Distance. A little window will pop up in the bottom left corner. Click to expand the little box, and press the arrow on the right side once until the value is 0.0101. They will be removed and the bevel will work cleanly.

EDIT - I'm glad the fix worked for you, but after playing with the object some more afterwards, I noticed some anomalies in the topology. Just in case, I have attached a simple .blend file with a similar table in 2 forms - The first has the original topology I used to make the table, and the second one I removed "unnecessary" (for game engines) edges, so it is reduced as far as possible
with the possible exception that I did not delete the bottom faces. Both have the same bevel modifier with the default settings. Maybe use them as a reference or comparison to see what differs between the topology of the 2 of them, and yours.
File is here -
Cheers


Objects in preview window do not show in the final render I made a little tea cup. When i switch it to the rendered mode, it looks like this:

But, when I render it, there are elements that are missing:

What's wrong with what I have done? Please help me.

Thanks

(Reference this with the image below) You may be working with more than one Render Layer. Go to the "Render Layers" tab (2nd tab) and check if there is more than one entry inside the box (red box). If so, click the "-" (yellow box). After you've clicked on the tabs under "Layer" (blue box) for the desired layers you want to include in your final render, go ahead and click on "Save Current Layers for Render" (green box) - please note that this button is only for the "Amaranth Toolset" Add-On.


Is there a way to restart a modified addon? I'm currently twiddling with an old addon and insert some print statements for debugging. Currently I'm restarting Blender each time to see the new messages. Is there a way to 'refresh' an already loaded Python script?

An API call would be preferred to disable/re-enable the addon in the User Preferences dialog.

You can go to the Main menu > Blender > System > Reload Scripts. As the name suggests, the operator reloads all addons and scripts, running addons, unregister and register functions.

Another way is hitting F3 and typing "Reload Scripts" in the Operator Search menu and execute the operator. In versions pre Blender 2.8x you can just hit F8 in order to reload.


Store Pointer Property array/list How can i store a array/list of Pointer Properties?!
I want every pointer to point to a object and get a specific pointer with an index or key.

import bpy

class customPropertiesGroup(bpy.types.PropertyGroup):
    objects = bpy.props.PointerProperty(type=bpy.types.Object)
bpy.utils.register_class(customPropertiesGroup)

bpy.types.Object.customList = bpy.props.CollectionProperty(type=customPropertiesGroup)

ob = bpy.context.active_object.customList.add().name = 'ob_01'
ob = bpy.context.selected_objects[1].copy()

is how can i access ob_01 and does ob_01 actually store a copy of selected object [1]?

Can add methods to the propertygroup definition
Something that is very handy IMO is the ability to add methods to the property group.
Here I've added copy to make a copy of itself to the collection, and add to add an object to the collection. In both cases the object name is used as the collection item name.
Remember that 2.8 uses annotations for properties.
import bpy

class ObjectCopy(bpy.types.PropertyGroup):
    object : bpy.props.PointerProperty(type=bpy.types.Object)

    def copy(self):
        self.object = self.id_data.copy()
        self.name = self.object.name
        return self.object

    def add(self, ob):
        self.object = ob
        self.name = ob.name
        return self.object

def register():
    bpy.utils.register_class(ObjectCopy)
    bpy.types.Object.copies = bpy.props.CollectionProperty(type=ObjectCopy)

def unregister():
    bpy.utils.unregister_class(ObjectCopy)
    del(bpy.types.Object.copies)

if __name__ == "__main__":
    register()

Some testing in the python console.
>>> C.object.copies.clear()
>>> for o in C.selected_objects:
...     C.object.copies.add().add(o)
...
bpy.data.objects['Cube.002']
bpy.data.objects['Cube.001']
bpy.data.objects['Cube']

>>> C.object.copies.add().copy()
bpy.data.objects['Cube.005']

>>> C.object.copies['Cube'].object
bpy.data.objects['Cube']


Selecting the nearest of overlapping faces I'm working with a relatively detailed model, which some some inner detail. At the moment I am not concerned with the inner faces, I would just like to select the outer faces so that I can apply a material to them. However, whenever I try using the Face selection options I often end up selecting an interior Face rather than the external Face I'm looking for.

  Are those faces on top I've selected?

  Nope.

Is there any way I can use the Face selection tools to target the closest faces that intersect the point I click, rather than whatever the default behaviour is which typically catches these internal faces?

I've been trying with both the current Blender 2.68 and the older 2.49b.

Unless I'm missing something isn't this just because you are in wireframe view mode?

Press Z to go into solid view then make sure Limit Selection to Visible is enabled in the 3D view header as shown below:

Now your model will appear solid and you will be able to select whichever face is directly visible to you in the view i.e. you won't be able to select faces that are behind other faces.


What is the correct context for applying a new particle setting or override it? I have an object (a feather) with a particle system on it (little objects that turn into spaces later - boolean/difference - to make it look a little ruffled). I have duplicated the object a number of times (to create a wing). Each instance gives me the same particle system output. To randomize the particles on each duplicated object, I give it a new particle setting and change the seed value.

To be able to do this a large number of times (and many other things as well), I am creating  code to automate the tasks.

Problem: the particle settings line bpy.ops.particle.new() gives me "#RuntimeError: Operator bpy.ops.particle.new.poll() failed, context is incorrect"

I am new to coding and learning fast. Dove in the documentation and read the Q&A's on this site, but hit a dead end. I am out of my depth here. Help is appreciated.

I know there is a "Button context" called "bpy.context.particle_settings", but I don't know what to do with that.

What context do I need to apply new particle settings to work (and how)? or how can I override the context?

In the snipped below one edge of the feather, containing the particle system, is selected and made active, before attempting to add new settings

bpy.ops.object.select_all(action='DESELECT')
object = bpy.data.objects[edge_name]
object.select = True
bpy.context.scene.objects.active = bpy.data.objects[edge_name]
bpy.ops.particle.new() #RuntimeError: Operator bpy.ops.particle.new.poll() failed, context is incorrect
bpy.context.object.particle_systems["ParticleSystem"].seed = seed_value

The bpy.ops.particle.new() is not the operator name you are after.

bpy.context.scene.objects.active = bpy.data.objects[edge_name]
bpy.ops.object.particle_system_add()
bpy.context.object.particle_systems.active.seed = seed_value

It is usually preferred to not use operators in scripts. For creating particle systems the method may appear a bit odd as adding a modifier seems to be the only non-operator way to do it. You might notice that this way doesn't need to alter the active or selected objects.

object = bpy.data.objects[edge_name]

if len(object.particle_systems) == 0:
    object.modifiers.new(name='particles',type='PARTICLE_SYSTEM')
    object.particle_systems.active.seed = seed_value

Once you have the particle system on the object you can either change each setting to suit or you can set it to use an existing particle setup.

object.particle_systems[0].settings = bpy.data.particles['MyGreatParticles']

While a new particle setting will be created each time you add a particle modifier and you will get more of them as you repeat this, by using an existing particle setup they will have zero user count and will not be saved to disk.


Bones rotate after adding IK I am new to rigging (I am new to Blender as well, but my modelling is better then my rigging.) Hope you can help me with this.
So when I add Inverse Kinematics to the bones I am pointing below, the bones rotate. Also while moving the targets, the knees don't bend soon enough. Later I tried to align the bones from front view axis but nothing has changed. Also here is the Blender File. Thanks in advance.

In the IK constraint, disable Rotation, give it a Pole Angle of about 6,5° and it seems to work. Also, don’t forget to disable the Deform option of the IK controlers and targets.


Needing help creating an fluorescent glass shader How can I make this glowing glass material like this?...

Add Emission shader to the Volume input of Material Output node:

Further you can also add in Volumetric Absorption and Scatter nodes to simulate a real medium inside, not just light originating from the volume.


Render Layers are not visible in compositing when I close and open the program Every time I open a project that was already rendered I can not see the render layers in viewer node in the compositing. So I have to render them again and again every time I try to edit my compositing. Does Blender saves the rendering so I dont have to render layers all t he time to make changes in my compositing? I use cycles and blender 2.79

No, blender does not save the rendered layers as part of the project.

You need to render them again, or you can save them as an image first and import them back into blender for compositing.

To keep the best quality use a "output file node" and save as EXR multilayer. Read: Save all render passes to a single EXR image and Different render per layers? and How can I render all render passes to files in Cycles?


Soft body not colliding with each other I am trying to make an animation using soft bodies, but the problem is that they are passing through each other. I have turned on Collision in the physics panel.
Thanks.
Blend File

Solved. I just needed to check 'Faces' option in 'Soft Body Edges' settings.


Mirror object rotated Cannot apply the roof to opposite side with mirror modifier
Its rotated somehow , Is there a way to reset it?

Apply the rotation to your object Ctrl+A > Rotation.


How to export into .3ds and keep materials? I have a model that has all materials applied.
I use Blender export feature, click 3DS Max, save the file, but if I import that same file back into Blender, it loses all the materials -> they're converted on a white colour. Materials are based on an image texture. The file also loses the UV. What am I doing wrong?

Additional regarding Fbx

3dsMax

Make sure your units match that of Blender (meters for this example) - Customize menu - units setup.
Import your Fbx file.
Although your lights and camera import they are not compatable with 3dsmax rendering.  You will need to discard your lights and camera and install most probably photometric lights and at least one of the system cameras in order to render.
2) - Your scale will be correct.

Maya

Change working units in Maya to meters or match your settings from blender.
Windows - Settings and Preferences - Preferences -- Click on Settings. Under working units change to meters or match blenders settings set before your project.
Import your Fbx file.
On importing you will have your lights and camera. However they are probably not compatable (untested as yet). You will probably have to set up new system of lights and cameras.
3) - Your scale will be correct.

Fbx Review

Opens correctly in Fbx review.

Lightwave 2015

Opens correctly in Lightwave 2015 Modeler. Scale is correct. No lights (modeler).
Imports correctly in Lightwave 2015 Scene. Scale unverified. Option to play with scale on import. Cameras and Lights available but compatability unverified.

Other systems as yet untested

Exporting to Collada from Blender

Phases 1, 2, 3, and 4. as above

Phase 5 Export your model to .Dae

Export to .Dae as below
In the properties panel -(Render Tab) set animation frame rate to match your target systems default. check defaults or settings on other systems.
Select File - external data - (check) Automatically pack data into .blend
Save your .blend file
Select File - Export - Collada
Leave all Collada export settings at their defaults. Change only if you are deviating from this recipe for good reason.
Export Collada
Open the file in an application that supports Collada. Autodesk FBX review is an excellent one for checking (make sure textures are switched on)

Additional regarding Collada

3dsMax

Make sure your units match that of Blender (meters for this example) - Customize menu - units setup
Import your .dae file
You will loose your lights and cameras. - Set up new lights and cameras.
Your scale will be correct

Maya

I don't have the version that supports .3ds import.

Fbx Review

Opens correctly in Fbx review.

Lightwave 2015

Opens in modeler. Geometry only. UV mapping unknown. Scale is correct. No lights (modeler).
Imports into Lightwave 2015 Scene. Lights lost camera displaced and probably inoperative. Scale unverified. Option to play with scale on import. Texture (will turn some lights on to verify)

Other systems untested

Exporting to 3ds from Blender

The methods above do not work for Autodesk Fbx reviewer and 3dsMax but 'Load object' does work for lightwave 2015 modeler. However the scale of the import is 10 times too large. There is no where to adjust scale on the exporter and lightwave is fixed in meters. My thinking is that you must model in blender at 1 tenth scale to achieve the expected result for lightwave. Further cameras and lights are not imported as it is Lightwave modeler only. Further Lightwave's rendering package does not support .3ds.
in Autodesk FBX review - scale is lost - proper geometry is lost - textures are maintained. UV mapping appears correct but the object is warped.
In 3dsMax I have proper looking Geometry although there seems to be a few additional verticies somewhere. Scale is correct but textures are lost. If you look in the textures 'slots' in the materials editor the correct name of the texture is there but the swatch is black. This is someting to do with paths I think. If the texture can be located in the correct place then perhaps it could become available. You would still have to manualy map the texture adjacent to the diffuse colour tab in the materials editor. The uv mapping may still be intact (untested) as the result from Fbx reviewer would suggest that the uv mapping does make it through the export at least.
Regarding Maya I don't have the version that supports .3ds import so I could not test.

Additional

Lightwave 2015

Does open in a lightwave 2015 modeler. (File load object). Uncheck Scale Object in the import dialogue for correct scale.
Does open in a lightwave 2015 scene. (File load object). Uncheck Scale Object in the import dialogue for correct scale. Load object means system cameras and lights.

Other systems untested

Exporting to obj from Blender

As above for Phases 1, 2, 3, and 4. as at top

Phase 5 Export your model to .Obj

Export to .Obj as below
The obj file format does not support animations natively so don't waorry about frame rates.
Select File - external data - (check) Automatically pack data into .blend
Save your .blend file
Select File - Export - wavefront (.obj)
In export settings export set scale to 1 if you are going to 3dsMax and 100 if you are going to fbx review. Only deviate from defaults for good reason.
Export OBJ
Open the file in an application that supports OBJ. Such as Autodesk FBX review (make sure textures are switched on)

Additional regarding obj

3dsMax

Make sure your units match that of Blender (meters for this example) - Customize menu - units setup
Import your .obj file
In the import dialogue of 3dsMax - Check - flipZY-axis.
You will loose your lights and cameras. - Set up new lights and cameras.
Your scale will be correct

Maya

Change working units in Maya to meters or match your settings from blender.
Windows - Settings and Preferences - Preferences -- Click on Settings. Under working units change to meters or match blenders settings set before your project.
Import your Obj file
You will not have any lights or camera. You will have to set up new lights and cameras.
Your scale will be correct.

Fbx Review

Opens correctly in Fbx review with the 100 x scale adjustment in the Blender Obj exporter settings.

lightwave 2015

On 'open object' the following error message occurs - Can't find file "Images\myTexture.jpg" select an alternate file?  Select Yes and locate your texture file manually.
The scale will be correct. (The Lightwave grid can cause some confusion regarding scale)

Other systems untested for .obj thus far


Alpha-Over Node Not Working This is my composite setup. From all tutorials, wikis, etc, this should place the movie clip in the background and the wall/thing in the foreground. Does anyone have any idea what I'm doing wrong?

Your nodes are correct, but how can you see through the "walking/thing" layer if your walking/thing render is fully opaque? You need a transparent background for that.

If what's behind your objects is only the world environment, then the simplest way to get transparency is to head over your render tab, Film panel and check the Transparent option:


Wierd chess-like pattern on cycles Wierd chess like pattern appeared on my cycles render view and even stays in the actual final rendered image.

This chess-like pattern means transparency. You have activated Transparent in Film section of render settings.


No Lights at Final Render When I try to render my scene, there are no Lights at Final Render.

But if I use Shift+Z shortcut to see a preview, all works fine.

I really don't understand what is going on... Can you guys help this newbie? I installed Filmic Renderer that BlenderGuru recommended. Other than that, everyting are default, I think.

Your lights are not in the same layer.

They are in a layer that is not set to be rendered.

Once you enable the layer that holds the lights along with the one that holds the rest of the scene you will have lights...

Rendered image with both layers enabled

Alternatively you can set the lights to be active in more than one layer.