text:
How do I stop textures from blurring when rendering small images
EDIT: This question is different from How can I keep low resolution textures pixelated? because I am not rendering a low-resolution texture into a high resolution image. I am rendering a high resolution texture into a low resolution image. The same solution to that question does not apply here. This is what the texture looks like:

I was hoping to use Blender to render sprites for a little game I am making. I started working on tiles and I noticed something weird.
In this example image, the left half is just a stretched out plane that has UV mapping to a texture. The right half is a completely separate object using the same material/texture, except that it is not UV mapped. You will notice that I am getting a pretty weird effect. Here is the un-edited raw rendered .png that I got from blender:

On the left half, the image is being blurred, blended, interpolated(?). The right side without the UV mapping seems confused, part of it is blurred but on the far right the image remains pixelated! The next image is blown up preserving the pixelation so it is easier to see:

Is there a way to intentionally get this effect? I tried turning off interpolation but that didn't seem to do the trick. After looking through the settings and googling around, I don't see anyone else having this problem.
Note: Right now I am not using material/texture nodes. I am still a blender noob and not sure how to set those up let alone do advanced things with them...yet.
If there is an easy solution that does not require nodes, can I please have that solution first?
If I cannot avoid using nodes, would someone mind helping guide me to how I may get this done with the use of nodes?

So which effect would you like to get intentionally ? Weirdness on the right object happens because it isn't UV unwrapped. It either should has UV map or use some other coordinates for texture (e.g. Flat if that's plane).

@David You marked this question as duplicate. Can you direct me to the question that this one is duplicating?
All the questions that I found are rendering low resolution textures at high quality. This is the other way around, a high quality texture being rendered at a very low resolution, and the same solutions no longer apply here. So please, help me find an answer?

@David I found at the top which question this is a duplicate of. The solution for that question does not apply here. I edited my question to explain why.

In this case you should consider reviewing the title of the question. Now it states "how do I stop textures from blurring", which is the case of question linked as a duplicate.

@StevenRogers ok, I see now. Good edit. (PS when a question is marked as a duplicate the link to the other question is always at the top.)

@Steven, Can you show the current configuration (or let the blend file to download)?


text:
Properly Installing Pillow
I have a project I need Pillow for. Is there a way to install it into blender 2.77a? The pillow windows installer just finds a python version if I install one seperatly. If I can not install "pillow" directly, is there a way to use the pre-installed python 3.5.1?
I already tried to delete the python directory and to copy the site-packages.
Other solutions found on Stack-Exchange do not work for me, maybe they do not work for Windows, maybe not for blender 2.77a.

It's just a guess, but you might want to use a external Python 3 for using Blender scripts instead of the bundled one. Since the installer does automatically set the registry, Pillow'll probably recognize it.

That is probably the case. How do I use an external python version @Gustavo6046?

@schustudrai This might also help.

With the solution there I can import PIL, but as soon as I try importing anything else I get another error:  ImportError: DLL load failed: %1 is not a valid Win32 application.

Reinstalling Python and Pillow helped the issue.

One of Blender's suggested solutions is to outright remove the bundled python environment. Blender will then fall back on your system default, and whatever libraries you have installed there.
Just make sure you have a compatible python version installed (e.g, as of writing python is currently released at 3.9, but blender currently uses 3.7)
Source: https://docs.blender.org/api/current/info_tips_and_tricks.html#bundled-python-extensions

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
I can't cut a human without hair issue
i made a human with the human generator and then, I want to cut it in half to see  some anatomical parts that i created. I used both a boolean or the bisect function and it works. But the hair of the human gets completly crazy and spreads all over the face, wich is obviously not what i want but rather something like a clear cut in the hair. I can't figure out how to do it.

Could you show a few pics?

If your hair is a particle system, when you cut a mesh in half you end up doubling the number hairs on the half that is left?

By the cut you destroyed current hair distribution since those operations generates new topology ... You would have to create anew one. Anyway to cut hairs straight I would recommend to create a new mesh just for hair with hide emitter and "cut" hair by shader.

a crazy beard :D. But if i could at least delete the hair before the cut, it would be ok, even though i would have prefered to keep them. But i don't understand how its created. it seems to be part of the body.

Probably you can try "cut" a model with hair by material ... try this Shader using transparency to hide a part of object.

Mask is controlled by Empty object position and rotation to get more freedom ... or easier to animate :)
To controll all materials transparency setup from one place share these nodes in Node Group.

You can also create a volume inside a body by Volumetric shaders ...

your shader is awesome!, I already downloaded the file and check it out, But I tried to recreate your shader and my attempt failed :( do you have any videos on how to do this? please

@SHIN Like already suggested, please post a new Q with your specific issue what you tried and where you failed to replicate this answer. I dont have a video tut and  dont have a clue what you did ... Thanks ... if you want to let me notified me (about your new Q) use @ in front my nickname

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Multiply all lights power values at once
So I'm looking for a way to select all my lights in my scene and multiply the power of them by 10000.
They aren't linked as they will have different power and colour settings. I just need to change the wattage as I'm in a crazy large scale for a video game.
I just want to be able to check my lights in blender by scaling up the brightness and back down again. I've tried scaling the world down so the lights are good that way but it causes many issues.

If you need change all values to the same power - select all lights and for active one change value. Hovering over the value field - right click menu And choose Copy to Selected

If you need to add Multiply mode And control all lights you would have to share one group in each light materiál ... That sounds late Now fór you ... So you would ask someone with Python knowledge.

You can add the same amount of numerals to values by holding ALT and click-and-drag value slider left or right. The box becomes blue in this case:

But I don't know the tricks to multiply values but making the script.
It is not hard in this case, just loop thought selected objects and multiply a value that you can get from context menu "Copy Data Path"
import bpy

for obj in bpy.context.selected_objects:
    obj.data.energy *= 100

Copy-paste this text into text editor and press triangle play button to see the effect.

that works perfectly! and to put back just change the "*" for a "/" and run the script again for anyone else. Cheers!


text:
Why object becomes messy when subdivision surface modifier is added
I have this object:

This is how vertices look like:

When I add subdivision surface modifier it becomes like this:

Have you applied the scale and checked for inverted normals?

If you have this kind of shape, here is what it gives when you give it a Subdivision Surface modifier, it will add topology in the middle of the hole:

So you have two choices, either add topology to avoid the problem:

Or don't use Subdivision Surface but right click > Shade Smooth your object and use the Auto Smooth option:


text:
After I merged the vertices, the cracks are gone but it somehow created some weird link up on the mesh
Video reference:
Initially, when I tried to rig the mesh, it created some cracks in certain areas, but after I merged the vertices, it seemed to create some weird link up like shown in the video, any suggested solution?

Not enough info without seeing your file ... But it seems like weight paint issue.

another possibility is that the topology is bad, with overlapping faces etc


text:
How do I keep two softbodies in the same position?
I have two softbody cubes, one is smaller than the other. They are both aflling at the same speed, but the problem is that when the bigger cube lands, the smaller cube goes all the way down. Is there a way to keep both cubes' position the same?

I want them to be in the same position.
blend file

I will be sleeping when this question is answered, I will accept any answers in the morning.. thanks :)

You could try adding a second collision floor so that the middle softbody lands in the right height you want. Just make sure to change the collision layer.

Please edit your question to include more detail and/or screenshots to illustrate the setup and situation without requiring someone to download and open the Blend file.

It is not clear to me what are you trying to achieve?

Your .blend file is doing exactly what it's supposed to do. Do you want the small cube to NOT impact the collision cube? To stay at the centre of the larger, softbody cube while the larger cube does it's impact? Do you want the smaller cube to react as though it hit something? Or just wobble like it's trapped inside the larger cube?

Sorry, I am going to edit my question.

@NascentSpace I don't understand

@Psyonic

Or just wobble like it's trapped inside the larger cube?
yes

Two options:

Assign all verts in BigCube to a vertex group.  Give SmallCube a copy location constraint, targeting BigCube and referencing this vertex group.  Give SmallCube a healthy Goal value (or group).

Join BigCube and SmallCube into a single object.  Create edges (only) between BigCube and SmallCube to create forces between the two.  These will act as any other soft body edges, seeking to maintain their length (and possibly, with positive soft body bending values, lengths to neighbor verts), causing SmallCube to prefer to float inside of BigCube rather than fall completely to the ground.

For some reason, only smallcube falls when i do the second option, and I don't know how to do what you said in the first one.

nevermind, I got it to work by clearing the bake cache, thanks!


text:
Camera projection - FOV trouble
I’ve found this amazing solution for camera mapping node in shader itself (better than UV modifier solution - no distortions on lowpoly objects). It works but I went into trouble which I can not resolve.
I can not match camera FOV and projection node FOV. I need to match it precisely, not by hand. That means I need the projection image match precisely my camera view. Don’t you know how to do that.
Example of issue (video) and here node tree (source):
Surface Shader live Camera Projection

I've tried, but haven't found any button to upload any data... sorry it's my first post :(
Yes it coudl be done by driver, but I don't knwo the math operataion which would make it fit even by hand.

Amazing! Thank you for your help!

To sync values from one place to another you can use copy&paste driver.
For example go to Output Properties > Dimension > Resolution X and right-click parametr, from dropdown menu select Copy as New Driver. Go to Shader Editor and right-click above Width parametr and choose Paste Driver. Field became violet which means driver is set. Now by changing Output dimension value will sync with node value.

Do the same for FOV.
To get the math work there are two things ...

Fix your wrong interpretation of original node tree. If you switch Texture node from Repeat to Clip you can see image is at wrong location. Change math type in second Vector node from Add to Multiply.

Delete or disable Math conversion from Degrees to Radiance because driver already operates in radiance

To match real camera could be useful this thread.

Vklidu - you are amazing! Thank you so much! You solved the whole thing as an expert. I can see you are in czech republic like me - there is now way I could message you directly, so I have to do it here. I would like to know you on other oplatforms as well, if you don't mind. Woukld you mind to connect on facebook for example?
https://www.facebook.com/profile.php?id=1158420875

Plugging window coordinate directly into texture seems to achieve the effect you are looking for. Note the red border is part of the source texture so the fact it shows up in the camera view is correct.

I need to project from the camera object, that's why it's called "camera projection".
With this setup it's projecting from the window - so I can not have more cameras projecting individualy for example. And in every window it would look different. Also doesn't work when you need to project in different aspect ratio (let's say square) and render in different format - 16:9 for example.


text:
How can I put separate images together to create an animation on Blender?
I am using blender and editing a youtube intro and I have every frame separately rendered on to a folder in my folder. Ive also rendered as xVid. How do I put the separate images together to create an animation? This is what I have.

go to the blender's VSE, press SHIFT+A  then I select all your photos by clicking and dragging and press add image strip. Also, make sure you set the fps to the same as the rendered photos

Switch into Video Editing layout and focus on Video Sequence Editor.
Press Shift+A -> Image (or select Add -> Image from the menu bar).
Select all images you want to create the video from.
The video strip based on the image sequence will be automatically created.

Then you can of course render it to a regular video format.

Glad I could help :) You can set the answer as "accepted".

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
3D modeling- is it possible to map image to 3d mesh
im a new  to blender as well as 3d modeling....
i have 3d model that i make from other 3d photogrammetry software such as remake..
but the model is not nice... so i want to ask .... is it possible if i want to export the model into blender then map the image onto it.. but the problem is the triangular mesh is too many ( because the model is tree model capture from sequence of photos).. or any solution ..as next i need to export the model into unity to build vr..
thanks..

Yes, Blender should be totally capable of doing that. Try researching about UV Mapping  and Unwrapping

select your object
add a new material
open the node editor
enable "use nodes"
add -> texture -> image texture
then you can change the position of the texture in the uv editor

That is only a short description. For more information please see the comment from Duarte Farrajota Ramos
or look here.

authors: Игорь Чикалов


text:
how to make the fire cast light according to the way the fire move?
how do I make the fire cast light according to the way the fire move (in cycles)? for example if the fire jumps the whole room should be brighter, and if the fire is inside fireplace, the part that is exposed to the fire should be brighter from the rest of the room for example: https://www.youtube.com/watch?v=sP6cG27blwE
There is no difference in the light next to the fireplace

fire node setup

Check Andrew Price tutorial: https://www.youtube.com/watch?v=u-zK7Bu8cAI

It is based on It

Could you please add fire node setup?


text:
Movie clip resolution changes when added to an input node in Compositor
I'm using Blender as a video editor.
I want to remove the green screen background from my clip and replace it with my own image. There are plenty of tutorials on how to do that, but I'm hitting a snag almost before I start.
In the Compositor, I created an input (Movie clip) node and a viewer node, and connected them.
When I put my clip into the input node, the resolution changes. The face of the subject seems to be compressed horizontally, and the clip looks to be about 5:4 or 4:3 aspect ratio.
Resolution of my movie clip is 1920x1080, and that is the desired output resolution.
In Blender Properties tab, Dimensions are set to 1920 px x 1080 px (default).
Aspect ratio is 1:1
Any help would be much appreciated!
Thanks
Edit 1:

Yes the image I will be compositing is 1920x1080, however the error occurs before I even connect the background image.
Edit 2: This is the second video I've made with Blender and the first had no issues like this (using the same camera) so I don't think it's a camera issue.

It is possible that you have an anamorphic image. That is where the camera records fewer pixels but instructs the playback app to stretch the image back out to original dimensions. If you open some media players they will indicate the actual pixel count and the displayed pixel count. Perhaps you need to use a Scale node > Render Size

I used a Scale Node > Render Size as suggested by 3pointedit and it worked, still not sure how the problem was caused as I used this same camera before and had no issue. Thanks for the help though everyone!

authors: Сергей Борисович


text:
using particle system to cover hollow objects
I want to use particle system to put particles on the inside of this hollow cylinder (to project from inner surface to the hollow cavity or lumen) but when i use particle system it automatically covers the outside of the cylinder with particles.

"..to put particles on the inside of this hollow cylinder"... which one? maybe will be better explain what kind of effect you are looking for, or attach some images to let people evaluate your problem.

@mike I edited the question.

Although you can give hair a negative length,

it is better to change normal directions

or solidify a tube and choose what faces to generate particles on.

very nice answer

The particle system is following the direction of the normals on the cylinder faces.  You can flip the cylinder face normals so they point in instead of out.
If you select the cylinder, switch to edit mode, select all with "A", and then do Mesh -> Normals -> Flip, that'll flip all the normals.  Go back to object mode, and your hairs should be growing into the cylinder (though you may need to decrease their length to keep them fully within the cylinder.
If you need faces with outward pointing normals on your cylinder, too (e.g., if you want to properly shade the outside of the cylinder), then you should give your cylinder both inner and outer faces.  The Solidify modifier can do this, and if you put it in the modifier stack after the particle system, the particle system will continue to grow only on the inside of the cylinder.
However, if you need to Apply your Solidify modifier at some point, you'll have particles growing on both the inside and outside, because they'll be coming out in the normal direction from all the faces.  To fix this, you can use a vertex group to define which faces should emit particles.  It's a little complicated, but basically:

Go into the Cylinder's Mesh Object Data pane.
Under Vertex Groups at the top, add a new group named "Inside".
In edit mode, select all  the inner vertices (or inner faces), and click "Assign" under the Vertex Groups panel.  Go back to object mode -- it'll still look the same.
Switch to the Particle Properties pane, and under the Vertex Groups panel, select "Inside" as the "Density Group"
Now, the hairs should only be growing from the inside.


text:
Subdivision surface causes problems on connected edges (bridged edge loops)
I'm pretty new to Blender and trying to model various things, but I faced a problem which I can't properly describe to find an answer, so sorry for silly question if it is.
I tried to model several edge bridges like second bottom in a barrel (second bottom edges connect directly to an edge loop on outside wall) and regular edge bridge that connects inside edges to outside wall with a bridge and got strange behavior along connection lines.
I want to 3d print this model thus I'm trying to solidify it and subdivision surface gives these artifacts. I tried to add supporting geometry, the distortion can be reduced but remains there.
I also tried to flip normals, but that has more cosmetic effect to the bottom case bec. it is still smth. wrong with edges but in this case inside.
In case of bridge it makes both edge loops sharp and ugly and I can't apply any bevel etc. to it. In case of second bottom it distorts outer wall. Without all this the model is smooth as expected without any issues.
Any help is much appreciated!

Model overview (symmetrical along X axis)

Inner edge bridge

Second bottom

Thanks everyone responded to this question, that gave me an idea of how to proceed with this model.
I created inner "cup" that replicates the shape of the model in given areas and connects with the lip of opened mesh creating a closed volume (as it is done in glass modelling).

Yes, that's what i meant exactly, the slicer software should give you the options regarding fill material maybe even up to solid, but that is something i do not know too much about. And the object now looks clean regarding geometry, as it should be.
May i though ask you to close this question by accepting the answer, if the answer was what helped you, so it can be considered solved.

@Xylvier Actually the problem with slicer here is that it can generate only support structures which are not the same as infill. Bec. supports are meant to detach easily after printing they can't be considered as infill which also provides rigidity to the model and has certain options for this. Solidify modifier provides what called solid (walls in this case), but I cant find out how clamp/limit excessive solidification which goes beyond model boundaries to actually make it whole solid.

I updated the answer, Slic3r standing in as example, since it's free, i believe other software should have the infill option too.

From what i know about 3D printing, you design the object without the support and filling, no connecting of inner and outer edge-loops either, the result you got there is to be expected, subdivision does not work without artifacts if you do that.
Rather you build and design the object first as it is supposed to look, export it to the slicer software and in there you should be able to set up filling and support.
Also, thickness in the bottom should be achieved by giving the object thickness, like we usually model a vase or glass, inner and outer wall connected through the lip at the opening and the inner bottom more distant from the outer bottom, thus giving it volume.
But regarding modelling with subdivision surface modifiers, i can tell you that the problems you got there, are normal considering what you connected, as you are not supposed to use it that way.
Solution: Model normal without anything other then the model in mind, then export and add those support or filled areas in the software to prepare for the 3D print.
Regarding the infill, as i checked up now and even downloaded a slicer software just to be sure, the 3D object from Blender or any other 3D software does not need to concern itself with that. That does not mean that thin parts of the object can be filled, so giving the object a certain "hollow" thickness for the slicer software to fill is still recommended.
Here a picture of the infill options of "Slic3r" a free software:

So i would believe that most slicer software offers this as well.
I'd like to add this link as well 3D Slicer Settings, as it explains under "4. Fill Density" what i mentioned.

I agree that most (good) 3D printing softwares will automatically add the supporting geometry when exporting it. Moreover this type of modelling is not good practice namely because it messes up normals and most modifiers

I see what you are talking about. I'm pretty familiar with 3d printing for the last few years. I'm not trying to provide a supporting structure here, but accomplish a closed volume for certain part of the model. I know that "solid" in Blender can be only manifold geometry and what I see is that closed volume done the way I did is not the same as we used to create a glass. I probably went wrong way since some point, but I'm curious if I can complete the model without re-doing it. P.S. I've added a model overview to the question.

@Gorgious I mentioned that normals are messed in areas of connection with this approach. What would be your recommendations for correcting or re-doing this model? I spent quite a bit of time on this and wondering if I completely messed it up and should attempt to re-create the geometry following another approach.


text:
Question about N-body simulations, python script not running?
So, I'm pretty new with Blender and and trying to set up an N-body simulation for which I wrote a Python file, but it doesn't seem to do anything:
import bpy
import bmesh
import csv

file = "test.txt"

data_file = open(file, "w+")
data = data_file.readlines()
data_file.close()

for row in data[:500]:
    bpy.ops.object.mode_set(mode = 'EDIT')

    bpy.context.scene.frame_set(framecounts)

    obj = bpy.data.objects['Material.001']
    mesh = obj.data
    bm = bmesh.from_edit_mesh(obj.data)

    try:
        bm.verts[0].co.x = row[0] * 10000
        bm.verts[0].co.y = row[1] * 10000
        bm.verts[0].co.z = row[2] * 10000
        bm.verts[1].co.x = row[3] * 10000
        bm.verts[1].co.y = row[4] * 10000
        bm.verts[1].co.z = row[5] * 10000
        bm.verts[2].co.x = row[6] * 10000
        bm.verts[2].co.y = row[7] * 10000
        bm.verts[2].co.z = row[8] * 10000

        bm.update_edit_mesh(obj.data)

    except:
        pass

    bpy.ops.anim.keyframe_insert(type="Location")

I know the the iteration can be better, but it's just an example for N=3.
The text files are like these:
x1 y1 z1 x2 y2 z2 x3 y3 z3...
...

So each line is a separate time step and contains the coordinates per particle.
Can someone revise this code? I have a feeling it has to do with the
bm.verts[i]

For the actual simulation I should just try and make a small sphere for each vertex I suppose? Remember that I'm new at this.
Thank you for your time!
EDIT: after some digging and searching around, I now have the following file:
import bpy
import bmesh
import numpy as np

N = 3
r = 0.2
scale = 10 ** 11

file = '/home/julian/Documents/test.txt'

data = np.loadtxt(file)

bpy.ops.object.select_all(action='DESELECT')
bpy.ops.mesh.primitive_uv_sphere_add(radius=r)
sphere = bpy.context.object

def makeSphere(x,y,z):
    ob = sphere.copy()
    ob.location.x = x
    ob.location.y = y
    ob.location.z = z

    bpy.context.collection.objects.link(ob)

for row in data:
    for i in range(0, N):
        x = row[3*i]
        y = row[3*i+1]
        z = row[3*i+2]
        makeSphere(scale * x, scale * y, scale * z)

    bpy.context.view_layer.update()

fullpath = '/home/julian/Documents/finalObject.obj'

print("Exporting OBJ");

bpy.ops.export_scene.obj(filepath=fullpath)

It correctly creates spheres according to the position, but they all seem to coincide with the origin.
What I don't have is the following:
It should also delete in the for-loop which loops over the timesteps (row) the existing spheres and thus create new ones so that if 'played' it seems like the spheres are following a trajectory.

You're doing a lot of strange things in your script, I'm not sure what parts are intentional. Why is your object named "Material"? Are you aware that you are attempting to move the vertices of a single object? Adding keyframe for the location isn't the right tool when you want to animate the vertex position. The current frame, for which the keyframe is added, isn't update. Therefore each keyframe_insert() overwrites the previous one. I'd suggest you add N sphere objects instead, then in a loop adjust the location, insert a keyframe for each object and update the current frame.

I think you might be killing your data in the file before it is being read.  Have a look at https://stackoverflow.com/a/23566951/808940.  You should probably be using r mode instead.  Because there is no data to be read, the loop is never executed.

Lose the try clause and put in some print statements to debug, (whilst learning) The output of  print(row[0] * 10000) may not be what you are expecting.  There is no need to do this with edit mode bmesh.  Possibly related https://blender.stackexchange.com/questions/36902/how-to-keyframe-mesh-vertices-in-python

Thank you for the info!
My script is mostly based on 3"D Scientific Visualization with Blender" - Brian R. Kent
But since halo objects don't seem to exist anymore in Blender 2.81 I had to try something else.
It actually would be weird if 'w+' doesn't work for just reading, because the file exists and I'm not writing anything. But I'll give it a try!


text:
Separator within an EnumProperty
I'm trying to insert an separator to an EnumProperty like used in the Operator object.select_by_type. This is the Property used by this Operator (blender-2.77a.tar/blender-2.77a/source/blender/makesrna/intern/rna_object.c - it's written in C):
EnumPropertyItem rna_enum_object_type_items[] = {
    {OB_MESH, "MESH", 0, "Mesh", ""},
    OBTYPE_CU_CURVE,
    OBTYPE_CU_SURF,
    {OB_MBALL, "META", 0, "Meta", ""},
    OBTYPE_CU_FONT,
    {0, "", 0, NULL, NULL},
    {OB_ARMATURE, "ARMATURE", 0, "Armature", ""},
    {OB_LATTICE, "LATTICE", 0, "Lattice", ""},
    {OB_EMPTY, "EMPTY", 0, "Empty", ""},
    {0, "", 0, NULL, NULL},
    {OB_CAMERA, "CAMERA", 0, "Camera", ""},
    {OB_LAMP, "LAMP", 0, "Lamp", ""},
    {OB_SPEAKER, "SPEAKER", 0, "Speaker", ""},
    {0, NULL, 0, NULL, NULL}
};

The line {0, "", 0, NULL, NULL} creates a seperator (In Python the tupel is sorted different from the C-one). In Python I can't use a tupel like ("", None, None) within the item-set and a tupel like ("", "", "") creates a new column (described here: https://blenderartists.org/forum/showthread.php?409613-How-to-create-columns-in-operator_menu_enum-SOLVED).
How can I add a seperator to an EnumProperty in Python?
Thanks.

I expect the c-code that generates the menu from that list will add a separator if the value is 0. I don't think we have a way to add a separator through an enum in python, so we have to create a custom menu instead of using prop_menu_enum

From the documentation for 2.9:

When an item only contains 4 items they define (identifier, name, description, number).
Separators may be added using None instead of a tuple. For dynamic values a callback can be passed which returns a list in the same format as the static list.

This is conspicuously absent in the documentation for 2.79, so there may not have been an easy way to do it in Python when this question was asked. But for newer versions, you can just use a straight None instead of a tuple.

Indeed, it was added in 2019: T68260.

in 2024 for Blender 4.2.2 still works perfectly


text:
Logging renders?
Is there a simple way to log/save every render that you make in a Blender scene? Maybe an add-on? This would be helpful to visually see progress on modeling, materials, lighting, and whatnot. It would also be helpful if it could "print on" the date/time, vertex count, and the camera settings. Am I just dreaming or is there a way to do this?

The closest thing to logging a render in Blender is to render to different slots. Each slot can store a different render for comparisons etc. In the Image Editor, there is a popup menu in the header that has 8 different slots that you can render to. Before rendering, choose a slot. ( You can also quickly cycle through these by using AltJ for the previous render slot and J for next render slot.)

As for the second part, there is a Stamp pane in the Render tab that you can use to attach the date, time and render time etc to your render.

stamp is acceptable, but unfortunately not a greatly customizable feature at the moment :/

@zeffii, stamp options are written into metadata of EXR/JPEG/PNG files. So if you dont want to see them, you can use a tool to read them back (exrheader command for openexr for example).

@ideasman42 It gets written to the metadata? Then why is there text color and background options?

@Dan the Man, because Stamp button is pressed, if its not, the metadata still gets written to the file.

@ideasman42 So Stamp prints it on to the image, but by default it already gets written to the file?

@Dan the Man. correct

@ideasman42 - In what metadata format does Blender store Stamp info in PNGs? I'm struggling to find the RenderTime value with ExifTool

http://blender.stackexchange.com/a/2653/55 - checked and the metadata is stored and readable.

Thanks, I have now found the metadata. For posterity, the process appears to be enable Stamp -> Select tags -> Disable Stamp - > Find metadata info now in PNG header

You can have Blender automatically save files if you check the Auto Save checkbox in the render settings.

Renders will automatically be saved to *blendfile location*/auto_save/. If you check subfolders renders will be saved to: *blendfile location*/auto_save/*blendfile name*/(useful if you have multiple .blend files saved in the same directory)
Since it uses the location of the .blend file as a base, you must save your file before this feature can work.
It is an addon, so make sure to enable it in the settings:

I'm using 2.67a, and the setting doesn't exist, even on saved file. Is it an addon?

@Adhi it is. I added that just added that to the answer.

Wow, I need to check out the installed addons more. Its support level is Testing, filtered off by default in my install. Thanks for pointing that one out :)

@Gwenn: It wasn't included in 2.66a. In fact, not a single addon with support level Testing is included before 2.67 IIRC (it's there by the heapload in 2.67a).

@Adhi I can't find it in 2.67a. Even with "testing" checked.

Testing addons are never in releases, they need to be approved first. - Contact bf-python mailing list to suggest inclusion.

I don't know Blender's policy about this, but I downloaded blender-2.67a-linux-glibc211-i686.tar.bz2 fresh off download.blender.org and there they are in scripts/addons_contrib. All 4.2MBs of it, including render_auto_save.py. Maybe something went wrong with 32bit Linux release?

I've just downloaded 2.67b, and addons_contrib is no longer included. So it's not supposed to be there in the first place... :D

I had a similar need before and I did a test. By making use of the handlers (bpy.app.handlers), once can define render_pre, render_post, render_complete callbacks on render (bpy.app.handlers.render_pre.append(preRenderFunc), etc.,).
import bpy
from bpy.app.handlers import persistent

@persistent
def PostLoadSession(self):
    print("post load")
    scene = bpy.context.scene
    srrid = 'srrid'
    if srrid not in scene or not scene[srrid]:
        print("Nothing was rendered previously")
    else:
        print('Last image rendered was {0}.{1}.png'.format('RenderResult' ,scene[srrid]))

bpy.app.handlers.load_post.append(PostLoadSession)

@persistent
def PreRender(self):
    print("pre render")
    scene = bpy.context.scene
    srrid = 'srrid'
    if srrid not in scene:
        print('This is the first time you are rendering from this file')
        scene[srrid] = 0
        print('Created {0}'.format(srrid))

bpy.app.handlers.render_pre.append(PreRender)

@persistent
def PostRender(self):
    print("post render")
    scene = bpy.context.scene
    srrid = 'srrid'
    if srrid not in scene:
        print('PreRender was not called')
    else:
        scene[srrid] += 1
        print('Saved render result as {0}.{1}.png'.format('RenderResult', scene[srrid]))

bpy.app.handlers.render_complete.append(PostRender)

You can find more details on my blog post.
http://learningblender3dsoftware.blogspot.in/2012/10/messing-around-with-prepost-handlers.html
The code available on my blog does not actually save the images yet, but it can be easily achievable. I am actually in the process of creating an add-on that saves the images. I hope to release a beta version soon.


text:
Changing user preferences via console?
The machine that I'm currently using is an extremely slow netbook. Whenever I go to change user preferences in Blender, it stalls out. What I need to do is activate the "emulate 3 button mouse" checkbox. Is there a way to do this via console/script?

try experimenting with bpy.context.user_preferences, use Ctrl + Space to autocomplete..

If your computer has problems with the 'preferences' menu, how does it manage rendering?

@Gwenn it can do it, but pretty slowly. It can even do Cycles. I'm not sure why the preferences menu doesn't work on it.

If you open the user preferences in a new window, that might slow down a netbook. Instead, try opening the user preferences in the 3dview. And to make sure nothing slows unnecessarily down: don't render in new window or fullscreen, but in existing image editor (make it small).

Got it.
bpy.context.user_preferences.inputs.use_mouse_emulate_3_button = True

It also says on the wiki that The Blender API can modify user preferences, keymaps and themes


text:
Are there any tools for making irregular polygons regular?
Are there any tools in Blender that take irregular polygons and make them regular (approximate a circle)? I'm specifically looking for a solution that works with preexisting polygons. Also, it would be nice if it keeps the overall position after making it regular.

Irregular Polygons

Regular Polygons

The only built in one I know of is Alt Shift S (To Sphere). However the looptools addon supports some things which are useful for this, such as automatically spacing out vertices or snapping them into a circle.

You can use LoopTools addon, which is already with the official Blender builds.
Enable this addon from the Add-Ons list, then select the target face, then W > LoopTools > Circle, which will distribute vertices circularly and evenly.

Does this provide any other options?

Yes, try it out. :) But Circle is exactly what the OP wants, I suppose.

Well it would still be wise, seeing how the question is worded (and covers more ground than the OP might notice), to mention that Loop Tools can do much more. This makes the question and answer more useful to future visitors.


text:
Scrolling credits
I used blender as all in one application. I model, animate and compose in it. Now I need to add a simple scrolling credits at the end on an animation.
I want to know if there is a easy way to make scrolling credits only with blender. The only way I can think is create a scene with the a text object and animate it vertically so it appear to be scrolling. But the text can be very long.
I'm also open to any addon for Blender that can archive this.

Do you have any design template / style guide you'd like to use for the Credits?

A slightly easier option would be to make an image of the entire text of the credits in gimp (or a similar program), add it in the compositor, and animate the y-offset.

@zeffii Not really. Only that they must be end scrolling credits, I mean text appearing from the bottom and disappearing through the top.

@Ezra nice point.

I recommend you design your credits in a program like inkscape or gimp (or whatever proprietary programs you prefer) and show an example...then people have something to work towards in potential answers.. If you're going to do credits you might as well make sure they are of the same high standard as the thing they're crediting.

@zeffii it's more a personal work so they don't need to be high quality. I will do some example to clarify the question as suggested.

Let me just get this out there, a proper video editing program will make this a lot easier. Text is editable in a window, and scroll speed is animatable. If you have that option, then do that instead. The below answers are more workarounds to use just Blender

People don't realize this, but with a little bit of effort Sverchok becomes every bit as intuitive as any other node tree. This script took me perhaps 5 minutes to write, 20 seconds to connect.. PyNodes add-ons are great for this kind of stuff (all of them, Sverchok, Animation Nodes, MotionTool too )

First of all, avoid using Blender's default font because it's the lazy option.
Option 1
The quick and dirty solution is to use TextEditor's own Text To 3D Object feature.
TextEditor -> Edit -> Text to 3D Object
That will give you two options:

One Object
One Object Per line.

My issue with this is it rather limits the amount of design aesthetic you can give to the Text.
Option 2
Naturally there's many many other options that would work, and this happens to show how to use Sverchok to generate credits. Warning, this may be overkill, but may interest to some. Especially scripters should read the code in fast_credits.py to see how Scripted Node works and how relatively easy it is to customize this script to do more advanced stuff.
I'm using a font called Cabin which comes in several weights including Bold and Regular and I've loaded those in using the node's properties on the node view rightside panel (press N to view it, with the Typography node selected/active).

If you want multiple font weights for different text elements you simply add a Typography Node and load a font type into it.

Let's take some formatted bit of text, the words to the left of the Pipe symbol | will be bold, and to the right regular. And for the sake of this example i've set their align to be 'LEFT' and 'RIGHT' for either side of the pipe.
Titles:
Lead 1 | Jane Dough
Lead 2 | John Dough
Lead 3 | Ms Smith
Lead 3 | Mr White

Support 1 | Mr Pinker
Support 2 | Mr Red

Director | Mr Golder

The sverchok Typography node is a beast with almost all the features that the regular TextObject exposes via the Properties panel. The node is merely a notification of all that functionality (or what makes sense to me). You can see more options by pressing the "Show options" button on the node, this is incidentally where you can set the align orientation of all text that that node produces.

some tips for this node tree:

If you make changes to the Titles text file its content is reread automatically upon any update in the node tree

using sliders
after pressing the Reload button on the Scripted Node.
This means yes there is some redundant computation if the text stays the same, but if your Titles text is dynamically generated as a function of the frame number, then you get that handled for free.

Then add an Orthographic Camera and animate its position, render the output, and use the Sequence Editor to add the Credits to your already rendered animation.
Some things to consider:
Unless you are using specific features from Cycles you can use Blender Internal if it renders faster on your machine. A Cycles render of text is fast if you use an emission shader in your text objects and switch on AO to get fast lighting, maybe even render with transparent background.

blendfile
My version of Zeffii's titles, ))

As of Blender 2.76 the VSE (sequencer) has a new Text Effect strip, which is worth considering too, but it is currently a basic implementation. It has been developed in the Gooseberry Branch for the named alike Open Movie Project finally released as Cosmos Laundromat.
Add -> Effect Strip -> Text

As of October 2015:
downsides:

no font type change Implemented in 2.8 beta.
multiple lines (text that contains new-line characters), is accessible via script only

se = bpy.context.scene.sequence_editor
se.active_strip.text = 'foo\nbar'

no color settings Implemented in 2.79, also the shadow color.

upsides:

It has auto text reflow (configured by a wrap width), and dropshadow (on/off)

Feel free to update this answer when facts are no longer valid. I can only assume that the Text Effect strip will get a lot of improvements down the road.

I hope so. Not being able to change the font is pretty limiting.

Finally possible! :-)

One way this can be done, is to create an image of your credits in Photoshop, GIMP, Inkscape, etc. This can then be animated in Blender to scroll.
I started this off by making a decently large image in GIMP, making sure to keep the vertical resolution bigger than the horizontal. At that point, I added in my text, using guides to keep things aligned better. Before exporting, I made sure to remove the default white background so that the background was transparent.
The first thing that should be done before importing the image, is making sure the renderer is set to Blender Internal, and enabling GLSL shading, which allows for all rendering to be done in the view port.
After that, I brought in the image using the import images as planes addon and made some adjustments to to the texture and materials settings to make the background transparent. I then key framed it to scroll.
All that was required after that was giving it a nice background, and rendering it out with the OpenGL render buttons.

While this may not be as flexible in Blender as @zeffii's method, it can be easier and more flexible to modify the image inside GIMP, rather than Blender, because there are more 2D effects that are available inside of GIMP.
When 3D text is necessary, @zeffii's method is definitely better.

Yeah, you can simply export SVG from inkscape / illustator and import those as 2d Curve paths. This is especially great if you are more comfortable in other packages. and have specific kerning requirements


text:
Conversion of fine organic surface mesh to a few patches of NURBS
Note: cross-posted in stackoverflow as well. Would this be OK?
I have a very fine mesh (STL) of some organic shapes (e.g., a bone) and would like to convert it to a few patches of NURBS, which will be much smoother with reasonable simplification.
I can do this manually with Solidworks ScanTo3D function, but it is not scriptable. It's a pain when I need to do hundreds of them.
Would there be a way to automate it, e.g., with blender or some other open source libraries available? I am perfectly fine with quite some loss in accuracy. I use mainly Python, but I don't mind if it is in other languages and I can work my way around it.
Note that one thing I'd like to avoid is to convert an STL of 10,000 triangles to a NURBS with 10,000 patches. I'd like to automatically (programmatically, could be with some parameter tunings) divide the mesh into a few patches and then fit it. Again, I'm perfect fine with quite some loss in accuracy.

Sounds like something that might be possible through Python scripting, but I don't know enough about it to say for sure. Main problem I'd see is that NURBS implementation in Blender is really lacking in terms of features and tools, not sure you'd be able to faithfully represent your shapes. You would also be most likely locked in, since  as I know of no way or format to export NURBS surfaces as actual NURBS out of Blender.

@DuarteFarrajotaRamos Thank you for your response! Yes I felt like this is doable through python scripting as well, but just could not find a pointer :(

Does this help in anyway? http://blender.stackexchange.com/questions/7020/create-nurbs-surface-with-python

You could write a python script in blender to import each stl in a folder, generate a cylindrical nurb surface around it (I am imagining long bone models like tibia and femur) and use the shrinkwrap modifier to approximate the tesselated surface of your STL model. Iges export would in theory keep the native surface nurb description intact for further cleanup in a solid modeling software, but in the past implementation in blender, it would chop the smooth surface up into polygons during export.
There is a lovely pure python nurb curve and surface library outside of Blender
https://nurbs-python.readthedocs.io/en/latest/index.html that might be helpful.


text:
Physics on armature not updating correctly
I am Trying to set up an armature with Physics. I found this neat trick wich ALMOST seems to fit all my needs:
Rig that reacts to gravity?
Basically i have one seperate object, only consisting of a few verts with physics on it. Emtys are parented to the verts, and in the end those empties act as IK targets for the deforming bones. On its own this setup works perfectly fine!
But there is one Problem: When i try to incoorparate this Method into a Rig it does not always update properly.
It is hard to explain, so i made this Video to show you whats wrong:
https://youtu.be/jleXmNuBMEI
On the Right i have a very basic character. Here the "physics" rig is seperate from the rest of the rig for the body and works perfectly fine. The "physics" rig is, as a whole, parented to the Head bone of the "body" armature.
On the left is what happens when i join the Rigs. The Base bone of the "physics" rig is parented to the Head bone. Now it wont update properly, and yes, this does show up in the final render. In looping animations there always is this jump at the first frame.
I often render animations as image sequence, so i can pause the render at any time and resume later. But every single time on the first frame rendered there is this jitter.
It does not matter if the physics are baked or not. Even when the "physics" part of the armature is not even parented to the head bone or anything else this jumping appears as soon as its part of another Armature.
In the End i want to use a setup like this for all kinds of physics, animating floppy ears for a dog or fat-physics on an overweight character fox example. Or Bounciness on certain parts of the female anatomy. So i cant really have seperate meshes, and i cant deform one single mesh with two different armatures.
So, my question is what causes this behaviour? Or am is this a completly wrong approach? It seems the method described above works perfectly fine for all those purposes. But this Problem makes it completly impractical, sadly.
Id be real happy for all suggetions


text:
Planes don't show assigned colors/ images

I am having trouble using assets from blender 2.79b I personally made for a project. I made sure the user preferences and add-ons in 2.81 were the same ones I used in the older files. Screenshot is what I see when I open an older file. I made sure all files were there and mapped accordingly. There is about 2 hundred images parented into this scene. This problem appears in all of my other .blend files last saved in version 2.79b.
Is there something I am overlooking? Or am I going to have to re-import all images and rig everything back up to use these assets? I can provide more images if needed.

Did this issue occur in blender 2.79b? If so then this isn't an issue. If it didn't then change it to rendered view and see is the issue continues.

No, it did not have this issue in 2.79b. Render preview is the same as the image I posted. It's supposed to look like two guys in a gym. All I get is grey planes.

Try putting a normal Diffuse Bsdf (Not Principled) does it still give the same thing. If so then check if the light are strong enough.

Is that in nodes or drivers? I have no idea how to use those. Or how to access that part of the program.

Nodes not drivers.

Diffuse BSDF node is not an option.

Could you post an image of your node setup?

I just added a pic of the nodes. Had to enable them. Nodes is something I have no experience with. I actually started to search for the Diffuse BSDF node returned no options. Also this is 2.80 beta as 2.81 gives me driver errors and won't open.

Okay there you are in Compositing where you can add in after effects. By node editor I'm talking about Shader editor(They Changed a lot in 2.8). Could also be and issue that you are in Look dev (Material View) in look dev a lot of things are excluded in look dev mainly like textures and displacements.

The problem:
You are using the Compositor Editor.
This will never work, you need to use the Shader Editor.
How to:
1) Open the Shader editor.
2) Select your object and click the + New button, to add a new material.
3) Add an Image texture node and select your image.
Open your Shader editor.
With your object selected, click the New material button.

Add the Image Texture node, and connect it like this.
Then click Open and find your image texture.

This is the result.
If you want to see it, you need to be in the Material Preview or Rendered Preview.

If you're a beginner, I wholeheartedly reccomend BlenderGuru's Donut tutorial series for beginners.
Spend some time there, and you'll learn much more :).
Good luck! :)

The donut Series is one among many and they are all good.


text:
Gravitational orbits
I am making an animation of orbits. So far, I have made it so a planet follows an elliptical path around the sun (which is at the focus). However, the planet orbits at a constant speed. How should I implement code so that it obeys keplers second law and increases in velocity as it moves around the curve close to the centred mass. Code was modelled from: (blender.stackexchange.com/a/91511/15543)
I am wondering is it possible to constrain an object to a path WHILE also have a force acting on it. Would it be possible to add gravity to this while keeping the orbit on its path.

Jenny I posted some links to  a previous q of yours and i see you are using the code from [this one[(https://blender.stackexchange.com/a/91511/15543) The code, it is of course free for anyone to use,  Some attribution would be nice.  Would keep the linear orbit, ie an average velocity and 0 acceleration,  and calculate the lag or gain based on the acceleration on the tangent vector due to the force to move it further on or back on the path.  Not sure if the physics engine is set up for gravity

as in Newton's equations for planets. (Haven't tested: does zero scene gravity and objects with huge masses orbit or wobble?)


text:
How do I get vertex coordinates in the same units as the scene units?
I want to get the coordinates of a vertex in the correct units, millimeters in this case for the current model, to do some calculations in external to blender module.
When changing the units of a scene in blender 2.82 all fields in the UI show the correct size, for example 100mm and 1mm in object and edit modes. So a vertex will show the location of 1000mm in the default cube for example.
But when accessing the same coordinate through Python code as follows:
bpy.data.objects['Cube'].data.vertices[x].co the data that we will get for the same vertex will be 1.0, meaning it remains in meters.
Any ideas as to how to get the coordinates/sizes in the correct units in Blender Python API?

I am looking into the same issue as well. Can't get my head around this one...

I think the question is mathematically inaccurate. Your coordinates are defined by magnitude and direction. To add a scale factor like mm or m you need to multiply these unit vector values with constants.

I would argue that this is partially correct, because blender UI will show you the location in units defined in the scene for example when the scene defined in mm the for the default cube the location of the vertices for x will be +/- 1000mm, this is what displayed by blender.
On the other hand what will be provided by blender api will be 1 hence in meters.
So lets say you want to combine two models one in meters and the other one in mm, and you want to do this using code.
When importing the mm model into th m model it will not be converted to m, so they will be same scale.

@ShayGusin Blender's importers do account for the format in question either always in a certain system, or at least having a way to say what system they are using. Only if the file does not have either of those does Blender assume it is metric, because that's the only thing it can do given that situation.

Blender always stores vertex coordinates in metric as part of its format, no matter what the Scene is set to show them as: It's just a UI setting. The API goes directly to the stored value. To get the coordinates in the scene unit, you would have to get the system in use from the Scene data, and then scale the vertex coordinate from metric to that system by dictionary lookup. The data paths for this are under the Scene's unit_settings attribute.


text:
Prediction of linear RGB color in Vertex Paint
I'm using VertexPaint to generate masks for specific vertex groups on meshes together with AOV and rendering to EXR.
It's very important for me to be able to control the exact color values that's rendered.
I understand that the input values that's set using Vertex Paint are set using SRGB then transformed to linear space.
But it seems to me the transformation isn't perfect and the colors I get are actually not the exact colors I'm setting.
Can any one point me to the correct solution for this?
I understand that the transformation user by blender is lossy, but is there a way to be able to predict what exactly will the values be transferred to?
I have tried few suggestions: playing with color management, setting display device to srgb or none:

This is the Compositor setup:

The result always the same for all setups, input = (0.2, 0.3, 0.4) - sRGB
Output:

The color is wrong - Blueish color on the side of the cube.

For exact reproduction and use as a mask, your best bet is to UV map and bake vcol to a non-color image texture, then use that instead of vcol.

Change render properties -> view transform -> to "Standard"

Standard still does a color transform, just a different one than Filmic.  Display device to none would do it, but unfortunately comes with side effects that Shay Gusin will probably find undesirable...

Well...I will let decide Shay whether he is happy with that or not.

From all my tests with color management.
None of the options change the output.
It seems to me some black magic is going on in AOV.


text:
How can I get straight lines on a UV map?
How can I set straight several edges in one action?
My current workflow is to select each edge, Shift+X+0, but I'm sure there is a more efficient way to do it, as with the Loop Tools -> Relax button.
I know the UV squares has the feature to grid by shape, but what I need is to get several edges on the same axis straight without affect the angle of the edges on the other axis.
Is that possible?
Can you help?

It's a complete different thing. I want to edit manually each uv map, I don't want to straight the entire map- I want an answer who helps me to speed my workflow

The entire thing pictured in the question is the UV map.

the uv squares straights the entire grid, I want to get straight the edges along one single axis.

Is the second image what you want?  If so, [S]-[X]-0 or [space}-align-[enter] will work.

@pgmath is that what I want but for all the edges along the x axis, without affecting the edges along y axis. in one single action.

Aside from perhaps some add-on, I'm not sure of a way to do what you want in one action. If you are open to another solution, perhaps consider the align auto function in the UV specials menu. It does basically the same thing as scaling to 0 on X or Y, but can save time as you can just use Shift+R to repeat the operator after using it.
Just Altselect your edge, and then use W>A(Align Auto) to activate the operator, followed by Shift+R after each selection to repeat the function.


text:
When I try to extend a shape they jump way too far
Whenever I try to extend a shape it jumps way too far and I can't extend it to where I want it. This could be an easy fix, but please tell me how. When a shape extends, instead of slowly extending to different lengths, it jumps to a super long length and I can't move it anywhere in between, just longer jumps.

Press Schift+Tab and try to extend again. I think that you just extend with Snap during transform https://i.imgur.com/snPh3an.png ( Little icon of red magnet)


text:
Duplicate object and scale across bezier curve
I'm trying to make an object be duplicated AND scaled along a bezier curve, however, the only ways I've found, namely using a lattice modifier or using an empty, both seem to distort my objects and I really need it to be scaled evenly, as in (1.0,1.0,1.0) per step.
Does anyone know of a solution for this?
Here's what I'm working on:

The image on the right, with pink arrows, show a distorted version I mocked in Photoshop just to illustrate how I want my objects to "shrink", but I don't want that kind of distortion. I need each objects to decrease scale evenly on all axis (I guess?). Thank you very much!

Use "set curve radius", available on the toolshelf of the curve in edit mode.

I don't think this is a duplicate of that question, the user was specifically asking about changing scale along path while causing no distortions, which the other answer doesn't seem to adress

Actually, the using and empty object as offset was right! I re-did all my steps and I got it to work exactly as I needed. Part of the answer to my question is here:
Repeating objects along a path
While that answer above covers duplicating the object along a bezier curve, it doesn't address how to control the scale or rotation of each duplicated object, which I found somewhere else I can't remember. To acomplish the scaling effect however, you need to uncheck relative and/or constant offset in the array modifier and use an object offset instead. The object you need to use as offset is an Empty. The Empty object is the one you will scale, in my case, to create a correct (without distortion) transition from big to small, of each element in the array, across the bezier curve. The file below can be used as a reference!
woman.blend

There are some details in regard to where to position the empty object, the bezier curve and the object being duplicated. By default you must place the object and the empty at the origin of the bezier curve. From there, play around with the empty until you get the desired result! Important: make sure all rotation and scaling properties of the bezier curve, the object being duplicated and the empty are set to 0 (reset). To reset those properties just select each one of them and press "Ctrl/Cmd + A" and choose "Rotation and scale". Hope it helps!


text:
Transfer/copy material slot assignements to identical mesh
I have a geometry with many materials assigned on different faces of the model.
Then I have the exact same geometry without any material.
How can I copy/transfer all these materials and their assignements into this identical geometry?

cannot you just duplicate the object with all the materials? Why do you need this if they are identical?

Well it could be various of reason why you can not just copy. Let's say you had to adjust the model outside (zbrush, 3dcoat... choose you favourite app) and the model is back - and you want your material setup back! If the topology is the same, it should be possible, but how?

I dont think there is a native way to transfer material "assignments". You would have to look for python ... just for curiosity - if you enable Viewport Overlay > Developer > Indices, can you confirm they match on both objects?

I confirmed - thank you. The problme was solved - shape keys helped :)

This A is not answering your Q, but can be a solution :) From your description I understood you export a mesh out of blender, you change vertices position and import your model back to Blender - topology is kept. So you can try ...

Instead of tranfering material assignments, you can transfer a shape of imported mesh to original one (with materials assigned).
Select imported than original object and search for Join as Shape operator.

This will generates two shape-keys - original (Basis) and another shape-key named by imported object (Properties > Data Properties > Shape Keys). Select the second one and change Value to 1.

Note: This technique will work only for two objects with the same vertex numbering ... check Viewport Overlay > Developer > Indices

Thank you - that's a nice workaround and basically it works - I haven't thought about that :)

Great :) ... possibly small benefit - with each edit out of blender it can be added as another shapekey - so it can works like a versioning, easily to swap or combine :)


text:
Cycles - Bake - Black patches
I have been trying to figure out why my object is rendering so dark. I have been messing with diffuse and other settings through reading other help forumns. I still can't figure out what the issue is and now I am getting a big black box in my painting. Can anyone explain to me what I am doing wrong?
The blender file is here: https://drive.google.com/open?id=1Q6TLXFYbRHifzNpNDP_BfoBC_qcXwLb9

The .blend that you gave us doesn't produce the same result as your images, so please edit your question to match versions. For the black box (white for us) in the center though: There is an object in front of your coloured image: https://imgur.com/a/dp5rYr1

@WhatAMesh that is the blend file I used to create the images I gave you - I just double checked. Does that mean something in my settings is off?

Nevermind, my bad, I thought you show us render output, but this is the bake output.

@WhatAMesh I figured out the black box, another object was blocking it - thanks for that tip! But it is still baking much darker than what it looks like rendered.

What do you mean by dark render output? It renders like this for me https://imgur.com/a/PXaPJBQ (I hope it is okay to upload the render, otherwise let me know)

Well if you look at the material for the photo, the photo is actually much brighter in the image than what it renders. Also, the front of the frame (bottom left of the bake) doesn't have any of the graininess that the top/sides do. Is this a lighting issue? I tried playing with global illumination etc and get get the front to be bright like the top of the frame.

The object (s4studio_1) in front of your "photography" generates black "patch", it causes graininess (noise) as well.
The object is disabled from Global Viewport, but not from Rendering (Bake).
Disabling the object from Render solves the issue.

The darker appearance of photography can be solved by changing value of Mix Shader from 0.7 to 0.5, but for more info of mixing Diffuse/Glosy try this
Confusing problem when I'm trying to mix Diffuse with Glossy shader

BTW: Lightning your scene by strong "Ambient Oclusion" (1.75) doesn't seem to be a good way for some natural result. Your four lamps are not (visibly) lightning the scene anymore. Deleting them you can see any difference. In this screen only World color (HSV 0/0/0.8) and Sun strenght 3 does the job.


text:
Camera not Following To Bezier Curve
I am trying to get a Camera (or Empty) to follow a 3d Bezier curve on a Mars landscape, it follows a 3d path while tracking a Mars rover which successfully follows a nurbspath (I changed as couldnt seem to get it working a second time either). I think it is something to do with my world origin ? maybe ? I am using Blender 3.1.2, answer to similar issues dont seem to have the same result (when translating from older versions)
Here is my viewport

And when I either Add a "follow To" constraint or parent a "follow to" of the empty (or camera) to the Bezier curve. It jumps away, far away

Now Ive set the origin cursor at the origin of cube, start of curve and camera, and "Shift-S" / Cursor to World Origin
And right clicked on the curve to select "Set Origin" "Origin to 3d cursor"
But again same thing
My terrian is at altitude but dont think thats the issue - any ideas anyone ?
TIA yap

Position Camera at Curve start, add Constraint > Follow Path, Target > Bezier Curve, Forward Axis Z

Welcome, You've got a few things going on in your setup that are creating problems.
Start by hiding everything that isn't connected to the camera movement.

You've got an errant Keyframe leftover from a previous 'Follow Path' Constraint on the camera. Select the camera and delete that in the Timeline.

If you open the Output Properties tab, you've changed the Time Stretching values. Reset these both to 100.

Select the Bezier Curve / Path and open the Object Data Properties Tab. Under Path Animation change the Frames value to 1000 to match what you've set as the clip length in the Timeline. You might also want to select Clamp to restrict the movement to the end points of your path.

Now add your 'Follow Path' Object Constraint to the camera, and set the target to Bezier Curve. Drag it above the Track constraint in the stack. Reset the location values of the Camera to 0 and it will locate the camera at the beginning of your curve/path.

You might also want to change the Frame count for your Nurbs Path under the Path Animation settings.

Notice that the Offset Value in the settings for your Follow Path constraint correspond to frame number and if you click and drag the value it will move the camera along the path.
Press Shift + L-Arrow to set the Timeline at Frame 1.
Set this Offset value to -1000. Keyframe it by pressing the button to the right of the Offset Value, this will change into a diamond shape.
Press Shift + R-Arrow to set the Timeline at the last frame (Frame 1000). Change the Offset value to 1000. And Keyframe it.
It should work now.
Alternatively, you can add the Follow Path constraint to your Empty Cube, and either Parent your Camera to the Empty or add a 'Child Of' constraint to the camera and target it to the Empty.
Hope that helps, if you find it's still not working, it should be one of those various settings that needs adjusting to make it work.

Awesome, thank you!

Find the right direction from which your Camera starts following the curve and then edit your curve to make desired shape
Follow screenshots and remake your BezieCurve from scratch
(In my example the Empty Cube starts following the curve from it's end)

Note: Before setting up all constraints, make a quick test to know from which direction your Camera starts following the curve, if it's the wrong one, edit the Curve

Thanks for your detailed answer kempleart, and thats exactly what i did but the empty never follows the curve. It sort of does in a weird chaotic fashion, sometimes at a distance (not along the path) and sometimes diving under the plane. I have the blend file here https://1drv.ms/u/s!Amv6AWCUsu_YmitRFzSCBTdxmt0L?e=9LEN40 with an empty and Bezier curve on opening, do the above steps you mention and see what happens !

please only share the curve and camera  ;)

What is the purpose to parent Camera to EmptyCube?

@yetanotherpassword try to apply all transforms for the Curve

@yetanotherpassword I got it working: Apply All Transforms for both Empty Cube and the BezierCurve. Then parent Camera to the Empty Cube and add follow path modifier


text:
Slicing a scene corresponding to depth
I was going through a paper on near eye display by S. KAZEMPOURRADI et al. In the paper, the authors sliced a scene corresponding to distance from view plane using Blender. I am unable to so in Blender.
I tried rendering depth map, but I don't know what to do next. Any suggestion/approach will be highly appreciated.
P.S: I varied the values of clip start and end of camera lens to extract various slices.

Enable Z (Depth) pass for rendering and use some cropping math used for Alpha input.
Compositor - Map Range node
It is accurate if you want to set specific distance from Camera. In this example scene, the space between Cube and Sphere is 12.5 m from Camera object.

With this nodetree you can specify Start-End depth.

... or organised into Node Group for easier use.

In this case Cube is visible in depth 9 - 12.5 m

... Sphere from 12.5 - 14 m

By adding these two nodes you can set in Value node Start and under Math (Ad) node you can specify slice depth ... here 1 m and just by changing Value node move 1m slice back and forth.

For compositing images with depth info Z-Combine node is usually used.
... Color Ramp
Another option can be Color Ramp node, but since depth is cropped by Normalise node, that takes closest object's point as 0 and the most far object point as 1, there is not easy way to set distance by metric, but if you need just set visual separation, should work too.

If you need to separate objects, you could be interested in Cryptomatte feature ... or rendering with View Layers ...


text:
How can I model this in 2D mesh?
This is my first time ever assignment for a job application using Blender. I have been learning Blender for a month and I should be able to do this on my own, but ...
I am modeling a cap. It all went well until I got stuck on this little piece. I have to model it in 2D mesh and I know it is kinda easy thing to do, but I really couldn't figure out how to proceed it and got stuck here for hours.
I would appriciate all suggestions.
Thank you so much.

Create a plane, select all and bevel (CtrlB), press V to switch to bevel vertices, press + or - to add or reduce the number of segments, you  can still make some adjustments in the Operator box if needed (panel on the bottom left of your 3D view):

Press i to inset, delete the inner face with X > Faces:

If this you meant then create a path curve and trace it on the picture.


text:
Randomize location of multiple objects
Does anyone know if there's a modifier or any other way to "randomize" the location of a number of objects? What I have is about 20 objects positioned next to each other and I want to randomize their Z value, but it's for a still, not for animation. I'd like to know if I can do this other than manually because I may have a lot more objects than just 20...
Thanks!!
EDIT: I've found a way. With all objects selected, I just need to run this script:
import bpy
from random import *

for ob in bpy.context.selected_objects:
  ob.location.z = ob.location.z + random() * 2

I wonder, however, is there's a more "visual" solution to this, other than scripting...

You can use proportional editing with a random falloff.

You can use the Randomize Transform operator with all objects selected in Object mode.
Press the Spacebar (or F3 with default 2.8 keymap)and then begin typing Randomize until the option appears, and adjust the desired axis for location/ rotation/ scale  in the operator panel, or by pressing F6.
You can also access the operator from the menus via Object>Transform>Randomize transform to do the same thing.

Thank you SO much!! I was disappointed Blender would not have this feature but I'm very happy it does. Yay! Hehehe... Thanks for your answer, superb.

For anyone using 2.8, space is now F3, so search with F3, and the randomize transform appears now in the object > transform.. menu.

How can we do this programmatically, such that the objects always remain in the cameras view frustum?


text:
Animate object along path and deform accordingly
I'm trying to animate an object across a bezier curve using path constraint but, even though the orientation of the object changes correctly, its shape doesn't change. I'd like it to "deform" according to the path... Does anyone know how can I accomplish this? I'm using a cylinder but I wanna be able to use any object with any shape.
Here's the effect I want to create:

Ref: https://www.behance.net/gallery/49401667/Twisted-letters-2

Perhaps the Curve modifier is more appropriate if you would like to deform your object.

Can you elaborate a little bit more on it, please? I'm also posting a picture of the sort of thing I wanna do... For this picture there's not a single element being extruded along a curve, cause of the tip of the pencil, so that's why I wonder if a whole object, which is not just a tube or an extruded single shape can be twisted like that...

Certenly, make sure to post all the information needed for your particular case (e.g. multiple objects, parents....) because at the moment I can't tell you much more from what is shown in the linked manual.

Curve Modifier
As stated in the Blender reference manual about the modifier:

The Curve Modifier provides a simple but efficient method of deforming
  a mesh along a curve object.

If you are working with a single object, make sure to fill the Deformation Axis field of the modifier with the correct value (X in my case, the object has no trasfomation) and to give your deformed object and path enough subdivions:

Then, you just have to animate the position of your object along the picked axis (X in this case) and optionally the rotation along the same axis to match the motion of the pencil shown in your example.
In my test file a took advantage of the keyframe modifier called Generator to set up a linear function for both:


text:
How can I change (theme) the color of my objects in Object Mode?
Heads-up: I'm not talking about assigning materials or matcap, ok?? I'd like to change the default color of objects when you startup blender with a raw scene or when you haven't assigned them materials and is (not) using matcap. :))
I've been trying to customize my interface in Blender but I haven't found an option to change the color of the object in Object mode. It stays that slightly purple/blueish and I can't change that. However, there is an oprtion for changing the object's color while in Edit mode, very customizable.
Does anyone know how can i customize the color of my object in Object Mode?

Object color in solid view is controlled by the lights in User Preferences > System:

The only way I know how ... for multiple color assignment in the viewport to work in object mode.


text:
How to read a csv file and use the values as x and y points in blender?

How can i use the value in column 'lon' and 'lat' as the position of my uv_sphere? For example,read the values from line 4, (116.4559081, 39.9139083), and make these 2 numbers as my uv_sphere x and y position in blender? and gives different colors for different mode, for example i have 4 modes in the csv , i want to make the uv sphere that represents the bus mode to be red, and subway to be green , rail to be blue and tram to be yellow., and use the row ['from'] and ['to'] to connect the nodes with a cylinder with x scale 0.5 , y scale 0.5 and the z scale with the value in ['length'] value.

Are the x and y positions going to be vertices or objects?

@RayMairlot, hi...thank you for responding , i want to make a uv sphere at with those numbers .

Also look into: https://github.com/domlysz/BlenderGIS and https://github.com/vvoovv/blender-osm You may find way to do a correct mapping of lat long to x y, otherwise it may appear stretched vertically or horizontally... and one or both of those links may let you link concordances to an actual map.  Also you might find QGIS to be a better tool for what you're trying to do.

I have just seen that this is the second time you have asked this question (http://blender.stackexchange.com/questions/71458/how-to-read-a-csv-file-and-use-the-values-as-x-and-y-points-in-blender?noredirect=1#comment124296_71458). You shouldn't have asked the same question again. If you needed to update the original question then you should have 'edited' it.

@RayMairlot hi sir, can you help?

@JeffFederick With what?

@RayMairlot i want to make something like in this link https://plot.ly/python/3d-network-graph/
so, i need to make some node for every mode in the csv file, i have 4 modes in the csv file, and i want to create a uv_sphere with 4 different colors to represents each mode, for example i want the bus' node to be red, subway to be green , something like that, and i have another csv file, to make the links to connect the nodes.

@JeffFederick If I could have answered your question I would have. I only initially commented on your question so that you clarified some details to make it easier for other people to be able to answer.

@JamesThomas can you help please?

You can use the csv library to read and parse CSVs.
If you have a basic bus object on a different layer (or a sphere called bus), this script will duplicate it and then assign the longitude and latitude values from your CSV as the new object's x and y values, for each row in your CSV.
import bpy, csv

fp = "C:/csvs/buses.csv"

with open( fp ) as csvfile:
    rdr = csv.reader( csvfile )
    for i, row in enumerate( rdr ):
        if i == 0: continue # Skip column titles
        lon, lat = row[3:5]

        # Generate UV sphere at x = lon and y = lat (and z = 0 )
        bpy.ops.mesh.primitive_uv_sphere_add( location = ( float(lon), float(lat), 0 ) )

I used this CSV to test this code:
mode,country/city,ID,lon,lat
bus,CN/Beijing,bus81254,65.98592786,51.75899959
bus,CN/Beijing,bus73859,92.83295925,87.98592343
bus,CN/Beijing,bus52924,88.43513405,88.79596166
bus,CN/Beijing,bus52141,92.68713387,15.49215037
bus,CN/Beijing,bus8170,36.0964094,42.77106261
bus,CN/Beijing,bus46545,84.46655319,43.23791824
bus,CN/Beijing,bus60033,66.14547792,61.71886078
bus,CN/Beijing,bus63664,35.46744528,4.412149752
bus,CN/Beijing,bus62759,89.04704861,93.61280167
bus,CN/Beijing,bus72522,25.00040058,9.672330218
bus,CN/Beijing,bus55786,96.79310251,73.2168682
bus,CN/Beijing,bus55381,44.75153181,23.6187773
bus,CN/Beijing,bus21913,39.26107112,98.37814343
bus,CN/Beijing,bus2981,35.8751682,23.26682901
bus,CN/Beijing,bus52068,56.09661959,97.26439994
bus,CN/Beijing,bus59329,54.47486082,87.98768438
bus,CN/Beijing,bus40450,6.994144595,29.2284396
bus,CN/Beijing,bus51603,95.90526567,26.46823662

hey thank you for responding :D, that looks awesome, but somehow when i try to copy your code, i have an error on line 7.
the one that " for i, row in enumerate( rdr ): ", how should i change it to make it work? please help. and i want to make a uv_sphere with it

Can you specify the error you're getting from the console?

it just says " Python script fail, look in the console now . . . "
import bpy, csv
with open('C:\Users\Jeff\Desktop\Thesis\nodes.csv') as csvfile:
rdr = csv.reader( csvfile )
for i, row in enumerate( rdr ):
if i == 0: continue # Skip column titles
mode, ctry, id, lon, lat = row[:]
# Duplicate basic bus object
o = bpy.data.objects["uv_sphere"].copy()
o.layers = [ i == 0 for i in range(20) ]
bpy.context.scene.objects.link( o )
o.location.x = float( lon )
o.location.y = float( lat )

You can open a console window through the Window menu --> Toggle System Console. The console output should be more explicit.

so, you want me to use the command prompt? and type python and use the code there? is that what you saying? (sorry, im still learning , so i dont really understand)

Nope :) You can still run this code from the text editor, but you need to open a system console as well (using the same method specified above), where you will see the error output and any other output generated by scripts.

it still gives me the same error :(, i open the command prompt get into the python through command prompt, open the blender and try to run the script, but still :(

im using windows 8 , can you explain how to toggle system console?

i opened the windows shell and try to import bpy , and it says " Traceback (most recent call last): File "", line 1, in  ModuleNotFoundError: No module named 'bpy'

Please see this page for general instructions on how to run a blender script:
http://stackoverflow.com/questions/11604548/running-python-script-in-blender

i tried it , but this is what i got :
Traceback (most recent call last):
File "C:\Users\Jeff\bpy.py", line 1, in
import bpy
File "C:\Users\Jeff\bpy.py", line 6, in
for i, row in enumerate( rdr ):
File "C:\Users\Jeff\AppData\Local\Programs\Python\Python36-32\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x8d in position 108: character maps to
any idea?

Seems like your file is using non-standard character encoding. I Updated line 6 to try force UTF8 encoding. Please have another go and let me know if it worked.

now i have errors on line 9 "mode, ctry, id, lon, lat = row[:]"
the info in blender said " 1. copied selected objects to buffer "
"  2. bpy.ops.text.run script()"
" Python script fail, look in the console now . . ."

@JeffFederick Is there a column "F" in your data.  The code is only trying to unpack 5 vars, if there are more or less you need to adjust accordingly.

@JeffFederick, I updated the code to only read the lon and lat cols. Plz try again.

i have more than 5 columns , but i only need the 'lat' and 'lon' columns to be used in the process, and with the new code i have an error on line 12.
how should i change the "bus" if i want to create a uv sphere?

@JeffFederick add one UV sphere to your scene before running the script, and change its name to "bus".

im sorry, nothing manual allowed, everything have to be run with the script. :(

Changed to use UV spheres, have a go

@TLousky error on line 7, python script fail :(

@TLousky Shalom sir :).
this is an example of the thing that i wanted to do.
can u help?

@TLousky
https://plot.ly/python/3d-network-graph/

@JeffFederick reproducing the ployly chart is going to be tricky, and it doesn't seem like you have enough data in your CSV (you need to divide nodes to groups, and to also specify links between nodes that serve as edges. Even after you have this, it requires writing logic that, say paints every group in a different material color, and also draws edges). The original plotly plot did the XYZ layout automatically, which is even trickier (but since you have longitude and latitude you don't necessarily need that).

@TLousky good evening Sir :), do you mind if i add your facebook or maybe your email? so that i could talk about it a lil bit more? i will really appreciate it :)

@TLousky here is my email address :) : jeff.federick93@gmail.com

@batFINGER the column F is ['name:EN'] , its the name for each node, can you help ?

I had to change rdr = csv.reader( csvfile ) to rdr = csv.reader( csvfile , delimiter=';') Excel saved the csv with ';' as delimeter (regional setting in Windows).

If you have your data in a .txt file in Rows of points like x1,y1,z1 but also want to align the Object to an end point or a specific rotation you could try this approach. Here x1,y1,z1 is the start point of a cylinder, then x2,y2,z2 is the end point of the cylinder and the last value is the Diameter of that cylinder.
The code is for Blender 2.80:
import bpy
import csv
from mathutils import Vector

with open('inputfile.txt', newline='') as inputfile:
    results = list(csv.reader(inputfile))

for numberCylinders in range(0,len(results)):
    myCylinderData=[0,0,0, 0,0,0, 0]
    for i in range(1,7):
        myCylinderData[i]=float(results[numberCylinders][i])

    myStartLoc = Vector((myCylinderData[0],myCylinderData[1],myCylinderData[2]))
    myEndLoc = Vector((myCylinderData[3],myCylinderData[4],myCylinderData[5]))
    myLengthVec = (myEndLoc - myStartLoc)
    myLength = myLengthVec.length
    myDiameter = myCylinderData[6]

    upVector = Vector((0,0,1))
    myRotQuaternion=upVector.rotation_difference(myEndLoc)
    myRotEulerAngles=myRotQuaternion.to_euler()
    myRotEulerAnglesVec=((myRotEulerAngles.x,myRotEulerAngles.y,myRotEulerAngles.z))

    bpy.ops.mesh.primitive_cylinder_add(vertices=32, radius=myDiameter/2,depth=myLength, end_fill_type='NGON', location=myStartLoc, rotation=myRotEulerAnglesVec)

    bpy.ops.object.mode_set(mode='EDIT')
    bpy.ops.transform.translate(value=(0, 0, myLength/2), orient_type='LOCAL')
    bpy.ops.object.mode_set(mode='OBJECT')


text:
How to read the data in CSV file and create object accordingly by using python console in blender
i have a .csv file like the picture above
i want to read the csv file and be able to pull out the information and make it like something below:
|mode        |   lon            |   lat       |  name      |
|subway     |   116.3572162|   39.8980033|  name1     |
i want to create a mesh according to the information from the csv file
i want the mesh to be in the exact location of the longitude and latitude.
please help , i'm really new to programming :(

The first part can easily be done in Excel. The second part, if you want the coordinates as vertices bundled into an object, can also easily be done in Excel by creating a Wavefront OBJ "space"-separated text file in the format: "v 116.3572162 39.8980033 0 1". (Because this is an Excel, not Blender, solution, I haven't posted it as an answer.)

@Leorex
hey Leorex :D, thanks for responding . im using blender to make a visualization . so , do you know how to do it? so, by using the python console in the blender , i want to create a uv sphere , and put it at the exact longitude and latitude :)


text:
Creating hexagonal grid which is a manifold
This is followup question based on this post.
I need to use Boolean operation on a hexagonal mesh. As Boolean does not work well with non-manifolds can you suggest a way to create hexagonal mesh which is a manifold?
My goal is to achieve intersection of "Torus.653" and "Graphene" in my scene. I am attaching my blender file below. I will be grateful if you could help me out. Blender file

You can create a manifold hex grid using 3 array modifiers and skin modifier:
Add circle:

Add a mesh circle (Add --> Mesh --> Circle).
Change the number of vertices to 6.
Don't scale the circle just yet.

Add the first array modifier:

Set the count (I used 17 units)
Use a relative offset in X, and set it to 1.0
Check the Merge option.

Add another array modifier:

In relative offset - in X:
Set the value to 0.5 / previous_array_modifiers_count
(example, if we had 17 repeats in the previous array, the value is 0.5 / 17 = 0.029)
In Y: 0.75
Check the Merge option.

Add the third and last array modifier:

In relative offset - in X: 0
In Y: 0.857
Check the Merge option.

If you want, you can apply the array modifiers in order, then go to edit mode (Tab) and remove doubles (W --> Remove Doubles).
Add a skin modifier, then a subsurf modifier to add thickness and smooth out the geometry.
In Edit Mode, select all vertices and set the Mean Radius X and Y to 0.1:

You can Apply the Skin and Subsurf modifiers as well if you'd like (will speed things up but will prevent you from making easy changes later if you want).
This mesh is manifold and can be intersected with other meshes via Boolean Modifier, even while still parametric with all the modifiers still unapplied:


text:
IK lagging behind to point at target bone
I am using Blender 2.75.  So I have an armature for a pig.  I used IK to have the legs always bend (a certain direction using a pole target) to connect with the target bone.  I am pretty sure this is all set up right.  I have animated the location (only) of the target bone in an attempt to make a walking animation.
However, it seems the IK is lagging behind when changing what frame of animation I am on.  This is also tricky because in the final animation, I will be using an online render farm, which sends one frame to each render node, and does not "play" the animation up until that point, only says, "jump to this frame and render it".
In the attached gif you can see that I have to set the frame twice to make the IK point to the target bone properly.  How would I force the IK to not lag behind and point to the target on its first try?
Note: I'm not worried about the IK not stretching to reach the target bone when it is too far away, that is intentional.

Here is the blend file that I used to record the gif with (with keyframes):

What kind of computer do you have? Your system could just be having issues processing the distortion of the mesh.

@ShadyPuck 3GHz Core 2 Duo 2GB RAM (Blender says it is using 445MB).  However, earlier today I was testing this out on an 4th gen i5 16GB RAM and GTX 970, with the same problem.  Also last night when I tested it on the online render farm all of the computers that were rendering my project had this issue.  So probably not processing power.  The mesh is deforming properly, just the IK bones are not pointing at the target properly.

You've got many dependency cycle into your Rig, as you can see on console :

This is because you add a limit distance between your IK target and bone that have the IK constraint.
Delete your limit distance constraint, and everything will be find.
(Why exactly you added this constraint ?)

Sorry that it took a while to reply. I just tried removing all of the limit distances (which to answer your question, I had in there so that while I'm animating, I won't lose them), and it did not resolve the issue. I even tried saving the file with them removed, and then reopening it, but it did not help.  Blender is still lagging behind on the IK update when I change what frame of animation I am on (exact same result as the gif I included in the OP).

Fiddled with it some more, and apparently you need to rebuild the IK constraint after removing the bone constraint(s) that affect bones that the IK used.  I would recommend adding that to your answer. :)  Thanks for your help.


text:
Prevent texture deformation when mesh deforms
I have a plane, which has a texture UV mapped to it.  Let's say this plane is square and the texture is square.
I am trying to make a mouth (basically an opening in the plane which will have teeth, tongue, etc. that goes "down into" the plane) in this plane, but not deform the image on the plane.  Now this mouth will change shape, particularly when speaking (which I will do using shapekeys), and I don't know how to prevent the texture from getting deformed when the mouth is getting deformed due to speaking.
Now, I have found a modifier called UV Project, however, that does not work in Cycles, which is what I'm using.
So the main question is: How can I prevent a texture from deforming due to the mesh moving?
Edit  Added a .blend file, it should have the texture packed into it (a 1000x1000 pixel png).  I have made some vertex groups on the "Face" object, with the teeth.  Shapekeys and inside mouth color not finalized yet, so they are not in this .blend.

UV Project works in Cycles just fine.

@ToddMcIntosh From what I was reading here all the way at the bottom of the page, it says "this option is not yet available for Cycles".  Am I reading that wrong?

The "not available in cycles" is only referring to the last option - the uv project material option related to perspective cameras. The rest works in cycles.

I don't think you want UV Project anyways, because when the mesh is deformed the texture will appear to slide over the mesh. The texture will deform, I think you just need to set up the geometry of the mesh to minimized a lot of stretching. Can you post a screen shot or your blend file?

@sambler Ah, I had not realized that, thanks for pointing that out.

@ToddMcIntosh  Added a blend file, it should have the texture packed into it.  Hope it clarifies my situation.

@ToddMcIntosh  I tried a number of things with the mesh following your advice, and everything appears to be working now.  Thanks.

So I took Todd McIntosh's advice on messing with the mesh to try to prevent it from deforming, and I have (IMO) good results:

This image has the top and bottom of the mouth not closed at all, but the sides "fully" (only partially due to how my texture will work) closed using shapekeys.
Basically loop cut and slide a ring around the edge, then from the loop extrude and scale in.  Make sure to only scale in on the X and Y axes, or whatever two axes you want to prevent the surface from bowing in.
I have the shapekeys set up so that the sides of the mouth can't come more than halfway to the center, but the top and bottom can go all the way.  There is a little bit of intersection if you have the top mostly closed, and the sides all the way in, but for my purposes, I can work around that.
And here is a blend file with some shapekeys and vertex groups if you want to test.


text:
Boolean difference modifier merges two object
i want to use difference in Boolean modifier but actually the result are like it is merged, i want a hole inside a custom shape. beore using difference:

and here is the result after difference is applied, it is like the cylinder is merged instead of subtract:

i have tried this link suggestions:
Using difference modifier on two objects doesn't always work
i am a total beginner so if i am making a stupid mistake please accept my appologies.

You need to have consistent normals on your objects - normals determine what is outside and what is inside.
To recalculate normals go into Edit mode (Tab), select all geometry (A) and perform "Recalculate normals outside" (Ctrl+ N)
After all your pieces have correct normals (you will also notice consistent shading of all objects) - booleans will work as expected.
You might also want to set the object that you do boolean with as wireframe (you do that under Object Display options):

I had the same problem. It persists after computing the normals. When enabling overlays->FaceOrientation all shapes turn blue. So the normals seem OK. Nonetheless, it merged instead of removing the intersection.
I was able to fix it via EditMode->a(select all)->Mesh-Cleanup->MergeByDistance. It seems that I did some extrude operations that created duplicate vertices without me realizing it. The MergeByDistance removed them. After that, the boolean difference worked fine.
I'm using Blender 3.1.0 and the shapes have less than 100 vertices.


text:
Subsurface Modifier Is acting strange
So I am new to blender and am following the 2.8 donut tutorial (what a surprise haha). I got to the step of the subdivision surface modifier, but when I add it to the donut to smooth things out a bit my donut looks VERY weird in edit mode (note that Blender Guru's does NOT look like this):

Any help in fixing and understanding this issue would be great!

Looks like there are some faces intersecting either from this or a different object. Can you post a screenshot of your entire screen with the 3D view set to wireframe mode?

I have edited the post to add the picture. It happened as soon as I added the modifier so I'm not sure why

I see, you've indented the vertex, which is why the smoothed surface created by the subsurface modifier is visible. If that bothers you while editing you can disable the modifier from displaying in edit mode or move the vertices slightly outward.

Yeah that would make sense. Thanks a lot for your input!

The vertices in this area are causing an indent in the surface. When the subsurface modifier is applied, the subdivided surface has a smoother transition and intersects the coarse mesh in edit mode. This is completely normal.
A basic torus

One vertex moved along the z-axis to create a dent

You can hide the subsurface modifier for the edit mode.