Normal map baking creates distorted normal I have spent quite a while working on a baking a normal map from a high poly model onto a low poly model, and the result every time regardless of how I unwrap the low poly model is always severely distorted and tends to be squashed or smaller than the actual uv itself.

Here are some screenshots of the models and the result.

Assistance is much appreciated, as always and thanks in advanced :D

For people who are having trouble with this, the solution is to make sure the models are directly on top of each other.


Blender outliner what are the differences between the little green men? I've imported a mesh and an armature and parented them. There are two little green men in the outliner and one is the Pose I have worked hours on. What is the other one, where the little man is holding a square. Is this reset pose? When i click it, i loose all my work.

The green man icon with the square indicates (and when clicked accesses editing of) the skeleton, rig, or Armature. It is about the number of Bones in the Armature, their relationship to each other, and their base position and rotation. (So even though it is the armature icon, an armature has a base pose, because it cannot not have one.)
The green man icon that kinda looks like its running indicates (and when clicked accesses editing of) the Pose, or poses (That means poses that are different from the base pose of the Armature).
When you click on the pose icon, edit a pose (for instance move an arm up), and then click the armature icon, you should see (and be able to edit) the armature (in its base pose, with the example arm back in its base position, like it hasn't been moved).
But if you then click on the pose icon again, you should see the edited pose (with the arm moved up) again.
I have come across situations though, where editing the Armature resulted in loss of the pose (at the current frame). But you can save your pose by either adding a keyframe for the bones in the Armature, or save the bone position and rotation in the Pose Library.
I advice the latter; then you can always keyframe them later if needed.
Select your armature, go to Pose Mode. Then Properties > Object Data Properties > Pose Library > New. Then select the Bones for which you want the position an rotation saved (or simply select all of them) and click Add Pose (the little Plus icon). Now you can reload the pose by clicking Apply Pose (the little magnifying glass icon).


Rendered Animation only 2 seconds even though i set it to last 10 seconds The animation always stops 2 seconds in, even though I had set it so that the walk cycle would last 10 seconds via the nla editor. I'm very new and noobish to blender so I am not sure what is going on or if there's something I am missing or why it's not showing. Any help would be greatly appreciated.

You need to set your inpoint and outpoint in the timeline to match your nla editor clip. Your outpoint is currently 24 frames, which, unless you changed the settings, should be one second. If your animation needs to be ten seconds, your outpoint should be at 240 frames.


How can I change a scene using python BGE I was working on blender game engine, and I have no idea how to change scene using python.

I have an actuator set in to change scene, but I don't understand how

I have made a sample blend file . What I want to do here is to switch to changed_scene using the actuator change_scene (Under player logic) using python. I need to know this, because I am making a game and the game requires switching scenes when the player dies.

When your player dies, change a property
(e.g. "dead" to "1")

Then use a property sensor ("dead" == "1"?) and hook it up to scene actuator.

Okay, there's a bit more to it

I did a collision sensor, colliding with property "damage."  I added property "damage" to everything except the floor!

I added health to your cube player, default 100.  connected collision sensor to property actuator add "-50".

Created property sensor, health less than 1. connected to property actuator, dead = 1

created property sensor, dead equals 1, connected to change scene actuator. Probably could be more efficient, but it works! :)

You'll want to "and" a delay so your dramatic final collision plays out before changing scenes though

Blend File


Hair particles flicker in and out on length influence animation I made a grassy patch with hair particles, I then made a cloud texture to control the length of the hair. I thought it would look cool keyframing the texture brightness to make the grass grow. But then i ran into this problem where the particles flicker in and out as the texture changes. i assume its to do with how it randomly paces particles on a gradient. I have no idea how to fix this, ive tried a couple of things like contrast up the map to make more of a sharp gradient but to no luck. Any idea how i can work on this ? Im Just including the files here instead of a bunch of screengrabs Zip file with vid and blend file But here are 2 adjacent frames just to check it out

Just as i post i figure it out. It was one particle instance texture that was still influencing density, If All of them influence only scale it works a treat.


Texture has black lines I didn't create UV mapping seems to have created these black outlines. They're only visible when I zoom out. They're also more visible in rendered mode. Anyone know an easy way to fix this. I've redone the textures multiple times just to get the same results.

What you are seeing is the seams of your uv's. When a colour is chosen from the image along the edge of the uv seam, small calculation variations lead to the surrounding black being chosen instead of the orange. You can test this by changing the black background to another colour, which will show in the seams instead of black.

To fix it on the image, expand the areas of colour a few pixels so that the correct colour can be retrieved.

When texture painting there is a bleed setting, which is misleadingly placed under project paint, which allows the painting to fall a few pixels outside of the edges to prevent this issue. Be aware that larger values can spill over into neighbouring faces, especially if they are packed close together.


How do you make a cluster of cubes explode? How can you make a bunch of objects explode? I don't mean fracture, I just mean shoot off in random directions. I want to know how to do this for a rigid body simulation. So how can this be accomplished?

Add Active Rigid Body Physics to your cubes.
(I created the cubes with 3 array modifiers applied, then separated By Loose Parts, and finally moved the origins to the geometry.)
Add a force field in the middle of the stack of the cubes.
Increase the strength of the force field.
Press play or AltA and watch the explosion.

Quick gif showing the whole process.

Final result


How do I delete meshes? I don't know how to delete meshes. I know I can create them using the create tool but I'm not sure how to delete objects. Can someone please help me?

You have to select the object you want to delete. Then you can click delete on the tool tab or you can use your shortcut which is x and select delete.


How can I create a point cloud from the surfaces of a model? How can one go about generating a point cloud from the surfaces/faces of a model?

Initially the models are going to be fairly simple (just cubes, cylinders, and spheres), but eventually the models will be progressing on to more complicated shapes.

The type of point cloud that I need to generate needs to be similar to the point cloud that would result from a laser scanner. So I do not need any edge or vertex information, just a point for every face of the mesh.

Following script creates a new point cloud from the selected object based the center of each face:

import bpy

def point_cloud(ob_name, coords):
    """Create point cloud object based on given coordinates and name."""
    me = bpy.data.meshes.new(ob_name + "Mesh")
    ob = bpy.data.objects.new(ob_name, me)
    me.from_pydata(coords, [], [])
    ob.show_name = True
    me.update()
    return ob

def face_centers(obj):
    """Returns median center coordinates for each face of given mesh object."""
    if obj.type == 'MESH':
        import bmesh
        bm = bmesh.new()
        bm.from_mesh(obj.data)
        return [obj.matrix_world @ f.calc_center_median() for f in bm.faces]
    else:
        return [(0.0, 0.0, 0.0)]

ob = bpy.context.active_object
pc = point_cloud(ob.name + "-pointcloud", face_centers(ob))

# Link object to the active collection
bpy.context.collection.objects.link(pc)

Related: Add a simple vertex via python?


How to cut mesh by curved surface I need the "extra" from the roof to be removed. For some reason I can't make this work with booleans. Thank you.

It's not entirely clear to me exactly what you mean by '"extra" from the roof'. If you mean the overhang on the sides, you could modify the geometry by cutting (in any one of several ways, though in my own workflow a boolean modifier would not be a choice I'd make) the surface of the roof, and removing the vertices outside the new geometry.

If instead of that, you mean the parts of the rectangles extending above the roof, then you'd probably want to modify the walls. Again, there are several ways to accomplish this, but exactly which one would be most useful is hard to say without seeing more information.


command/object option window - how to recover The small window which opens up when i execute a command goes off if i click anywhere else in the window and is not recoverable (screenshot attached). how can i get this back.

I am still a noob so forgive me if I'm wrong, but as far as I know, you can, but not for the operation you just completed (by clicking).

This command window appears after doing an operation (scale, add mesh, in your case move, etc) and allows you to set the parameters of the operation precisely by inputting numbers. When you click anywhere you complete the operation and can't adjust it anymore. But you can ctrl+z and try it again of course.

So if you want this window to reappear you select the object and hit G (for move), but then the move parameters will be based off the current position. If you put in numbers and click, you can hit G again, but now the move parameters will be based off the new position.
I hope this helps.


How to proceed to UV unwrapping I used retopoflow 3 beta and retopologized it (retopology for the first time) and I think I am done.
But now what? There are 2 modifiers added to the retopology mesh.
Should I apply both of them then go UV unwrapping it or should I leave the Mirror modifier as it is and then proceed to UV unwrapping?

It's recommended to apply the mirror modifier for humans, animals & creatures. This allows you to paint both sides differently to add scars, freckles, spots, tattoos, wrinkles, skin pores, imperfections, etc for a more realistic appearance.
Hair/fur/whiskers should also have some asymentry to look natural and realistic.
You still can use mirror mode in texture paint and particle edit mode to save time.
About the displacement modifier I don't know. Do you need it? After retopology the low poly mesh should be fine.
A common workflow is to create a high poly object, retopologize it to get a low poly version. Then you bake a normal map and apply this baked texture to the low poly object. If you want to add more details like wrinkles, etc you can add a multires modifier to the lowpoly and bake the normal map again.


Multiple variables in Driver Scripted Epxression How do I combine multiple variables (more than two) in the scripted expression using the IF function? Compare the two images below (first works, but second one throws an error and does not seem to compute)

In the screenshot that is failing you need to rename your variable to match the if statement, or you need to rename your reference used inside of the statement to match your variable name.

ALSO

As a good practice put the multiple AND portion of the statement in parenthesis like so:

Without Renaming your variable:

0 if (var > -0.5 and var < 0.5 and var_001 > -0.5 and var_001 < 1) else 2

With renaming the variable:

0 if (var > -0.5 and var < 0.5 and var2 > -0.5 and var2 < 1) else 2


Prefetch Frames not working? In Blender 2.92, I have Prefetch Frames enabled in the Video Sequence Editor, and a Memory Cache Limit of 16384 in the Video Sequencer > Memory Cache System settings. I've closed and reopened Blender and rebooted, but still don't see an orange stripe in the sequencer indicating that frames are being prefetched (and I do get some performance/framerate issues during playback).
Is there any reason prefetch would be working but not displaying the orange indicator stripe? Do I have to enable that in the display? Based on the performance issues it would seem that prefetch is just not working...
Edit: I should also say that I am splicing mp4's together that I recorded from my camera. It's a fairly simple setup...

The Cache is designed to be as unobtrusive as possible. That's the reason, you don't see the orange cache bars. It should be working, however. If you want to see the cache bars, you should do the following:
(1) Enable Developers Extra in the Edit > Preferences > Interface panel.
(2) Enable the cache Bars in the View > Show Cache menu of the Sequencer.


How to create a bumpy rubber material? I am trying to create a decent approximation of the bumpy rubber material depicted in the reference image below. I'm not intimately familiar with nodes, but I figure this is the best route? Ultimately I would like for this to work in both Eevee and Cycles, but if we can only figure out Cycles, I can live with that.
I tried metaballs at first, but it seemed unnecessarily time intensive and wasn't yielding the results I was looking for, granted that could just be my ignorance.

You could try something like this. I used a Voronoi texture clamped with a Color Ramp, similar to what you did to make the main dots. I then used another Voronoi Texture, scaled up slightly, and clamped differently with another Color Ramp to get the smaller dots. I also mixed the input vectors of both the large and the small dots with  a Noise Texture to make them less perfectly round.
Lastly, I mixed the whole thing with another (largely scaled up) Noise Texture to give the fine "grain". I also gave a very small subsurface value to emulate that semi-translucent rubber look.


Can you edit vertices/faces on a text object? Are text objects solid objects or made up of individual vertices and faces that you can edit? Can they be converted into an editable objects, maybe with the help of an add on? How about tracing it to make a new object?

It's made up of automatic tracing of a font. So it's its own type.
To convert it into an editable object:

Select your text object.
Hit Alt + C and select to either convert it to a mesh or a curve.


How to render an object with arbitrary edges shown? I'm new to Blender and was wondering if it's possible to render an object with the edges drawn?

For example, I start up Blender, and draw a few lines on the cube as shown below:

But when I render it, none of those lines show up.

Any aid would be appreciated.

To draw clearly defined and 'arbitrarily' chosen lines on the surface of an object, one effective method would be to simply lay one or more 2D planes onto it's surface(s).

Add the first plane and -

Reduce it's thickness so it ends up as a very thin line.

Give it a material slot and colour it black, remove it's specular so it won't reflect light.

Add as many of these as you wish, (or duplicate the first) and drag them around as required

Once positioned correctly (a tad above the cube's surface), either parent or join them to the cube when animation is involved.  (so they don't get left behind)

You could as an alternative subdivide the cube's surface to form the lines but that may introduce unnecessary complication at some point down the track.  The planes on the other hand are independent and can be removed, reshaped, and changed about at will.

-=====-

The ico sphere was treated a little differently but again the 'lines' end up as a separate frame
and is simply laid against the sphere.

The procedure -

Some ico surfaces are selected in Edit Mode, then duplicated.

The copied surfaces were (P) "Parted by selection" and moved to another layer to make it easier to work with.

In Edit mode these faces are all removed so we only have a wireframe. (2nd image)

The wireframe was duplicated and "Shrunk" (scaled down) enough to give us double edging.  (this is where the lines' thickness is adjusted.  Lines can be given their own individual thickness if required)

Both edge-sets were "Joined" (CTL-J) and their vertices filled (F) at the ends so we get enclosed areas which can be filled in to form surfaces.  These are all coloured black.

Combining the two layers give us the overlay picture.  The frame is moved a tad out from the Ico's surface so we don't have surfaces conflicting and tearing each other.

Some ico panels were deliberately left open with only one or two edges included in the end frame.  This was done because of the word 'arbitrary' used in your your question.  You're not bound or limited to which edges are to be drawn, which aren't, or each line's thickness.

Parenting the frame to the ico sphere is a good idea.

EDIT:

On reading @cegaton's links in the comments above, the wireframe modifier idea could be combined with what I've posted here to give full control over the lines themselves as to which will remain, their size and thickness and even individual line colours.

Duplicate the 1st model, move that into a 2nd layer and in Edit mode subdivide as required.

Expand that so it's easily distinguishable from the original when viewed together.

Apply the wireframe modifier to the clone so we have a mesh cage.

Colour all or individual faces of the wireframe and re-combine the two models again but don't join them, just parent the wireframe to the original model.

Rescale the clone so it wraps neatly around the original.

We get this -

When the original model is to be textured there'll be no interference
from the cage lines.  These too can be modified at will and again, without affecting the original.

For a movie the lines could be made to appear and fade away using keyframed transparency, expanded or shrunk to disappear inside the model's skin.


Why image showing black Why image showing black. As the image and the nodes looks fine to me.

I have my transparent png image. When i unwrap and added texture. Image and the background look black.

May i know the reason why the texture and its background getting black.

I need this way the result

But its fake or wrong method i just put a plane on top it like this

and got the above result. But i want a clean way result.

Any suggestion or help. Thanks

You want to use the alpha as a factor for the background colour, otherwise you end up with transparent material.

Also I suggest using material viewport instead of texture viewport


Distort (transform) Mesh by formula I have a simple explicit formula F(x,y,z) = (f1(x,y,z),f2(x,y,z),f3(x,y,z)) and a mesh.

As an illustrating example (not the actual one) F(x,y,z) = (x+0.1*y*y,y-0.1*x*z,z+0.1*z*x), and say that the mesh is the usual monkey head.

I would like to modify the mesh by changing the position of each vertex but not the structure of the mesh. I want to do it one go: I am not creating an animation. There already are plenty of tools/modifiers that do that. However, I want the change of position to be precisely given by applying F to the position (x,y,z) of each vertex of the standard monkey head.

Is there a tool or an addon for that?

wouldn't a simple script work for you, something like this:

import bpy
obj = bpy.context.object
verts = obj.data.vertices
for v in verts:
    x,y,z = v.co[:]
    v.co = (x+0.1*y*y, y-0.1*x*z, z+0.1*z*x)


Lasso "Fill" Tool alternative for Texture Painting Lasso fill tool is a frequenly used tool in painting, used to quickly fill small areas with selected paint.

Blender 2.79 doesn't seem to have a Lasso Fill tool .The closest tool is the Curve Tool but it only works with the TexDraw brush and doesn't work with the Fill brush.

Is there any other workaround to create a Lasso Fill tool?

Your question is for a Lasso Fill Tool, but the video is showing the combination of a Lasso Selection tool and a Bucket Fill tool. We have a Fill tool in the Paint tools, but we do not have a Lasso Selection tool.

The easiest work around for now is to use the Mask tool in the 3d view to paint a selection with a hard brush and then invert the mask, switch to the Fill tool and drop a color fill into the unmasked area. In the 2d Image Editor, you can use a hard brush to paint a selection with a solid contrasting color and then switch to the Fill tool and turn down the threshold level to only affect the colored pixels of the contrast color.

The 2d image editor solution is only good for solid fill and not for any extra painting inside after the fill as far as constraining the selection for paint. The 3d view Mask tool solution is very good and can be considered to be akin to a Layer Mask in Photoshop styled editors, except there are so many more ways to utilize more than the single UV mapping of your object with the Mask tool.

The creation of a Lasso Selection tool in Blender is a good topic for a proposal on Rightclickselect.com community page, and it may have been suggested there a few times now.


How can i put a Force Field between two items for Keyed particles? I made two objects and a controler using Keyed particles on Blender Cycles, and it works fine, because i wanted to make the particles going into another object so i don't want to change this.
What i want to know (and need) is to put a force field (for example a Curve Guide) between them to make a distortion on the ''Line'' of particles made by the keyed items, because it's still to static.
How can i activate it? Since i already added a force field, isn't working for me..

Please help!
Thanks in regard :)

With the physics set to newtonian, boids or fluid, particles are influenced by force fields and curve guides, while keyed particles only follow their own control systems. Keyed particle systems move particles from the position of one system to the position of another particle system. The key point is that you can use more than two systems for keyed particles.

By having a third system in the middle that uses newtonian physics I got the keyed particles to follow the middle particles as they followed the curve.


Is it possible to open a script which contains a function which a button executes? I'm trying to find the scripts which execute blender functions like
bpy.ops.mesh.primitive_plane_add(),
but I can't find those scripts. If anyone knows how to do this, please reply.

Most of Blender's core operations are not python scripts, but rather compiled C++ code. If you want to see how these are written, you can download and investigate Blender's source code.

Most addons are a different matter. They're almost all in Python, and you can usually find these in the Scripts/Addons folder under blender's installation directory (for instance in my Win7 installation: C:\Program Files\Blender Foundation\Blender\2.76\scripts\addons).


how to fix top faces of Sphere? When i add Modifier "subdivision surface" it will happen.Don't know why..

[![enter image description here][3]][3]

There is a few things you can do.
When you subdivide cube you actually gets a sphere with different topology.

Or you can delete the top polygons and grid-fill them, but that needs some tweaking as the grid-fill will be flat, so you can select the center vertex and with the proportional editing and move him little up so the sphere is round.

Also you can use ISO sphere in the mesh menu but that is made out of tris polygons.


How to make global lighting in cycles? I’ve been wondering how to make global lighting in cycles but i’m New to lighting and I have not seen this question anywhere else. I know how it’s possible in the internal engine but is it also possible in cycles.

Thanks

The Internal (rasterizing) engine simulates even, undifferentiated lighting from a distant environment, chiefly using  two settings: the Environment Lighting, and the adjust-to-taste Ambient setting of materials, setting the degree to which the environment lighting contributes to the color of a surface. Ambient Occlusion can further simulate proximity shadows. These methods are essentially informed trickery.

The Cycles (Path Tracing) renderer approximates that same lighting by actually sampling the environment, including the light scattered from other objects in the scene.. no trickery is required. In Cycles (in principle, at least), you don't set 'environmental lighting', you set the environment.

That might include giving the world an emissive color, using the 'Surface' and 'Strength' settings in the World tab, or an HDRI texture; it might involve constructing a local environment of lights, emissive and reflective surfaces as you would in a photographic studio.

Have a look at gandalf's answer here for an introduction to the differences between the renderers


Delete All Internal Geometry I generated a bunch of random cubes from MATLAB as .STL and imported into Blender. All cubes intersect so there's a bunch of internal geometry. I did ctrl-F -> intersect to create edges between cubes, but now how do I remove all the vertices/edges/faces inside the cubes?

I checked out Simplify mesh by cutting out inside parts and tried to remeshing modifier, which did absolutely nothing possibly b/c I'm noob with this software, and tried the code which failed on line 4.

I'm used to using CAD, so could I possibly make an enclosure, boolean subtract from said enclosure, then fill the enclosure up with a second solid that doesn't have internals? Can Blender do that? Help!

Edit: Figured it out. Bool tool solved all my problems. Regular boolean would take forever to implement for something like this I think.

Bool Tool Addon (fast enabled)
⎈ Ctrl⇧ Shift+ after separating cubes using P> by loose parts in edit mode.


How to create reusable Python component This follows from Garrett's fantastic answer here: In Python, given x-value on 2D Bezier Curve, return y-value

(EDIT: question generalised as per suggestion)

Say we have a Python file Foo.py containing the function X(p,q)

I would like to set things up so that my scripts can call X(...), rather than have to copy-paste its definition into each script that wants to invoke it.

How to accomplish this? And where is the right place to put Foo.py?

You could save the file into the site-packages directory, which is found by going to your Blender folder and then 2.70 > python > lib > python3.3 > site-packages.

Say your file is called "Foo.py" and has in it a function

def X(p,q):
    return p + q

then, after saving it into site-packages, in the Blender text editor or console, you could use:

from Foo import X


How to combine texture nodes? I've been trying to combine these two textures so there is black background with white elements from both of them. I tried different mix rgb node variants but nothing seems to work. Changing the factor in mix RGB shows one texture or the other, but not both at the same time.
Please help
Texture 1:

Texture 2:

Node set up:

Result:

A MixRGB / Lighten mode with the factor at 1 seems to work:


Archipack: when adding a window to a wall with wood cladding, the window is at the wrong depth when adding a window to a wall system using wood cladding, the window is by default at a depth of 0.09. The cladding hides most of the window (see image below). Changing the depth to 0.10 resolves the issue and the window is now visible.

However, when adding a new window, the old window (and others) default back to 0.09. Very frustrating.

I am using Blender 2.81a. Archipack 2.2.4

Anyone else had this issue?

Looks like a bug in the hole geometry generation on such walls with small thickness.

Window depth is the same as wall width parameter and always must keep in synch with wall.

Either increase wall width or set window "Offset" to 0.06 (or play with this value) should be able to fix your issue.


How do I create new objects in the current viewport instead of at (0, 0, 0)? I'm working on details in a location on a scene that is not close to the origin. Right now, my options for adding a new object in the current area are:

Add the object, zoom and pan until the origin is in view, then move the object to where I'm working.
Remember the rough coordinates I'm working at. Add the object, go into the creation details pane, and set the position to those coordinates. Pan and zoom some in order to find that object because it might not be in view even so.

Is there a way to add objects where I'm working directly?
I'm aware that I can set the 3d cursor to where I'm working, which will at least mean the created objects are nearby, but 99% of the time I'm looking directly at the place I want the object added, and this would save a lot of time.

While there is no setting that makes new added objects appear in the center of the current viewport, there is the option to position your 3D Cursor to where you want the new object before adding the object, resulting in the new object being placed where you want it right away. Orientation is by default world-orientation, so keeping that in mind new objects can be placed where the 3D cursor is, but will need to be orientated to your needs afterwards.
To get the 3D Cursor to where you want it, you can either select an object (in which case the 3D Cursor will be able to snap to that objects origin, or in case you need to be very precise, you can also go in edit mode and select a vertex of an object to snap the 3D Cursor to.
The shortcut for the snapping is Shift+S where depending on object or edit mode the options given are different. Selecting the option to Cursor to Selection will reposition the 3D Cursor and new objects added afterwards will be located there as well.
You can also in case there is no object in your view, activate the Cursor mode

With this mode active you can click in your viewport, placing the 3D cursor and thus making that location the position where new object will appear.
To reset the 3D Cursor later just press Shift+C.
Or in case you use addons like "MachineTools", rather press Shift+S and choose Cursor to World Origin.


How can I repeat a mesh using multiple empties with unequal distances? I have a mesh and some empties with unequal distances between them and I want to repeat this mesh and place it where those empties are.
I know that if the distances were equal, I could use an array modifier and object offset. How can I do this for multiple empties with unequal distances?

Collection Instances
First put your object(s) into their own collection.
Select all your Empties. Go to the Object Properties, expand the Instancing panel.
Now it is important you keep ALT pressed until the end. This will propagate the modifications to all selected objects.
Click on Collection while still maintaining ALT and choose the collection you want to instance.
If you want "real" meshes afterwards, you can use CTRL + A > Make Instances Real or Object > Apply > Make Instances real.

Troubleshooting :
If you don't see any change after these steps:

Make sure the empties are not in the collection you are trying to instantiate
The Instanced Collection's origin might be different from what you'd expect. You can tweak it by following these steps.
ALT + Click doesn't work because you are emulating a 3 button mouse :

Add a collection instance only for one empty. Select all the other empties too and make sure the instance collection is "active" (yellow outline). Then go to Object > Make Links > Instance Collection or use shortcut CTRL + L.


How can I make a desert with sand that interacts with a car? I want to make a scene with a car in a desert, starting off on pavement then going to sand. How could I make the sand "kick up" behind the car, on the pavement and on the sand? And is it possible to have it leave tire marks in the sand? I have pretty much no clue how to do this. I was thinking maybe a particle system with rigid body. This is pretty much what I want https://www.youtube.com/watch?v=8GaBm26mUMM.

I have seen your Question and the video you have provided. Your first question is that whether it is possible to create that kickup effect. The answer is yes, but not the way you thought. You can't actually use a particle system for this one. For this, you need to use a smoke sim. They are easier to control and are way better. But I am warning you, YOU_ARE_GONNA_HAVE_A__BAD_TIME.
As for the tire tracks, that would probably need the particle system or some sort of addon like the molecular script. To create the dust simulation, you have to do this. Delete the default cube because its only purpose was to get deleted. Next, add a circle and flip it to be straight like this:
                               |
                               |
                               |

Next, go to the particles tab and create a new particle system. Go to End and set it to 1 and set the lifetime to 3. Next, go to velocity and set the speed to something like 10 m/s or something you prefer, and set randomize to 3 or something higher than 1. Next, use quick smoke and it has turned into a quick smoke simulation. Do you think I am done? No, I am just getting started.
Now, click on the emitter, click on the physics tab and select the flow source as the particle system. Next, select initial velocity. Now click on the box thingy and go to settings and set the resolution division to 120 or higher or lower depending on the quality you want. Set the time scale to the minimum value as a dust sim is a slow sim.  Now as you want a dust sim, it is pretty clear that you want the dust to rise, but no so much, so set density to 0.2 in behavior. Next, skip to Vorticity and set it to 4, the maximum value, as dust swirls a lot.
If you want ultra high resolution, select a high resolution for a very high-quality dust sim.
For more realism, add a turbulence force field behind the emitter (the circle) and play with the noise for how much strength you want. I recommend going very high because dust goes very long. Now click on the black box and select dissolve and set time to a very high number because dust takes a lot of time to dissolve. Select adaptive domain. Next name your simulation cache whatever you want and bake the simulation if you are happy with your sim. Next,
go to shading and add a volume info node. There, pick density and attach it to density in the principled bsdf density. If you want more naturalism, add a math node and set it to multiply, and set the value to some large number like 30 or anything depending on the visibility of the dust. Keep in mind the math node should be in the middle of the volume info node and principled bsdf node. Set the color to whatever you like but I would recommend setting it to the hex code #C0A080, the literal color of a dust storm.
Next, you have to render this out obviously so you can render it on your computer if it is beefy, watch it burn if it is weak, or what I suggest, send it to a render farm like fox render. Please don't strike me for spam as I am just suggesting a name. You have your dust sim ready. As for the tire tracks, I would say use an addon, as the molecular script addon. Please note that you don't necessarily have to use the values in this answer, you can mess with the values as you prefer. I will be sharing a video link. It is mostly for reference and I would recommend going with the answer than the video. (Please don't strike me for a huge wall of text.)
Here's the link:
https://www.youtube.com/watch?v=sNHIdcjhJT4
Hope it helps.


2.8 Solid view turn off transparency? I am trying to figure out how to disable transparency in solid view. I can disable it in LookDev via the node editor, but not sure in Solid...

The transparent surfaces are sitting on top of transparent pixels, but these pixels do have color information (as seen in the image above)...

I like the solid view for ease of Flat shade and other aesthetic preferences, particularly for texture painting...

Appreciate any help!

Press Z then hit 2.
It also has options for LookDev, Rendered, etc.


How are HDRIs used for the foreground? I was looking at HDRI Haven and some of the example renders appear to use the HDRI as part of the foreground.

For example this hdri:
https://hdrihaven.com/hdri/?h=old_bus_depot

In the example render below they used the part of the hdri in the blue square.  How is this achieved?

Use the HDR as environment texture.
Just line up the camera so that it sees that part of the environment.

Or rotate the environment image until you see the section you are looking for.
How do I rotate an environment texture?
To have shadows of the object create a plane and use it as shadow catcher.


Hot Key for Manifold Extrude I know that in the beta release of Blender 2.9 there is the new manifold extrude function. It allows you to erase the edges or walls from an extrude and helps provide a quicker hard surface modelling experience, similar to other systems. The problem is, you need to already have the geometry in place to use this feature. If you start with a basic cube you are just stretching the original cube as no new geometry is being created.
So I wanted to know: How you would go about adding a hotkey that works while currently extruding (like the alt button) so that you can switch the dissolve orthogonal edges (manifold extusion) during the extrude function.
I know that it should be relatively easy as other hotkeys already exist (using x, y, z to constrain the extrusion to an axis as an example). There is even a checkbox in the tool options after you have extruded.

So it shouldn't be too hard to have a key to shift the type of extrusion. It would something like 'alt' or 'm'. My specific question is this: is this something that you can script with python to add the feature? Or will I need to open up the source code?
Also if anyone knows how to talk to the developers, I feel like this a very simple request that could be put in easily without a lot of hassle. I just don't know what the best way to reach them would be.

press alt+e and assign shortcut to extrude manifold, so you don't need to keep toggling dissolve orthogonal edge every time you extrude


Why doesn't my GPU work for my mac? Mac info:

iMac (27-inch, Late 2013)

3.2 GHz Intel Core i5

8 GB 1600 MHz DDR3

NVIDIA GeForce GT 755M 1024 MB

Every time I try to render using my GPU, it crashes, hopefully some of you can give me some good advice, also I've tried going to Nvidia website but they don't have my graphic info so I can't get CUDA (NVIDIA GeForce GT 755M 1024 MB). Is there any other way I can get my GPU to work?

Thank you guys.

Please make sure you have installed the CUDA driver for your mac:
http://www.nvidia.com/object/mac-driver-archive.html

I have a 750M in my MacBook Pro (2.8 GHz Intel Core i7) and it renders about as fast as the CPU as long as the render job's RAM requirement doesn't exceed the RAM on the video card. In fact, I often render overnight with both CPU and GPU concurrently as separate command lines.


Stuck in opengl render I clicked opengl render in the drop down menu. Now I'm stuck and can't go back to full render. Can someone help me fix this please?

Edit:
Sorry, I really didn't give enough information. I meant that whenever I rendered my image it wouldn't come from the camera but from the view ports view in the default un-rendered style.
I want it to look like this isntead (Which i could only do with the preview render):

This happened after I clicked opengl render from the drop down menu.

An opengl render, in this sense is no different then a normal render, they both open the same window. What kind of new window rendering opens is set in the render settings as the Display.

It sounds like you have the Display set to Image Editor (the default).
In that mode the UV/Image Editor will take over the 3D view. You can simply press Esc and you will be brought back to the previous editor. Or you can change the editor, left most button in the editor's header.

Now if the display is set to Full Screen the UV/Image Editor will take over all of blender. Here again you can simply press Esc to get back, or you can press the "Back to Previous" button that will appear in the info header.  Do not change the editor type. If you do change it, say to the 3D view then go "Back to Previous" the info window that should be at the to of blender will be changed into to UV/Image Editor. Odd I know.

I have always have the Display set to New Window, that way it opens a new floating window just for the UV/Image Editor, and nothing in blender changes.


When I connect nodes the image starts blinking I'm trying to composite a still image, but every time I click on "Use Nodes", the image node starts acting weird/blinking. Then at the top of the toolbar it says it's trying to cancel something with the percentages fluctuating from 0 to 100 here. My render result ends up going straight white or gray.

Prior to this I was rendering an animation straight to mp4 format just so I can quickly preview it. Instead of compositing an entire image sequence I want to composite one still of it, but the nodes start having issues. This isn't the first time this has occurred.

Apparently it was due to Animation Nodes making calculations in the background.  Once I severed some of the AN connections everything went back to normal.


How can I make a sharp looking axe? Can I somehow make my axe look "sharper" in cycles nodes?

U could make a texture that makes the edges more bright as you see it on real axes:

Here the quick setup - maybe it can help


Fake flashlight volume with smoke: how to make noise texture coordinates not to follow camera I'am trying to fake effect of volume light beaming through smokey fog using emission shader on torus with noise texture plugged into volume output. I get the effect, but when I move camera around noise on parented torus keeps following which looks fake. However when I rotate or move torus itself noise doesn't move along and stays in one place giving the desired impression of foggy, thick air. Any idea how to fix that? Video example bolow:

Video example

Blend

I think you would like to keep the noise to be bound to the world coordinates. This will let you move the camera freely without effecting the noise coordinates. The Position in the Geometry will give you this.


Cannot Rotate camera in 3D view I'm currently having a problem with the 3D view -while working on a model, I suddenly wasn't able to rotate my camera anymore. I can manipulate the model just fine, the camera is the problem. I checked the Manipulate Center Points, Lock camera and pretty much everything I could find -I even reinstalled Blender! Still stuck, regretably. My mouse works fine, it zooms in and out perfectly. I just can't seem to rotate around the mesh. Any ideas what could be the issue?

In the 3D view header, find the icon that lets you change your pivot point.  Just to the right of that icon you will see an icon with three dots along the top and a left and right pointing double arrow below.  Clicking on that icon toggles rotation.  It's easy to click on it by accident.


Way to make a gradient for emission strength based on elevation So through watching tutorials on YouTube I've learned how to change the colour of an object based on its Z orientation using a ColorRamp while only using one material. However, I'd like to also know if there's a way to make objects which are higher up have a lower emission strength without making loads of different materials, as I would have a lot of objects to work through.

I'm not sure which tutorial you followed, but you probably have something like this in your node setup. Just add an invert node between the colorramp and separate XYZ node.


Use animation to change position of an object I want to make Jenga tower and main problem is how to 'relax' every block to get stable construction. When I hit AltA I get an animation of a system, when blocks fall down on the plane - how to save this system and use as a new background for operations? It would simplify a lot my work.

With selected object hit space and type "bake to keyframes", open Graph editor (at the left down corner of application), delete everything before and after interesting moment, then clear all keyframes - it will "freeze" the moment of simulation.


Export 2D Camera Motion as a vector for Vector Blur Node I have this camera just "waveing" due to an s-shake (Built-In Function modifier for the rotation keyframing), and I need to use the motion of the camera to rotate and blur an image like a post processed motion Blur. I tried to use the vector Pass while rendering but this only works if there is an object moving in the scene. I don't want just to import the image as a plane and render with motion blur cause this won't be practical if you have muliple scenes.
Basically something like this:

that is

  a pass that can tell the compositor in which direction the motion
  happens.

Is there any way of doing this?

Here is what I did to get it to work. (I didn't add an explanation to my comment, because I essentially just did, what you described in your question.) Anyways, here it goes:

I'm using Blender 2.79.

My Scene only contains a camera and an image plane, which I added via "Images as Planes". Then, I added keyframes to the Camera Rotation. I modified X-, Y-, Z-Rotation with a Noise Modifier.

I turned off Motion Blur in the Render Tab

And here are the Render Passes I used:

Then, turn on Compositing under Post Processing.

This is my Node Setup to add the Vector Blur:

Which gives me this result:

Note, that the image plane is NOT moving.

Have a look at the blend file:

EDIT:

A little side-note, that I've just noticed:

When I look at the vector pass (by Ctrl + Clicking with Node Wrangler Addon) I only sometimes see the actual colors in the viewer. Other times the viewer shows nothing. But this seems to be only an issue with displaying it, because, when I left-click on the viewer, I actually get a values at the cursor position. This can also be confirmed by saving it out. - The I get this picture, even though the viewer shows nothing:


Insert Face equally from all sides I've been seaching for the past few hours and cant find an aswer that still works in blender (all the answers I can find on SE seems to be weofully outdated?)
How do I insert a new face with equal distance to all outlying edges?
No matter what I do, it always scale relative the scale of the cube (wether I scale the cube in edit or object mode, using scale or dimessions, doesn't matter, I can not for the life of me get it to simply insert the new face x units from all 4 edges.)
Please help.
Also, bonus question, what's the point of dimessions? as far as I can tell, they do exactly the same as scaling? (Insert and Loop Cut behave exactly identically regardless? ie. you cant use the viewports measurements to anything, since all the numbers are relative the the axies they are scalled along?)
Please note in the picture below, the cube was scaled in edit mide before using Insert, and I get the same result if I scale it in Object mode

I think the main culprit behind the trouble you are having is because of non-uniform scale. What I mean by this, is that every time you scale an object in Object Mode, you should apply scale (Ctrl + A > Scale), or it can and will cause a huge raft of issues later, from problems with texturing, to insets, to issues with curves and arrays.
Take this example - All I did was make a scene with 2 default cubes. One of the cubes (the one on the left) I scaled by 2 on the Z-axis in edit mode, and the other (the one on the right),  I scaled by the same amount in Object Mode. I then entered Edit Mode, and inset the front face of each of them by the same amount. I also added a horizontal and vertical loop cut around each so the "Edge Width" overlay will give more useful measurements.

Notice the difference between the two - not just as to the shape of the inset, but also as to how "long" blender" thinks each of the edges are. (ie: the cube scaled in Object Mode "thinks" it's still the original 2M long on the Z-axis).


Making edges "square" for 3D printing I am 3D printing models that I have created in Blender to an exact scale (1:30).  Quite often, the edges I have created in Blender are not quite square (not that I would notice in the Blender world), with the result that the 3D printer performs a few "rasters" rather than one continuous horizontal surface.  You can see that it has worked out OK in the first image below (printed with a 0.15 mm layer height)) but when I increase the resolution of the print to a 0.10 mm and then a 0.05 mm layer height the problem appears.

These can have quite a significant adverse effect at my scale, so I was wondering/hoping if Blender offers a mechanism to "squarize" selected edges?

Sounds like you want to keep your horizontal/vertical edges perfectly horizontal or vertical?  If so you can use Blender's snapping tools to make sure that vertices line up perfectly.  If you don't want to snap individual vertices, you can use the 'Mesh Edit Tools 2' add-on that comes with Blender...no need to download or purchase or anything; it should be there already:

Enable it and you'll get an additional section in your toolbox:

Under 'Vertex' select the dropdown and choose 'Custom Coordinates':

Then select the vertices you want to align, like this exaggerated example:

Choose 'Align Coordinates' and type in the value to align to.  In my example, it's just z = 1.0:

Click 'Ok', and boom, all of the vertices are now EXACTLY at z = 1.0:

Obviously you'll need to figure out the values to square to, but this should give you perfectly straight and square prints if you take the time to align the vertices on your edges.


Is it possible to convert hair to alpha planes? In Zbrush you can groom your hair, and then convert that to alpha planes. I'm curious if it's possible to achieve the same result in Blender?

I tag particles because that seems to be what people in other communities recommended. I've checked a few video using particle system for grass but I can't find anything related to grooming or direction controlling.

An example of what I wanted to do is this little guy here. The planes need to follow different directions in different area. Such as spreading out from the eye following the edge loops.

https://www.artstation.com/artwork/56wLO

Thanks in advance.

Particle edit & Render as Object

Blender has some nice tools to work with hairs.

To assign planes to hairs, use the Object (or Group) option you can find in the Render panel of the particle system.

Texture the plane and all the particles will follow that.

You can comb hair particles in the particle Edit Mode.

Once satisfied, you can run the "Make duplicates real" operator to convert the particles to individual meshes so you'll be able to export the objects fbx, obj... and use them in other softwares.


Blender Select Random Face But Not Sides I am making an abstract sphere in blender and am having trouble with the random select feature. Basically I want to only select outer faces and not the "sides" as shown in this picture.

Does anyone know of a way that I can use the random select, but then ignore side faces of my model? (Without having to go through and painstakingly deselect them all by hand)

You can do this in two steps:

Select one of the triangular faces, press ShiftG (Select Similar) and choose Polygon Sides. Now all triangular faces should be selected.
Press space, type in Select Random and hit Enter. Now here comes the trick: You can switch from Select to Deselect mode in the Tool Shelf on the left hand side of the 3D viewport:

If the Tool Shelf is not shown press T while your cursor is in the 3D Viewport.


How to compute and visualize a Vector? I would like to use Blender to visualize what I'm calculating with linear algebra formulas, I need to perform linear functions starting with a 2D or 3D vector and multiply this entity with a custom defined matrix; the result of this is a vector that I would like to visualize in some sort of way on the scene ( an arrow, a cilinder, a 3D shape a 2D shape, something ... possibly with colors so I can visualize multiple vector on the same scene ).

Now I know how to get the x,y,z coordinates for each vertex,

# 1 possible way to get x
bpy.context.object.data.vertices[0].co.x

I don't know how to get an object of type Vector out of this ( 2D or 3D vector ) and fill a matrix ( tipically a 3x3 matrix ) that I can use to perform the computation.

I'm basically having a little trouble understanding how to get the types that I want for the task that I need to perform.

And in the end I also need to keep the result of this computation, tipically an array of vectors/vertices, on the scene in an easy-to-visualize way.

I'm using Blender 2.68a.

Thanks.

I would suggest to add empty objects, or create a mesh to visualize Matrix/Euler/Vector types.

As a handy alternative to this, Blender comes with the MathVis addon that draws python defined variables in the view-port.


IOR in Blender Internal (raytraced) I'm confused about IOR in Blender Internal as used in raytraced transparency.
To demonstrate my issue, I set up a camera looking through a transparent sheet with IOR>1 (and slightly tinted) at a textured surface.
You can clearly see the expected refraction.

But when I flip normals, I get exactly the same render!
My question is therefore:  How does Blender Internal determine the "in/out"-side if it does not use the normals for that?

Placing the camera inside a properly closed transparent volume with IOR does not change anything.

Clearly, I can invert the IOR to treat camera rays, but I came across this issue when reflections going out and then back into the glass material misbehaved.

From user2859's comment:

  It doesn't use normals to determine where the ray is. It just swaps a traversal flag on ray pass.


How not to render objects when they are out of the frame? I understand i want too much,
but is it possible to disable object when it's not in the frame.
It's just for rendering time reduce.
I see that it's unable to set keyframe on the render icon, but may be there is another way to do it?
Thank for your attention!

to switch visibility during rendering/animation just hit I when your cursor hovers over the little camera icon to add a keyframe. Then move the timeline cursor to another frame and tap on the little camera icon to toggle it and hove over it again and tap I again -> ready.
The other "place" where you can set the keyframe is here: (it has the same effect): (Renders)


How to make a perfect curve Is there any way to create a perfect curve automatically without having to move the polygons manually?

You can use Relax function that comes with LoopTools add-on. The add-on comes with Blender so you just need to activate it in the User Preferences (ctrl+alt+u). The function is then accessible from Specials menu (w), LoopTools submenu. It can be used with edge loops selected. Note all the options in the t panel that you can change.

Space function might also be useful:


Multi Shaders for Same Material I have an ashtray model(picture1). I picked some faces(picture 2) and applied an material for ash and some part of metal under it. i mixed two textures with MixRGB node and used black/white image as alpha to clean around ash so that the metal part seems. But in the end, i want my ash part not glossy(diffuse) and metal part glossy. How can i achieve it ?

Picture 1 - My mesh

Picture 2 - The Faces i applied my ash/metal metarial

Picture 3- Node setup i used to mix metal and ash texture with help of an alpha image

Instead of one shader (Glossy), use a Mix shader node that is fed by the Glossy node and a Diffuse node, and plug that alpha image into the mix factor of the mix shader to control where the shader type is.


Trouble file StringProperty subtype FILE_PATH I have a StringProperty(subtype="FILE_PATH) and I am trying to make it so the user selects a folder and then a file is saved out to the location, but the filepath comes out looking really funky.

The folder selected is D:\Pictures, what the StringProperty shows is //..\..\. What is going on here?

// indicates a relative path in Blender.

Make sure you untick Relative Path in the Accept panel of the file browser to make it an absolute path.

Or you can convert a relative path to a absolute path using the built in method bpy.path.abspath(path)


Brush library in Blender I need to paint textures by hand in Blender (I currently use the 2.8 Alpha version).
I created several brushes from image texture, with different settings and now I would like to save them for later use in other scenes.

What's the process for exporting the created brushes (if possible)? Is there any way to create a brush library in texture paint/sculpt mode to view and select them easily? Kind of like in Gimp or Photoshop.

You don't export anything from Blender to Blender. You simply keep them in a .blend file and append them when you need (File → Append).

However, unused textures are considered as orphan data. In Blender, orphan data are not kept in the .blend file, so they disappear as soon as you close it.

So, in order to force them to stay in your library .blend file, you will have to open the outliner, switch to the orphan data view, and check every data you want to keep. (Those kept have a checkmark, those unkept have an X instead, click the mark to switch between.)


Why is the dribbling icing inside of Donut instead of being on the top? I'm following the Blender Guru tutorial and I've done everything as described in the tutorial, but as I pressed E to add the dribbles for the icing two issues happened:

1) It seems way more sharp than it did for the guru

2) (Important) The dribbles are always inside the donut instead of on top

Seeing how you've enabled face snapping, the issue is with how you've extruded the edge. If you took a cross-section of the donut shown below, your icing is cutting into the donut, represented by the highlighted line. Since you've also got a very thin solidify modifier, the icing isn't thick enough to push outside of the donut.

Rather than just extruding once, consider splitting it into multiple segments, so it follows the surface of the donut more closely. Notice how parts of the icing wireframe end up going beneath the donut mesh, but its close enough so that the solidify modifier (which was hidden so you could see the wireframe) could push the icing above the donut's surface.


Vector Blur Node not blurring I have a bunch of boxes flying apart in Cycles, and I'm using the Vector Blur node for motion blur. Nothing's blurring.

It's the simplest compositor setup: RenderLayer Image/Z/Speed goes to Vector Blur node Image/Z/Speed, Vector Blur node goes to Comp.Out and Viewer.Out. I've tried all sorts of settings on the VB node, but nothing changes. What have I not set up?

Blend file: https://www.dropbox.com/s/8k6n3cr3wu2iwqo/logo_match.blend?dl=0

This is because the vector pass can't "see" through transparent (glass) objects; in this case all it sees is the lens object, which is remaining motionless relative to the camera.

To render with motion blur in this situation, you'll have to use Cycles' built in motion blur. Enable it in Properties > Render settings > Motion Blur:

And remove the vector blur node in the compositor.


How to convert images from logarithmic space to linear? Some software have the ability to convert from/to Cineon logarithmic space to linear. It also appears that Blender had a node named log2lin in some point (in 2.4 maybe).

Is there a way, addon or node group that can make the conversion? And the opposite?

If you intend to transform a log encoded image to scene referred linear, you need to be certain of the following characteristics:

The log encoding format of your source footage. There are many different log encoding formats, and to achieve a proper transform, the exact log encoding, with variables, must be known.
The source footage colour primaries. The source is encoded with specific colour primaries that must be known.
The destination colour primaries. These must be known to transform to your reference correctly. Blender's default configuration reference space assumes BT.709 primaries, for example.
The destination transfer characteristics. In the case of default Blender, the reference space in the compositor is scene referred linear.

Once you know these details, the proper transforms can be added to the OpenColorIO configuration, and your data can be transformed correctly.


Local axis of imported objects I'm fairly new to Blender, but have come from a 3DS max and Inventor background. I have imported a model done in Inventor, in OBJ format. This is quite a large model of a steel structure with approx 500 objects. On import all of the objects have their origin at the world origin (0,0,0). These objects local axis are also aligned with the world axis and not with the objects.

I can set the origin of these objects to a new location but aligning the local axis is tricky. I can create a new transform based on a face but this will mean creating lots of custom transform orientations for many parts. Is there a way of manually adjusting the local axis to align with these parts?

Below is a screenshot of part of the project. The image shows 3 tubes all at different angles. The local axis of the closest tube is not ata ll aligned with the tube part.

I would like the z-axis to align with the axis of the tube.

At the moment my work around has been to select the end face of the tubes and align the view to that face. Then add an empty aligned to view. If I parent the tube to the empty I now have the desired local axis that I can scale. It is taking a while to do these steps on many parts.

Thanks in advance

Nigel

At the time of import: use the FBX options, and scale to 0.005 or 0.05
Else: Make an empty, import your 500 objects. When they come to scene make sure you are looking at your empty. then "A" (to select all), then "A" (or ALT+A if 2.8) and every object is now selected. LASTLY: SELECT YOUR EMPTY. Then hit CTRL+P (Parent objects), KEEP CURRENT TRANSFORMS.
Everything will be child of the empty object you made. Now, press "N" to bring the numeric panel on your 3D viewport. And try scale 0.05 on all X, Y, Z
See if that works.

If you find this is the answer, thank you for your consideration to vote me as the answer by clicking to the left :the icon with a check mark and upvote this answer.

BFCT_Schiller


Weird distortions when rigged object collides with itself I've got this shape that I've rigged that I want to grow up and fold out like a branch.
But whenever it collides with itself I get what looks like faces forming between them.  Why does this happen and is there a way I can remedy this?

Thank you! The problem seemed to be I had removed the edges to reduce polygon count. I rigged my older model and the problem wasn't there.


Can't see the alpha/texture of sculpting brush when changing size Very new to blender, so I don't even know what the name is for what I'm describing, or how to find the name, will attach pictures.
Basically, have been watching some tutorials for sculpting in blender, and notice that when the tutor adjusts their brush size, they can see the alpha(?)/texture projected into in the viewport.
Like this

But when I load up a new sculpt, I can't see the texture, it just looks like this.

Might the tutors have just uploaded a different texture prior to the tutorial, or is there some setting that I haven't found to make your alpha/texture visible?

You need to enable the Falloff visibility in the Tool settings. You can access it in the header of the 3D view while sculpting or in the Tools properties in the properties editor.

Arguably the tooltip and the panel in which you access the overlay properties are misleading.
You can also change the opacity there. Enabling the Brush icon button will remove the overlay once you have clicked so it doesn't cover your mesh while sculpting.


Sculpt brush set not working correctly I downloaded the Orb brush set from blend swap and the instructions are useless in my case.

Blender cant find the textures or the icons for when you want to choose a brush. I can manually select the texture from the folder but the icon for it is still not visible.

I guess what I need to know is where do I put the "textures/icons" folders to make the icons visible and blender be able to find them with out me looking for them manually.

Once you put the .blend, textures, and icons folders in c:>users>YourName>AppData>Roaming>BlenderFoundation>Blender>2.79>config, open a new .blend and append the brushes from the .blend in the location above and nowhere else. Save as a new start up file and you're good to go!


Unregistered "static draw" handler for sequencer I'm trying to write a sequencer add-on. I need it to add a bgl UI on top of the sequencer timeline, without a real interactive part, so I'm trying to make it a kind of "static handler" (I'm no coder, I don't know the specific term for it) instead of a modal operator with timer.
So far, I have this working, but I can't find a way to unregister it correctly when deactivating the add-on...
Here's example code with "hello world":

bl_info = {
 "name": "modaltest",
 "author": "tonton",
 "version": (0, 1),
 "blender": (2, 7, 9),
 "location": "Sequencer",
 "description": "",
  "wiki_url": "",
 "tracker_url": "",
 "category": "Sequencer"}

import bpy
import bgl
import blf

def draw_callback_px():

    font_id = 0  # XXX, need to find out how best to get this.

    # draw some text
    blf.position(font_id, 15, 30, 0)
    blf.size(font_id, 20, 72)
    blf.draw(font_id, "Hello Word ")

def register():
    bpy.types.SpaceSequenceEditor.draw_handler_add(draw_callback_px, (), 'WINDOW', 'POST_PIXEL')

def unregister():
    bpy.types.SpaceSequenceEditor.draw_handler_remove(draw_callback_px)

I tried a bunch of ways to unregister the handler, nothing so far has worked. Do you know what I am doing wrong? Thank you very much in advance! :D

Define a "drawing class".

Similarly to method used in this answer  When registered the widgets are drawn on all VSE spaces.  When unregistered the drawing handles are removed.  Simple message and location passed to class.  In script below two "widgets" are created drawing "Bob" and "Jack" at different locations on VSE.

bl_info = {
 "name": "VSE blf test",
 "author": "",
 "version": (0, 1),
 "blender": (2, 7, 9),
 "location": "Sequencer",
 "description": "",
  "wiki_url": "",
 "tracker_url": "",
 "category": "Sequencer"}

import bpy
import blf

class DrawingClass:
    def __init__(self, msg, loc):
        self.msg = msg
        self.loc = loc
        self.handle = bpy.types.SpaceSequenceEditor.draw_handler_add(
                   self.draw_text_callback,(loc,),
                   'WINDOW', 'POST_PIXEL')

    def draw_text_callback(self, loc):
        font_id = 0  # XXX, need to find out how best to get this.

        # draw some text
        x, y = self.loc
        blf.position(font_id, x, y, 0)
        blf.size(font_id, 66, 72)
        blf.draw(font_id, "%s" % (self.msg))

    def remove_handle(self):
         bpy.types.SpaceSequenceEditor.draw_handler_remove(self.handle, 'WINDOW')

widgets = {}
def register():
    widgets["Bob"] = DrawingClass("Bob", (0, 0))
    widgets["Jack"] = DrawingClass("Jack", (140, 140))

def unregister():
    for key, dc in widgets.items():
        dc.remove_handle()

if __name__ == "__main__":
    register()

Might find this handy for 2D  coordinates in VSE.

PS.  Initially forgot to change SpaceView3D type in handle_remove, and found another sure fire way to crash blender.  Suggest actually passing the space type to class as well as demonstrated in BGLWidget class


Cinema4d R19's new viewport and Blender's EEVEE Cinema4d R19 version has a nice viewport update.

Is there anything different from Blender's EEVEE?

Or are high-quality viewports now becoming mandatory for DCC software?

Thanks.

R19 only have preview rendering mode (or advanced OpenGL). Where Eevee is a game engine view (close to UE4) Afaik, C4D have no plans on making an actual game engine view. But I could be wrong of course.


Objects mesh set to smooth but some edges show sharp after using Bevel tool Please help me solve that. See images below.

As you see after I use Bevel tool, red circled edges are sharp. EdgeSplit modifier angle is 45 degrees, mesh set to smooth, no duplicate vertices.

Please help! Tried many ways but no luck. :-(

This is what I am trying to model.

You can use the Bevel Modifier with a Limit Method set to Angle, instead of Bevel tool + EdgeSplit modifier. EdgeSplit modifier only change wich Edge appear smoothed whereas Bevel Modifier allow to adjust wich Edge is beveled.


Blender is rendering my short animation too slow! I have a small problem that I just encountered. My Cycles render is too slow, even though I just need to render 120 frames total! It takes literally 4 hours to render 1 frame, and now on my third frame it says it will need 11 hours to render/denoise!! I don't know what to do, as I reduced the sample size and increased the render tiles to 256 by 256 (GPU compute). I got those tips from another website and I thought it would help? Someone please help! I'm very new to Blender, so I need a very detailed but easy to follow tutorial

Welcome to the hard reality of 3d Rendering: rendering takes time, a lot of it.
The more detailed and complex the scene, the more resources are needed to render.
You have three options:

Use more powerful hardware, more processors, faster processors, more GPUs and lots and lots of RAM.

Use a render farm, that will render all the frames using many computers, freeing your own. If every frame takes 4 hours to render  and you use 120 computers simultaneously, then you can render 120 frames in 4 hours!
Or use cloud computing to have access to higher specs hardware. Do a search for Amazon elastic compute clud, or other similar solutions.

Adjust your expectations to the hardware available to you. Create and optimize your scenes in a way that you can render them within your means, and in a reasonable time.


Blend4Web does not render in Mac OS Sierra 10.12.6 All my Blend4Web.html files (which worked fine on my Mac) don't work anymore. I double click the html and I see the Blend4Web Wheel for a couple of seconds (as usual), then the buttons appear, but the 3D Object does not load. I never updated the drivers for the gpu and it always worked. Apart from the Mac OS update, the only other thing I changed was to always use the the graphic card and not switch between the internal and external. Any ideas why this does not work anymore would be great. Thanks.

This is a known Chrome 60 bug which is already fixed by Google in Chrome 61. Nevertheless, we're going to include a workaround in the upcoming 17.06 LTS and 17.08 releases.


Using a scripted expression driver to combine two angles I am trying to use a driver with a scripted expression to place an object's rotation in between the rotation of two other angle-measuring objects.

So there are objects I've labeled BeginAngle and EndAngle, as well as ResultAngle.
I've managed to script it so that ResultAngle will be placed exactly halfway in the middle using:

((endangle-beginangle)/2)

What I really want to do is not just place it halfway but instead specify ratios in decimal like 0.333, 0.618 etc.
My Python and math skills have proven insufficient thus far.

.blend file here.

Thanks for any help!

Things to note:
Rotation along Blender's Z axis is inverted (- degrees), making this trickier. Also you may need to tick "Auto-Run Python Scripts" under Preferences > File.

I assume you mean that you want a "convex combination" of the angles, so that:

0 will return an angle that is just BeginAngle
0.5 will return an angle halfway between BeginAngle and EndAngle
0.33 will return an angle that is closer to BeginAngle than EndAngle

In that case, you can use the scripted expression:

(1.0 - 0.33) * BeginAngle + (0.33) * EndAngle


How can I create a library of animations? I want to store animations (just the animation data itself) so they can be recalled and reused in other projects.

How do I create such a library of purely animation data?

(For instance if I have some text animations that I like the feel of and wish to reuse)

I can see why you might flag this as possibly answered the question though the suggestions are not quite what I meant, I want a library that is visible to all projects without 'linking' akin to Photoshops presets.

In fact I wish this was the case with all data objects, materials textures etc.

EDIT
Please see the edit. I wasn't asking about linking files, but about libraries, so that animations appear as presets - this should not have been marked as duplicate especially in the light of this.

Blender allows you to link or append.

Linking only creates a reference to the cross-referenced object.

Appending imports the cross-referenced object into your current file as a local copy.

Both are available through the File menu.

There's a great answer already on this site:

How can I reuse existing materials, objects, etc from an existing .blend?

Presets

So in response to your updated question I understand that you want something accessible from all projects without linking.

This is where add-ons come in.  There are loads of them out there and if you know (or are willing to learn) Python then you can roll your own add-on.  There are plenty of examples out there and here on how to go about this and also the source code for the included add-ons are available on git.blender.org.


VSE: How to Reuse an Animation or how to Create an Animation Template? In Short

I have animated a strip in the VSE and would like to apply the same animation to other strips later. How can I do that without manually recreating the keyframes on the other strips?

In More Detail

I guess I’m looking for a way to create something like an animation template that I can apply to multiple strips at different points in time. Ideally, making changes to the animation template will also update the animations where the template was used.

The accepted answer on this question suggests that Actions could be used to create such animation templates. Unfortunately, I couldn’t get new keyframes on VSE strip properties into custom Actions but only into the default “SceneAction”.

Example .blend File

Here’s a sample .blend file that shows what I’m after:

There are three similar, scaled (color) strips on top of a background strip. I have animated the yellow strip (via Transform.Yellow). I would like to reuse the same animation on the other two color strips, just later in the video.

(Note: in reality I don’t work with color strips but they should be good enough to demonstrate the issue.)

Consider

Change Data Files ... a single button in the VSE Panel
Copy and Paste from the Graph Editor Window

Additional

Archive your software by Duplicating the file or entire Scene to Duplicate all VSE Strips.
Duplicating the Strips in the Particular Scene to test new animations.
A Python Script solution by searching BSE or the internet in general. Obtaining a new Python Script written by someone or you.  Your expertise with Python will be a factor in determining the cost of this.

A Python Script can handle this situation.  The cost could be searching the internet or someone writing it.  You might be that someone.
Sometimes a manual solution may be more time cost or other cost effective depending on arrangement and quantity of data.  If you get lucky.  Probably more people on the BSE site are familiar with Copy and Paste rather than writing a Python Script.

Please know keyframe data can be copied and pasted from the Graph Editor Window.

Copy and Paste from the Menu or use the indicated standard keystrokes.  Image Above.

You might also have a manual copy and paste solution depending on your data quantity and the time cost or other cost of getting a Python Script.  Just like spreadsheet data or text data has a copy and paste with a cursor ... the Blender User may copy points of the one data graph (A) and paste them to a certain target data graph (B) with the graph timeline frame cursor.

Lets imagine an optimistic hypothetical situation. Suppose your Blender Scene situation has 3 independent video strips in a set named [A] in VSE each with 88 transparency keyframes each and 3 dependent video strips in a set named [B]. Next the scene is duplicated and [A] has been given a new animation by you.  Next you may only need to copy and paste actions 3 times to give [B] a new animation.  In this scenario you did [not] manually duplicate the work of thinking about the 88 keyframes individually.


What is the between normal and local space? So I get the difference between global space (or world space, whatever you want to call it) and local space-- global space looks at locations in a 3D Cartesian Graph that has a fixed orientation/location which is independent of the objects within it while local space bases its 3D graph's orientation/location off of the object that that particular space belongs to. Then normal space is dragged into the mix and it gets confusing: I've tried to spot a difference between local and normal space by using the transformation orientation and, as best I can tell, normal space and local space operate with the same orientation/location.

Probably your confusion derives by using a cube as example, which is an ultra regular object. Try Suzanne instead: the difference between local and normal is evident. The normal is calculated by the average of all normals of selected faces.


Substance Designer and Blender So I recently purchased Substance Designer and developed a granite material for a blender scene. (Below)

So it's all fine, nothing wrong with the program, but how do I export it? I'm not expecting it to be native to the program, but I couldn't find a single addon for Blender to import a .sbar file. All I could find is how to export substance painter stuff.

So do any of you know how to do it without more paid software?

Blender does not currently support importing packed substances (.sbsar files). Due to licensing issues, this may not ever be supported. In any case, you can just export the graph outputs as images and load those directly into Cycles. Note that .sbsar files are "compiled" to raster images prior to being rendered - even in renderers that support them natively, you do not get infinite resolution like you do with builtin procedurals such as the noise node.If your Substance doesn't have published controls or external inputs, and it doesn't look like yours does, there's not really much advantage to using a .sbsar vs image inputs. I wanted to clarify this, as it's a frequent misconception about how Substance works.

To export the outputs, right click the graph in the outline (the graph, not the package) and select "export outputs to bitmaps". Choose a path and check the channels you'd like to export. Official documentation is located here, if you need it: https://support.allegorithmic.com/documentation/display/SDDOC/Export+bitmaps

Once you have your channels as images, you can load them in Cycles and attach them to the Principled BSDF like usual. See my answer here: Which is the best workflow to follow when texturing and importing textures from Substance Painter?


Can honey bee colony simulation be done in Blender? I am fairly new to blender and I want to simulate an environment of bees flying in and out of a bee hive, collecting nectar from flowers which are randomly placed in the environment and go back to the hive. In the hive, a few bees should be simply flying around.

Can this be done in blender? Should I use additional modules?

I expect you can do a good job of that in blender, within the particle physics settings you can find some boids options, these can be used to simulate a flock of birds so it should do bees just as well. I would have some empties moving from place to place that a swarm would follow to specify the timing of the bees moving.

You can use multiple particle systems so you may want one for the bees hanging around the hive; one (or more) for each group(s) that goes off to the flowers; and one (or more) for each group(s) that returns to the hive.

You can also use particles to place the flowers around the scene.


Auto apply a frame to over 50 imported paintings I'm new to Blender and making good progress.
In a room, I have over 50 paintings (different sized imported planes).
They all use the exact same frame. The frames are identical in that they're all white with the same texture, same depth etc
Is there a way to auto-apply the frame around my 50 paintings?
Ideally I'd like to do this at the import stage as it's getting very tedious duplicating my frame and then sequentially applying and resizing to each different sized painting.
Here's a screenshot and thanks in advance for trying.

Thanks. P

Yep - apologies. I mean frames as in wooden picture frames.
Here's a screenshot and thanks in advance for trying. 3 frames in a row

They all use the exact same frame.
What I mean is the frames are identical in that they're all white with the same texture, same depth etc

Through the UI:
Design a frame-profile curve in such a way that its origin is on the inner edge of the frame's passepartout. (Test it out in a rectangle)

Import your images as frames
Select all, and ShiftD duplicate the lot. (It's sensible to keep pictures and duplicates in separate collections, for hiding, etc.)
All dupes selected, Alt + Header menu > Convert the duplicate planes to curves, in one move.
All the curves selected, one active, Alt assign the frame Profile as Bevel object. All the frames should acquire the bevel.

So now, all the pictures are framed. Trouble is... they're all separate objects.

Alt Convert all the frames back to meshes.
Choose Locations from the Header Options dropdown, with pictures and frames selected, scale the objects' locations to spread the framed pictures out a bit.
CtrlJ join everything into one object.
In Edit Mode on all, M Merge > By Distance all the coincident vertices of pictures and frames. If your profile was good, that should be all 4 corners on each picture.
Still in Edit Mode, P Separate the framed-pictures object by loose parts.
Object mode, all selected, ShiftCtrlX Origin > To Geometry

Now all the pictures should be framed, as single objects, with origins at their centers. Trouble is... they all now have a lot of surplus material slots.
To clean them up, you could run:
import bpy

sel = bpy.context.selected_objects

for ob in sel:
    bpy.context.view_layer.objects.active = ob
    bpy.ops.object.material_slot_remove_unused()


Why doesn't my boolean difference modifier work? OK, I have a long, thin cube. I want to cut a spherical shape out of the bottom. Here is the cube and sphere:

Here's what happens when I add a boolean difference modifier to the cube, with the sphere as the target:

Here are my modifier settings:

Why does it just make the sphere fuzzy instead of removing the overlap from the cube? Why does something so simple have to be so frustrating?

Booleans are very powerful tools but they are very picky about overlapping vertices and edges.
In this case you have a sphere with a top and bottom vertices which have a lot of connecting edges. Top vertex can be seen in attached image. Your boolean will break if the side of your object overlaps with any of these edges.

You could change you sphere to a round cube which doesn't have similar vertices on top and bottom. (To add a round cube use an build-in add-on Add Mesh: Extra objects). Round cube is easier to align with your object. Just make sure none of the vertices and edges overlap.


How do I update my Autodesk Import/Export Plugin? I'm having trouble importing FBX files from Daz with morphs, and a friend who is using an older version of Blender (2.78) actually has a newer version of the Autodesk Import/Export Plugin (and in the Blender docs I see there is a newer version still -- I'm using 3.1.17).  How do I get a newer version?  I've searched the web everywhere, but don't see any way to download this.  Do I just reinstall Blender and assume the newest plugins will be there?

The fbx import/export addon is one that ships with blender, newer blender releases will include a newer version of this plugin.

When you say you are using 3.1.17, I think of two possibilities, either you are reading the version wrong or you have a non-official version of the plugin installed. Blender 2.79 includes v3.7.17 of the fbx addon. In this commit made Oct/2014 the version of the fbx addon went from 3.1.0 to 3.2.0 and that 3.2.0 version of the addon was part of blender 2.73.

In your preferences, find the fbx addon details and you can see the version as well as the path to the addon file. If the path does not match the installation location of your copy of blender it will most likely be your settings folder. If this does show a version of 3.1.17 and it is not part of your blender install, find and delete that addons file/s.

If you have somehow managed to get an old version of the addon to replace the official installed addon you need to re-install blender and ensure that the correct addon files gets installed.

If blender 2.78 which included v3.7.7 of the fbx addon is able to import files that the newer version doesn't, you should report that as a bug explaining that the older version handles specific files better.

Being open source, all the files used to create blender are publicly available, you can find and download any or all of them. The fbx addon can be found in blenders addon repository which is now at v3.10.0, this is expected to work with blender 2.79 and may or may not work fully with older blender versions.


Hide an object from reflecting in the ocean modifier I'm new to Blender and just following a tutorial.
I wanted to put a bit of my own stamp on it and got this grid set up at the top to give it an 80s vibe:

But its making a mess of my ocean.
I want to have the pink grid object in the top to be hidden from being reflected in the ocean modifier plane below.
I tried searching and looking for how to hide an object, turn off the shadows, etc.
I thought maybe I could add a plane in between that would work as a one way mask - you can see the orange plane outlined which has a holdout material shader applied to it and backface culling on so I can see through this side, but it didn't stop the ocean still getting a peek.
Can anyone point me in the right direction? Is it possible?
(Update, I've been using Eevee to render this)

You could use the Compositor or try this kind of node setup for your grid material: Use the Input > Light Path > Is Reflection Ray as a factor between the original material and a Transparent node (you'll need to give your material a Settings > Blend Mode > Alpha Blend):


How do I remove vertex from vertex groups to edit hair particle system? As you can see my characters beard is spreading over his neck a bit too much. I cannot find a way to remove the neck verticies from the beard vertex group sucessfully and have it re edit the hair.

Removing vertices is fairly straightforward; select the verts and click the "Remove" button right next to "Assign" while your group is highlighted.

If the problem is that the changes aren't showing up then you can usually rectify this by changing the "Seed" input (seen below) to force an update.

Aside from that, make sure you aren't applying any Particlesystem modifiers as that will finalise any changes you make. If none of these solve your problem then I don't think I fully understand what the problem is, perhaps you could be more specific

[EDIT] Blender doesn't allow retroactive edits to particle systems that have been edited in "Particle Edit". However there are tricks to overcome this issue:

You can control many aspects of the hair including length and density using weight painting as seen in the "Vertex Groups" section (Verts in a groups are assigned a uniform weight of 100% by default which can give unrealistic results)
Your image has strand of hair grouped into superstrands which each end in a point, all of these things can be achieved with the "Children" panel which appears when you tick "Advanced".
If you wish to point all the strands downwards you can give them an initial velocity or just give them physics and let a simulation handle it (I personally think this is more effort than it's worth)

Always make sure you've finalised your particle settings before you go into Particle Edit


Joined eyelids to mesh, but they remain stationary when animating So, I joined my eyelids to my rigged body with ctrl-J.
However, when animating body (bvh), the eyelids stay. Don't understand why.
I suppose I should parent them? But to what?

When you add some vertices to an already skinned mesh, the added vertices have no weight relatively to any bone, so you have to weight them manually (or do a new automatic weighting): the eyelids are supposed to move with the head bone.

To do so, select all the vertices of the  eyelids, go to vertex group tab in the properties panel, select the head vertex group and click assign.

If the eyelids doesn't move exactly with the other head vertices, check how the vertices near the eyelids are weighted in the "N" properties panel and weight the new vertices accordingly.

For a more complex rig you could add some new eyelids bones, parent them to the head bone, and assign eyelid vertices to them, in order to animate the eyelids. In this case you'll have to create some new vertex groups exactely named as the new bones and repeat the procedure above.


Is there a way to save all settings of the sequence editor to disk and load them when needed? In Python, is there a simple way to save everything in an editor, ex. the Sequence Editor to disk and later when needed load everything again?

The reason for this question is that changing scene will change the contents of most of the editors, and this is not always desired. Being able to save and load all content from from ex. Sequence Editor would be a way to workaround this.

Sequence Editor belongs to the scene.
The settings shown are on data that belongs to each scene. A new scene will use blender's defaults.
Python console. Create a sequence editor in the context scene. It is of type bpy.types.SequenceEditor.  The value for overlay_frame is shown
>>> sed = C.scene.sequence_editor_create()
>>> type(sed)
<class 'bpy.types.SequenceEditor'>

>>> sed.overlay_frame
0

.
To have the same settings in another scene, would suggest creating a new and copying the attributes of the old, or copying the scene and unlinking from it unrequired data, including strips. Be a good candidate for an operator with presets.
Alternatively save it as a scene in another blend and  append the scene each time instead of  creating a new one.
Another option would be to save a workspace template or startup file with the settings desired.


Why the mesh is twisting when base bone is rotated? I am trying to rig long year of dog.

It needs to bend along chain of bones
And its base bone should be able to rotate the whole ear without twist.

  I understand why there is deformation but i need to understand why there is twist in whole ear when only base bone is rotated

Please check this EAR Rig File and help me with twist.

That deformation occurs because you didn't add weights in weight paint mode.

Select the armature and change to pose mode
In pose mode with the armature selected click the mesh
Change to weight paint mode
Select bone by bone and add vertex weight

Related:
Vertex Weight Issues


How can I find my particle system? I feel very stupid asking this .... but uh ... I have this brick wall and I gave one of those bricks a particle system. But now I don't know any more which brick. How can I find the brick with the particle system ?

Open the Outliner
Switch it's mode to Current Scene
Use the search box to search for ParticleSystem by default (or whichever other name you used, if you manually renamed it)
You object with the particle system should come up in the list bellow
Just click on its icon and it should select the relevant object in the 3D view


Render from pre-calculated data set? I made a physics simulator and have a pre-calculated data set of point positions for each time step.  Can I programmatically render each frame individually with the data, output to an image with blender and stitch it into a video (maybe blender does both steps), or maybe an animation controlled with a slider?

Basically, I'm trying to serve up the data visually via a web page.  Background servers already compiled the data.  I am either looking to have a server use blender to take the data and render to a video file, or send the data to the client through the page and use blender to render it on the fly on their machines while they use a slider to navigate the time steps.

I don't need too many details right now, just a high level if it's possible before I jump headlong into it.  Any details on how would be icing.

Thanks! :)

It's definitely possible. You will want to look into Python scripting to accomplish this. The general workflow might look like this:

Build a Blender scene that kind of resembles what you want.
Write python script to ingest your data, and apply the data onto the scene you already built. Do you want your data to drive the location/position/size of objects? Or something more complicated?
Render.


How to stop Self Intersection of Model? OK, so I am rendering a rigged hand model for a project.
I need to create a constraint that will stop any model self-intersections. I've looked everywhere and can't find a solution.

I need to stop situations where: Fingers go inside of fingers/ fingers go inside of the palm.

**Is there a solution that will move the armature to similar a non-intersecting pose? Or a constraint that will not allow for intersections?

Thanks for the help!

This solution really worked great for me. It is developed in python, the code is kind of long but the ideas are pretty simple.

First I found the global head and tail locations of each bone.

My solution to self-intersection detection between fingers and the palm is pretty straightforward. I checked the distance of each fingertip tail bone to a plane created from three points in the palm. This is the function that I built.

def getPointToSurfDist(testBone, triBones):
    #points for surface
    p1 = getBoneGlobalTailLocation(getBoneObByName(triBones[0]))
    p2 = getBoneGlobalTailLocation(getBoneObByName(triBones[1]))
    p3 = getBoneGlobalTailLocation(getBoneObByName(triBones[2]))
    #vectors
    v1 = p2-p1
    v2 = p3-p1
    #3D plane
    s1 = v1.cross(v2)
    #test point
    p4 = getBoneGlobalTailLocation(getBoneObByName(testBone))
    dis = (s1.x*p4.x + s1.y*p4.y + s1.z*p4.z)/math.sqrt(math.pow(s1.x,2)+math.pow(s1.y,2)+math.pow(s1.z,2))
    return dis

If the distance was below a certain threshold the fingers were considered to intersect the palm.

My solution to the finger-to-finger intersection is a bit more interesting and less trivial. I decided to look at each armature bone as a finite segment. Then I check the distance between each segment and all of the other segments. I have about 20 armature bones, translating into a cap of approximately 400 calculations (not too bad, very fast). If the minimum distance between two armature bones was under a given threshold it would be considered intersecting.

I translated the dist3D_Segment_to_Segment() function from:
http://geomalgorithms.com/a07-_distance.html
to python and applied in my code.
(look here to further understand the code.)

def getSeg2SegDistance(hs1,ts1,hs2,ts2):
    #implementation converted from C: http://geomalgorithms.com/a07-_distance.html
    #input heads and tails of both segments (head s1, tail s1, head s2, tail s2)
    #initialize vectors
    u = ts1 - hs1
    v = ts2 - hs2
    w = hs1 - hs2
    a = u.dot(u)
    b = u.dot(v)
    c = v.dot(v)
    d = u.dot(w)
    e = v.dot(w)
    D = a*c - b*b
    sc, sN, sD = [D, D, D]
    tc, tN, tD = [D, D, D]
    #compute the line parameters of the two closest points
    smallApproxErr = 0.01
    if D < smallApproxErr: #lines approx parallel
        sN = 0.0
        sD = 1.0
        tN = e
        tD = c
    else:               #closest point on infinite lines
        sN = b*e - c*d
        tN = a*e - b*d
        if sN<0.0:      #sc<0 -> s=0
            sN = 0.0
            tN = e
            tD = c
        elif sN > sD:   #sc>1 -> s=1
            sN = sD
            tN = e + b
            tD = c
    if tN < 0.0:        #tc<0 -> t=0
        tN = 0.0
        if (-d<0.0):
            sN = 0.0
        elif (-d>a):
            sN = sD
        else:
            sN = -d
            sD = a
    elif tN > tD:       #tc>1 -> t=1
        tN = tD
        if -d + b < 0.0:
            sN = 0
        elif -d +b > a:
            sN = sD
        else:
            sN = -d + b
            sD = a
    #division to get sc and tc
    if abs(sN) < smallApproxErr:
        sc = 0
    else:
        sc = sN/sD
    if abs(tN) < smallApproxErr:
        tc = 0
    else:
        tc = tN/tD

    dP = w + sc*u - tc*v
    return math.sqrt(dP.dot(dP))

This intersection detection works great. It is not a general solution to every armature rig self-intersection detection, yet for hands/ arms/ machines (with bars or pipes) this would work great. The idea can further be generalized taking into account the 'Envelope Radius' of the bones to effect the thresholding. It is useful to think about the distance calculation from the body you are rigging.

This solution is python based and really gets into the geometry. A simple solution from within the blender platform would still be nice

Good luck!