text:
Adding a driver to the tilt attribute of a bezier curve to link it to a hook using a python script
I started using blender and python a couple weeks ago, and have been doing okay with the documentation that is available on the internet. Now I ran into a problem though. I am trying use a hook as a way of animating a bar that is able to flex in different directions. In order to achieve this I am able to add a hook to either control point of the MidLine curve, but that only controls the location, and rotation in Y and Z-axis, so I have to add a driver to the tilt (rotation around the X-axis). Here you can see what I managed to achieve for one leaf spring without scripting, but now the leaf spring has to be animated from inputs that will be provided in a list.
So the problem is as follows: I have the hook, and control point, but how do I add a driver to the tilt attribute of this control point (see red arrow in the picture)?

I was easily able to do it manually, but I can't seem to find the proper syntax for accessing this feature with python...
Here is a picture of what I want the driver to look like for clarification:

When I first do it manually, and then copy the following info window lines into my script it doesn't work:
bpy.context.object.data.id = bpy.data.objects["Control Point 1"]
bpy.context.object.data.transform_type = 'ROT_X'
bpy.context.object.data.rotation_mode = 'QUATERNION'

I also looked around a bunch online, but the documentation didn't make it clear enough for me. I feel the code below is as close as I got. I also included the rest of the code that gets you to the same blender workspace.
# IMPORT LIBRARIES
import bpy
import csv
from os import system

# CLEAR CONSOLE
cls = lambda: system('cls')
cls()

width = 1
thickness = 0.2

# START WITH INITIALIZING CROSS SECTION
CrossSection = bpy.data.curves.new('Cross Section Curve', type='CURVE')
CrossSection.dimensions = '3D'
CrossSection.resolution_u = 12

polyline = CrossSection.splines.new('POLY')
polyline.points.add(3)
polyline.points[0].co = (-width/2, thickness/2, 0, 1)
polyline.points[1].co = (-width/2, -thickness/2, 0, 1)
polyline.points[2].co = (width/2, -thickness/2, 0, 1)
polyline.points[3].co = (width/2, thickness/2, 0, 1)

# Create Object
curveOB = bpy.data.objects.new('Cross Section', CrossSection)

# Attach to scene
bpy.context.scene.collection.objects.link(curveOB)

# Select object and set it to cyclic
bpy.data.objects["Cross Section"].select_set(True)
bpy.context.view_layer.objects.active = bpy.data.objects['Cross Section']
bpy.ops.object.editmode_toggle()
bpy.ops.curve.select_all(action='SELECT')
bpy.ops.curve.cyclic_toggle()
bpy.ops.object.editmode_toggle()
bpy.ops.object.select_all(action='DESELECT')

# INITIALIZE UNIT MIDLINE NEXT
MidLine = bpy.data.curves.new('MidLine Curve', type='CURVE')
MidLine.dimensions = '3D'
MidLine.resolution_u = 12

polyline = MidLine.splines.new('BEZIER')
polyline.bezier_points.add(1)
print(len(polyline.bezier_points))

polyline.bezier_points[0].handle_left = (-1, 0, 0)
polyline.bezier_points[0].handle_right = (1, 0, 0)
polyline.bezier_points[0].co = (0, 0, 0)

polyline.bezier_points[1].handle_left = (3-1, 0, 0)
polyline.bezier_points[1].handle_right = (3+1, 0, 0)
polyline.bezier_points[1].co = (3, 0, 0)

# Create Object
curveOB = bpy.data.objects.new('MidLine', MidLine)

# Attach to scene and validate context
bpy.context.scene.collection.objects.link(curveOB)

# Select object and assign the cross section bevel
bpy.data.objects["MidLine"].select_set(True)
bpy.context.view_layer.objects.active = bpy.data.objects['MidLine']
bpy.ops.object.editmode_toggle()
bpy.ops.curve.select_all(action='SELECT')
bpy.context.object.data.bevel_mode = 'OBJECT'
bpy.context.object.data.bevel_object = bpy.data.objects["Cross Section"]
bpy.context.object.data.splines[0].use_smooth = False
bpy.context.object.data.use_fill_caps = True
bpy.ops.curve.select_all(action='DESELECT')
#bpy.ops.object.editmode_toggle()
#bpy.ops.object.select_all(action='DESELECT')

# CREATE THE HOOKS AND LINK THEM TO THE CONTROL POINTS
# Control point 1
bpy.context.active_object.data.splines[0].bezier_points[0].select_control_point = True
bpy.ops.object.hook_add_newob()
bpy.data.objects['Empty'].name = "Control Point 1"
bpy.data.curves['MidLine Curve'].splines[0].bezier_points[0].driver_add('ROT_X')
#The following were attempts that also don't work:
#bpy.context.object.driver_add("ROT_X", 2)
#bpy.context.object.data.id = bpy.data.objects["Control Point 1"]

Hopefully someone is able to clarify how to use these drivers with bpy. It is probably a lot easier for adding drivers to simple cubes, but this niche part of blender is quite ... well niche :P. I feel the documentation could be much easier to understand if some examples of how to use the syntax were included, by the way. I think the bpy_struct (bpy_struct), also could be of use, but I just don't understand how. Furthermore, for reference, here is a link to the question where I learned of the trick to add a driver to use a hook to control a bezier point.
Thanks in advance!
Ruben

If you manually add the driver via UI, can use the python console to see the driver settings, and then code them.    There are numerous answers re adding drivers via python.   Might find the second example useful, https://blender.stackexchange.com/questions/183694/polygon-material-index-animation/183716#183716  adds a driver to face index color using distance from empty. In this case its bezier control point tilt.   Will get back with an answer if someone doesn't beat me to it.

Thanks for the response! I tried copying the info-window output after adding the driver myself via the normal UI, but that did not work unfortunately. I took a look at the link you gave me, and that indeed seems very helpful for what I need. The only problem is that I have a hard time understanding and thus also rewriting their code to suit my tilting needs. The specific syntax needed to add a driver to the tilt attribute of a bezier point is still not clear to me. I look forward to your answer!

@batFINGER I'm sorry, I don't mean to rush you, but I was wondering if you have had some time to look into my question. I would be really grateful for some help! Thanks in advance again.


text:
How to use bpy to import a .mat (MatLab) file into blender's python interface?
I looked around on Google, and found that python has support for this through the scipy module. According to this StackExchange page, all you need to do is:
import scipy.io
mat = scipy.io.loadmat('file.mat')

When I try this in the python interface in blender though, I get the following error:
ModuleNotFoundError: No module named 'scipy'
Is there a way to get this module to work, or any other way to import a .mat file into bpy?
Thanks for the help!

You need to install scypi in Blender, or make Blender use the system Python. See https://blender.stackexchange.com/questions/161894/how-to-import-scipy-in-blender  or https://blender.stackexchange.com/questions/106099/error-when-trying-to-import-scipy-module-to-blender

Thanks for the reply. I followed the links you gave me, and installed scipy, but if I try to import scipy inside blender it still gives the ModuleNotFoundError... I have tried it in multiple ways now and everytime I try to install scipy it tells me "Requirement already satisfied", saying that scipy is already installed. Why can Blender not see it?

Did you install it inside Blender using the Blender console?

@RonJensen
Yes I ran the get-pip.py file inside the python text editor inside blender, and afterwards I ran these commands inside the python console inside blender:
`>>> import pip

pip.main(['install', 'scipy'])From that I got the following error:ERROR: Could not install packages due to an OSError: [WinError 5] Access is denied: 'C:\Program Files\Blender Foundation\Blender 2.92\2.92\python\Lib\site-packages\scipy'
Consider using the '--user' option or check the permissions.`
I don't know what to do with this though, as I have no idea how to add '--user' to this...

Windows isn't letting you install because the folder is protected. Just for this step you can try running Blender as administrator.

@RonJensen Thank you for all the help so far! I thought of doing that as well, but unfortunately this error came up while I already was running Blender as administrator already... I think it could maybe work if I can somehow add the '--user' argument to the command, so if you have any tips on how to do that I would really appreciate that!

did you try ["install", "scipy", "--user"] which would emulate the required pip cli command.  (or navigate to folder and run pip from cli as admin)  There are a number of posts on installing 3rd party modules. My 2c worth is look at making a virtual env running same python version as blender, and point blenders python to it.

@batFINGER I hadn't tried pip.main["install", "scipy", "--user"] yet, but unfortunately when I do, I get the following error: TypeError: 'function' object is not subscriptable... I barely understand what I am doing, as I am very inexperienced with this stuff, so I don't really understand what you say in the rest of your post. If you have any idea what went wrong when I ran that command I would love to hear it! Thanks.

pip.main([...])  Suggest googling python error messages if unsure of their meaning.

@batFINGER aaah sorry for my negligence. The command worked, and it said it Successfully installed scipy-1.6.3. The only problem now is that if I try the import scipy command, it still gives me the error ModuleNotFoundError: No module named 'scipy'... How is that even possible if it was literally installed through the blender python console? I already googled this many times, but then I get back to where I started, so your help is the only lead I have right now haha

Not on windows.  The "user" folder used by pip is not added to python path by blender python (sites.py) Installing using --user installs on linux to $HOME/.local/lib/python3.7/site-packages  add corresponding path for windows (look it up in pip docs) to sys.path

@batFINGER I added that to my blender path using the append command, but still no dice. I feel like blender can't see the package for some reason.

source: Stack Exchange

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

sort: votes


text:
These drivers are identical according to the UI. Why does the scripted one not work?
I have put a driver on the tilt attribute of a bezier curve, and linked it to a hook manually first to see if it would work. The result of this is as follows:

And here you can see that the bezier curve tilts along with the Hook perfectly:

It did what it was supposed to do, so I went on to do the same with a python script. The result of both seems identical to me, but the scripted version does not work. Here is the picture of the scripted driver:

And here is a picture of the hook being tilted, but the bezier curve not moving along with the hook (and to prove that the hook is connected correctly, a bit of y-axis rotation as well):

Is there some internal activation that needs to take place for the driver to start functioning?
Finally for reference, here is the code that created this driver:
# IMPORT LIBRARIES
import bpy
import csv
from os import system

# CLEAR CONSOLE
cls = lambda: system('cls')
cls()

# START
width = 1
thickness = 0.2

# START WITH INITIALIZING CROSS SECTION
CrossSection = bpy.data.curves.new('Cross Section Curve', type='CURVE')
CrossSection.dimensions = '3D'
CrossSection.resolution_u = 12

polyline = CrossSection.splines.new('POLY')
polyline.points.add(3)
polyline.points[0].co = (-width/2, thickness/2, 0, 1)
polyline.points[1].co = (-width/2, -thickness/2, 0, 1)
polyline.points[2].co = (width/2, -thickness/2, 0, 1)
polyline.points[3].co = (width/2, thickness/2, 0, 1)

# Create Object
curveOB = bpy.data.objects.new('Cross Section', CrossSection)

# Attach to scene
bpy.context.scene.collection.objects.link(curveOB)

# Select object and set it to cyclic
bpy.data.objects["Cross Section"].select_set(True)
bpy.context.view_layer.objects.active = bpy.data.objects['Cross Section']
bpy.ops.object.editmode_toggle()
bpy.ops.curve.select_all(action='SELECT')
bpy.ops.curve.cyclic_toggle()
bpy.ops.object.editmode_toggle()
bpy.ops.object.select_all(action='DESELECT')

# INITIALIZE UNIT MIDLINE NEXT
MidLine = bpy.data.curves.new('MidLine Curve', type='CURVE')
MidLine.dimensions = '3D'
MidLine.resolution_u = 12

polyline = MidLine.splines.new('BEZIER')
polyline.bezier_points.add(1)
print(len(polyline.bezier_points))

polyline.bezier_points[0].handle_left = (-1, 0, 0)
polyline.bezier_points[0].handle_right = (1, 0, 0)
polyline.bezier_points[0].co = (0, 0, 0)

polyline.bezier_points[1].handle_left = (3-1, 0, 0)
polyline.bezier_points[1].handle_right = (3+1, 0, 0)
polyline.bezier_points[1].co = (3, 0, 0)

# Create Object
curveOB = bpy.data.objects.new('MidLine', MidLine)

# Attach to scene
bpy.context.scene.collection.objects.link(curveOB)

# Select object and assign the cross section bevel
bpy.data.objects["MidLine"].select_set(True)
bpy.context.view_layer.objects.active = bpy.data.objects['MidLine']
bpy.ops.object.editmode_toggle()
bpy.ops.curve.select_all(action='SELECT')
bpy.context.object.data.bevel_mode = 'OBJECT'
bpy.context.object.data.bevel_object = bpy.data.objects["Cross Section"]
bpy.context.object.data.splines[0].use_smooth = False
bpy.context.object.data.use_fill_caps = True
bpy.ops.curve.select_all(action='DESELECT')
#bpy.ops.object.editmode_toggle()
#bpy.ops.object.select_all(action='DESELECT')

# CREATE THE HOOKS AND LINK THEM TO THE CONTROL POINTS
# Control point 1
bpy.context.active_object.data.splines[0].bezier_points[0].select_control_point = True
bpy.context.active_object.data.splines[0].bezier_points[0].select_right_handle = True
bpy.context.active_object.data.splines[0].bezier_points[0].select_left_handle = True
bpy.ops.object.hook_add_newob()
bpy.data.objects['Empty'].name = "Control Point 1"

driver = bpy.data.curves['MidLine Curve'].splines[0].bezier_points[0].driver_add("tilt").driver

var = driver.variables.new()
var.name = "tilt_rot_1"
var.type = 'TRANSFORMS'
var.targets[0].id = bpy.data.objects["Control Point 1"]
var.targets[0].transform_type = 'ROT_X'
var.targets[0].rotation_mode = 'AUTO'

# Driver does not work so far....
bpy.ops.curve.select_all(action='DESELECT')

# Control point 2
bpy.context.active_object.data.splines[0].bezier_points[1].select_control_point = True
bpy.context.active_object.data.splines[0].bezier_points[1].select_right_handle = True
bpy.context.active_object.data.splines[0].bezier_points[1].select_left_handle = True
bpy.ops.object.hook_add_newob()
bpy.data.objects['Empty'].name = "Control Point 2"

driver = bpy.data.curves['MidLine Curve'].splines[0].bezier_points[1].driver_add("tilt").driver

var = driver.variables.new()
var.name = "tilt_rot_2"
var.type = 'TRANSFORMS'
var.targets[0].id = bpy.data.objects["Control Point 2"]
var.targets[0].transform_type = 'ROT_X'
var.targets[0].rotation_mode = 'AUTO'

# Driver does not work so far....

# SET HOOKS TO XYZ-AXES AND QUATERNIONS, AND HIDE CROSS SECTION
bpy.ops.object.editmode_toggle()
bpy.data.objects['Control Point 1'].empty_display_type = "ARROWS"
bpy.data.objects['Control Point 1'].rotation_mode = "QUATERNION"
bpy.data.objects['Control Point 2'].empty_display_type = "ARROWS"
bpy.data.objects['Control Point 2'].rotation_mode = "QUATERNION"
bpy.data.objects['Cross Section'].hide_viewport = True
bpy.ops.object.select_all(action='DESELECT')

Hopefully someone knows the answer to this peculiar problem.
Thanks!

First thing that jumps out re images is expression in scripted driver is 0.0.   When add a driver driver.expression = "tilt_rot_1"

I'm sorry, I'm not sure I fully understand what you mean. Is driver.expression = "tilt_rot_1" something I should have specified in my code? Because currently I did not. I also don't fully understand what you refer to when you say "expression in scripted driver is 0.0"?

Play "spot the difference between two images. In first the expresson field is "var + 0.0" in the second it is "0.0". In first it evaluates to same value as var, in second, driver evaluates to 0.0  The driver value of a scripted  expression type is the script evaluation of driver.expression.  Eg in second case  eval("0.0")  A variable named "var" can be used in expresson as var.

Holy crap! That actually worked! Thank you so much haha. I can't believe I missed that. I guess I just don't understand how drivers function completely yet. Thanks again! :P
(If you post an answer can I mark it as the correct solution?)

The expression field is useful because it lets you do operations on any number of variables. Most drivers you will directly use the default var, but often, you'll need to do some operation(s) over it or other variables, and the expression field takes care of it.

the Blender not scripts in automatic mode you need active in preferences

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


text:
Does having blender installed on a HDD over a SSD affect rendering time?
I have Blender installed onto my hard drive instead of my SSD. I am experiencing some long render times, and I was wondering how much this would affect that.
I have no issues with performance or lag when using the software, just long render times.
Also as a follow up should I move all my textures and HDRIs n stuff to my SSD, or is keeping them on the HDD ok?

Everything needed for a blend file gets loaded into ram, so the only benefits an ssd would offer over a hdd is the initial load up speed when you first open the file and choose Material Preview or Rendered Preview (forcing it to load all the textures). It might also impact the loading of new textures, but differences are negligible unless you're working with a lot of hi-res (4k-8k) textures. Render speed is almost entirely dependent on cpu (and gpu, if applicable).

Hi :). An SSD can really help when rendering animations - since Blender loads data from disk for each frame again. But Blender 2.93 will introduce persistent data, which makes my point moot...


text:
I make an action editor animation using keyframes, I save and quit, then when I open it back up, my animations are gone
I am making an animation using Action Editor and key frames, I then go to save and quit, when I go back in, most of my animations are gone and only a few remain.

Any action that is not assigned to an object is automatically deleted by the garbage collector after a certain amount of time.
To prevent any of your unused actions from disappearing, use the Fake User feature (shield icon) to permanently keep the certain action in your blend-file's data memory.


text:
Looking for help with procedural materials and "polar pinch"
I've been playing around with making procedural planets in Blender 2.8. I was hoping to create the materials and export them to use in Three.js.
Creating the material was simple enough, but the only way I could think of to export the material was to bake the texture.
Everything looked fine in Blender, but in three.js the texture is pinched at the poles.
Is baking and saving the image the best way to go about this? Or does anyone have an idea on how to fix this issue?
This is what planet looked like in Blender:

And this is what it looks like in Three.js: Kinda hard to see the pinch with the blue, but you can see the green land masses being pulled toward to center.

For what it's worth, this is what the exported texture looks like. I'm assuming the dots alone the top and bottom are because I did not UV unwrap before I baked the texture. But even after doing it and UV unwrapping, the pinch was still there.

Thanks for your help.

Does this answer your question? How to avoid the wrinkle at the poles of the UV sphere?

Thanks. I'll give this a shot.


text:
Can I make a plane renderable but not effect the light in the scene?
I want to add in a plane into blender with an image on it. I want the image to render out into the scene but I don't want the plane to effect the the light in the scene. Is there a way to do this?

disable the Diffuse option in the Properties panel > Object > Visibility?

I figured it out. Go to your object properties and in Visibility>Ray Visibility, uncheck "Shadow"


text:
materials modification after changing render engine
i have imported some animated characters in blender from mixamo they were originally makehuman characters which i added them animation by mixamo i used cycle   engine for rendering the results was satisfying

but after several days when i tried to render them again all materials had turned purple.

i don't know why it has been changed !!

The purple is a default warning color indicating missing textures .. your Blend file has lost track of the external files. After finding them manually, and reloading them, you have the option of packing them into your .blend file, if you don't mind the resulting file size.

Possible duplicate of Why are all the textures in my file pink?


text:
How do I export an object (that consist of many parts), so its different UVed meshes are preserved?
I only know how to do a few things in Blender and I am stumped. I am trying to use Blender to convert fbx files so I can use them in another 3D program that has trouble importing fbx files. No matter what I try in Blender, e.g. clicking on the eyes to make everything but one item hidden and then try to export that item, etc. - it still saves the whole thing as 1 piece with no selectable meshes/UV’s that I can texturize in another program.
Currently I have to repeatedly reimport the FBX file, delete all the pieces except 1 and save it as an OBJ. Afterward, I have to reassemble all of the obj’s in my other program. This is doable, but a pain. There must be an easier way.
So in short, my question is this: How do I export the object, such as an apartment (that consist of many parts), so its different UVed meshes are preserved so I can texture them in another program? Please remember I am a nubby so be specific on how to do it. - thanks

By "another program", do you mean Substance Painter? Or what program are you texturing in?

There is a "Selected Object" Toggle in the FBX-Export Window and also in the OBJ Exporter Window, for only exporting the selected object.
Its possible that the other part of the problem is with the other programm, what other software are you using?

Thanks for replying. BTW: I am exporting from Blender as an object since DAZ Studio (that I am importing into) keeps exploding the FBX files  (like a tech manual's exploded view of a item).

BTW: I just tried your suggestion and: It works! I can now export one item at a time! Thanks again.

3 years late but:
Another reliable option is to show all parts you want to export onscreen (unhide), which you probably already have done
Use (Object Mode-> Select-> All) in the work window, which will select everything in view. Then export selection only
I wasted time trying to select each, then realized this clean workaround
I do wish there was a feature for "export all shown"


text:
how do I join two meshes without leaving a gap?
i'm fairly new to the blender. I have these two meshes, the ragged one i need for the ground surface where the grass will be, the straight one i need for a road, how do i join them together without leaving a gap? Or is there a better way to make it out of a single mesh?

Possibly you can use Ctrl-R to cut loops in the plane on the right to match the number you have on the left.(I subdivided mine because I was dealing with a full plane that was square, yours is probably not needing that)

Then you can use Looptools add-on to Bridge the edge loops once you select them both at the gap between the two parts.


text:
Composite not working in blender
i do render of my scene in 2 different render layers but i am unable to composite in a single image please help me. thanks

Looks like you need to enable your main layer as a mask layer for your cloth. Should be in your render layer settings.

Set your main layer(s) as a mask layer.

This makes it so that when something covers up the layer in space, it becomes transparent in the renderlayer.

i tried it but it is not working for me

please help me. i didn't get my answer yet. pls give me a link for this tutorial. thanx

You may try the Z Combine node to combine layers instead of Alpha Over:

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

authors: Наталья Вяткина


text:
How can I join five collision planes into a single concave box mesh?
I'm trying to make a custom collision mesh to wrap a concave static mesh in Unreal 4, but I found that once I join all the individual planes making up the 'wrapping' they form an invisible closure over the concavity and make the resultant mesh convex.  This can be reproduced with a simple 5 plane open box mesh (example linked below) -- when I place a sphere above the box, enable collision and rigid body physics on everything, and press Blender timeline's play button the sphere drops into the box as expected as long as the planes are left unjoined.  When I join the planes into a single mesh, however, the box develops an invisible 'top' plane that stops the sphere.  As far as I can tell, Unreal requires a collision mesh to be a single mesh, so leaving the planes unjoined is not an option.
Why does the join operation add an invisible plane to make the complete mesh convex?  Is there any way to override this behavior and preserve the concavity in a single mesh?
Blender Version: 2.93.0

The Blender Physics simulation properties can't be exported so it doesn't affect anything in Unreal. You have to adjust something in Unreal, or may be you should try to add thickness to the mesh with the Solidify modifier.

Adding thickness with Solidify to each plane didn't make a difference.  Re: simulation export, my concern is that Blender is adding invisible geometry with the join operation and that this is being propagated to UE4 (which shows the same invisible top collider behavior as Blender's simulation)


text:
How can I constrain a camera to focus on a face of an object?
I have an object that I want the camera focus all time on the same face.
So if I move or rotate the object and so the face too, the camera should move/rotate to continue focusing the same face.
Can someone help me? Thanks

Does this help - http://blender.stackexchange.com/questions/42837/constraint-the-camera-to-look-at-an-object ?

Also http://blender.stackexchange.com/questions/28621/make-camera-system-look-at-empty

As you want to stay focused on the same part of the object I would think parenting the camera to the object would be a better option.

Lets say you have doing this suggestion :
Constrain camera
But that solution is just make the camera only looking to the center of the object, not the face you want.
The next step you need is just to create a vertex group on the face you want then assign it to the constraint :

Select your target object and go to edit mode.
Select your designed face.
Go to the mesh data tab and in the vertex group field, just add one by click + button.
Rename your vertex group and click assign ( to assign the face you selected )
Then select your camera, go to the constraint tab, and insert your vertex group to the vertex group field

Following all the steps, the problem is that the camera is fixed into a point and don't shown the selected face all time. Any way to fix it?

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


text:
Phyton code to get text remaining at the same size all the time to be readable
I want to get the text with a fix dimensions although there is near or far from the camera.
At the moment I have a text facing the camera all the time with this code:
"from bge import logic
scene = logic.getCurrentScene()
text = scene.objects["Text"]
camera = scene.cameras[0]
text.worldOrientation = camera.worldOrientation"
What I need is that the text remain at the same size all the time to be readable (not too small neither too big).
thanks

A perfect solution for my problem! it works

I think you need to measure he distance to the camera. Be aware this does work for a single point of the object only due to the perspective distortion. Faces nearer to the camera appear larger than faces of the same size more far away from the camera.
Here is a script that calculates the scale dependent on the distance to the camera. The scale when running the script the first time will be preserved. The Python controller needs to be triggered at each single frame, where the distance to the camera changes. If you are unsure us Always Sensor with True Level Triggering.
The controller applies to the object that should be scaled (your text object).
import bge

owner = bge.logic.getCurrentController().owner
camera = owner.scene.active_camera

distance = owner.getDistanceTo(camera)

try:
    originalDistance = owner["originalDistance"]
    originalScale = owner["scale"]
    owner.localScale = originalScale * distance/originalDistance
except KeyError:
    owner["scale"] = owner.localScale.copy()
    owner["originalDistance"] = distance

here is a short version by reducing the formulas to the minimum. It might be a bit harder to understand. Basically originalScale/originalDistance is constant and calculated just once.
import bge

owner = bge.logic.getCurrentController().owner
camera = owner.scene.active_camera

distance = owner.getDistanceTo(camera)

try:
    owner.localScale = owner["normalizedScale"] * distance
except KeyError:
    owner["normalizedScale"] = owner.localScale.copy()/distance

Place the text in an overlay scene. This way the distance to the camera (in that scene) is constant and the object size appears to be always the same.


text:
How can I make a track for an object in Blender Game (not blender render)?
I want to do a track in blender game. I have done it in blender render with constraints track to,... but it's not working in blender game.

You can use the Edit Object Actuator and set it to "Track to". Set the Object you want to track to in the Object Picker and choose the track axis. If you pick x it will point with the x axis to the object to track etc. If you want the object to rotate only around the z axis, don't enable 3d. If you want every axis, enable 3d. UP axis should usually stay z if you didn't rotate your object in a strange way (it means z will point up).

Suzanne tracks to the cube on the y axis

with 3D enabled she also lifts her head for it.

You'll also want true level triggering enabled. With your current setup, Suzanne will track to the cube during the one tick when the game starts, and then not again after that.


text:
How can I insert a transparent rectangle but with the edges mark?

I want to do exactly what is shown in the image. Some know the way to do it?

"Exactly what is shown on image" - what exactly ? If you want to overlay one image on top of another then do you really need 3D modeling package ?

Instead of having a bitmap, it could be better to just use a mesh, like this:

here I also used a shadless white material, to get the idea.
Another way could also be curves with tapers, probably...
Using real geometry, instead of having a fixed bitmap, allows you to adapt the mesh to different needs, and ensures optimal resolution...

You can use Box Masks in the compositor.
Add two Box Mask nodes, make one of them slightly smaller and set it to subtract from the other box mask. Use the result as the factor input of a Mix node, where you mix the original image with the color you want the edge of the rectangle to be.

You can create the "Graphic" in an application like Photoshop or Gimp with an alpha channel. Save it in a format that supports alpha channels like .PNG. Then import that "Graphic" as a plane into Blender. In Blender you can go to "File" > "Import" select "Images as Planes" and check off "Use Alpha"in the import options.


text:
shape keys made from other shape keys
Is it possible to make new shape keys using varying amounts of other shape keys.
For example let's say I have two shape keys one for the upper lip and one for the lower lip. Can I create a third shape key using a bit of both previously created shape keys to move both lips at once to spare time?

you can probably just use relative shape keys and animate them as you wish https://www.blender.org/manual/animation/shape_keys/shape_keys_panel.html#relative-shape-keys

You can layer shapekeys so both upper and lower lip will move when you have both shape keys added. Or you can make a third shape key that  affects vertices in the upper and lower lip and add that in the mix. Depends on your case which works best.

It's possible and easy (check image below). By adjusting value of previous keyframes, you get different mixtures of them.

@Jesper Petersen Don't forget to check the From Mix checkbox in a Tool Shelf after adding a new shape key- it isn't checked by default.

Awesome, Thanks for the info an image! You've been very helpful :-)


text:
I can't randomly distribute the contents of a collection in Blender 3.0 geometry nodes
In 2.93 I can easily randomly distribute the contents of a collection within a geometry nodes graph.
In 3.0 how would I now achieve the same result? I've attached an image from both 2.93 and 3.0 to illustrate the issue.

I’m voting to close this question as off topic because it is about troubleshooting temporary issues with unfinished under development experimental versions of software, which are expected to be working properly upon stable release. This produces a question unlikely to be useful for future users, rendering its long term value low, making it unsuited for this site.

I am voting to reopen this because although it is still under development. This is basic functionality and it works in 3.0...I don't understand why this must not be answered or questioned although it is Blender and other questions even about other software are allowed and won't be deleted or closed. It is just not fair. Sorry, Gavin, i really like to answer your question.

Hi Gavin, you can use this node setup - it works: [1]: https://i.sstatic.net/H6vYY.png

I'm voting to reopen this question because Blender 3.0 is stable now and it's the first result for this type of thing on a search.

@deltaray: did you read my comment?


text:
Are previous branch builds saved anywhere? I'm looking for the 3.0 viewport compositing branch that never made it to main
I know about the collection of basically all the previous release builds, but I'm looking for a branch that had an experimental feature that never made it to a release. I'd really like to experiment with it.

Have you looked there yet? https://builder.blender.org/download/patch/archive/ you need to know the patch id though

Yes.  Previous branch builds are maintained in the experimental build archive.
But No.  Not every branch is kept and not every build from a branch, and only official branches.  So you may or may not be able to find what you're looking for.
On the other hand, the git repository has the necessary tags to allow building any branch at any point. You could try that path if you need the feat.
NOTE: The same thing is true for the patch build archive mentioned in a comment on your question; as well as the daily and other builds maintained there.


text:
Rubber material (Adidas Boost alike)
I'm trying to figure out a way to recreate this polyurethane-particles like effect, as is in Adidas Boost soles (see image), either via procedural shaders or though geometry nodes.. Anyone has done something like that before?


text:
How Come My UV Image Projection by perspective doesn't match with image?
I am trying to model a cake box with an image texture with perspective, however, when mapping, the top plane gets distorted for some strange reason.
Original Image with mesh object shown in wireframe mode:

Uv editor view:

What it looks like on render (Notice how the top plane is distorted)

Any help is greatly appreciated. Thanks!

You could try inserting a few edge loops or subdividing the box a few times. UV Mapping may work better with denser geometry in Blender.

Tried subdividing but still no luck. First time trying to project textures by perspective and it's so weird

Have you subdivided now after projecting the UV map? First subdivide the mesh, then do the projection mapping. And it also depends on how many subdividions you have, more is better.


text:
How can I modify the backfacing of a mesh's material with another mesh?
I'm trying to find some way to clean up the backfacing around child meshes on this model.

It uses a solidify modifier and a backfacing material to generate an outline, which I'd like to modify around the children and update procedurally (as each of the children will be rigged at some point to move around while shrinkwrapped or IK clamped to the body).
Each of the children uses the exact same modifier and materials setup as the parent.
My first thought was to use a vertex group to control the solidify modifier, but how can I ensure that group updates based on the position of the children? Weight painting can control the inclusion of vertices into a group with geometry nodes, but then how can I update the weight painting based on the children?
Any help is appreciated. Thanks!

Backfacing material for an outline is a pretty neat idea, but it has the problem you’ve encountered. However, freestyle seems like it would work fine here. Why not use it?

@ZargulTheWizard I don't like how little control I have over freestyle (and it is very easy to tell when freestyle goes bad). I'd rather create outlines via nodes because I can tweak every little detail with vertex groups and weights, it's just a matter of learning how to do that.

Do you know about the line sets and other controls in the render layers section?

@ZargulTheWizard Yes, but again, it's more restrictive. I can't use geometry nodes as part of the freestyle modifier stack, which wouldn't likely introduce any complications with multiple meshes on one geometry node setup because each object has to be on a different layer so you can give them different line sets to tweak them individually and composit them anyway. Basically, I'd use it if the complications surrounding freestyle per-scene-object were resolved, but they aren't. Any suggestions for updating a vertex group's members based on vertex weights?


text:
How do I align the texture mapping?
I'm sorry, I've been trying this for over an hour but I can't get them to align. Any tips? Thank you!!

Related: https://blender.stackexchange.com/questions/6755/how-to-properly-unwrap-my-mesh

Hello :). In your case, perhaps UV > Smart UV Project would do the trick. It's a very simple geometry.

For this box shape, the easiest way to ensure that the texture on the faces are aligned after unwrapping is to mark seams in such a way that it unwrapps as a single UV island.
See screenshots below :

Then rotate and scale in the UV space as needed :

If you do have UV islands floating about that need to be aligned then  use the snapping tool to align them. (and some rotations etc).
Note that if the scale of the two islands are different then you may need to snap individual vertice or edges into position.


text:
Poor Animation FBX Export, Random Rotations of Bones
I created some animations(like idle, walk, attack etc.) for a model in blender. I then exported them as an fbx to use them in unity. All the animations works fine in blender. In unity, all of them work except the last one, which is rotated quickly and then returns back to normal in like 4 frames. When reimporting the fbx in blender, the animation had the same issue, but only that one. What can I do? (first picture is the original blender project, second is unity, third is reimporting the fbx on blender, all of them show frame 5 of the animation).


text:
Particle objects overlapping
So I have a subdivided Plane acting as a base and a flower object with random colour node set to it and I'm using it in a particle system to cover the entire Plane: the regrow at the exact position where another one already is even when there's empty space left. The trouble seems to be that if I set it as 'hair' the particles start overlapping before covering the entire Plane.With 'emitters' the tend not to align neither with the faces nor vertices as I want. I tried with a particle collision animation but can get to work it right.
Is there a way to prevent particle from overlapping each other and spreading uniformly over a plane(not grid).

I'm not sure you can prevent overlapping, to have more control maybe try Hair with Advanced option, then Emission > Emit From and choose Faces or Verts?

I need them to be clustered like shrubs in a jungle scene,selecting faces does not seem to work. Is there like a particle collision simulation that i can play for 5 frames and get the job done?

On your particle settings, drop-down "Source", select "Emit from Volume", then adjust number of particles/face.


text:
'Project from view' issue Blender 2.93
I am trying to get the background image projected onto the plane below. From the UV editor window, the UVs looks perfectly fine as I want it to be and as it should be, but the textures on the mesh Do Not Match. I don't know Why!

I Have already Applied Rotation, Loc, Scale to the plane
I also tried using the UV Project modifier, got same results.

Try to add more subdivisions to the plane(Right click subdivide in edit mode)

Sorry, but that didn't seem to work for me, the texture is still Way off

If you subdivide the the plane, you have to unwrap it again so that the new geometry is taken into account in the unwrapping. Then this will work, I'll edit my answer to give an example for that.

Does this answer your question? UV Projection not working

What doesn't work here is that you have a rectangular plane, where the opposite faces are exactly the same size and you're changing them to a perspectively distorted UV map. The camera's view also distorts the rectangluar shape of the plane, so it's double distorted.
Don't quote me on that, I'm not going for physically correct explanations... the point is, to achieve what you want to do, you don't necessarily need UV mapping, you can use the Window output of the Texture Coordinate node in the Shader Editor, or choose Window if you set the Vector in the Material Properties.

If you want to use UV mapping you need more geometry to calculate the distortion correctly, so you have to subdivide the plane as @Emir suggests in his comment. But then you have to unwrap it again to project this new geometry. If it still doesn't work, the subdivisions were not enough. The Window method I described above doesn't need additional geometry.
But here is an example to show you why it doesn't work without enough geometry or not unwrapping it again after subdividing. On the left is the plane with just four vertices. If you now subdivide it, the plane will be cut evenly subdivision is the same size, according to the original geometry. But if you don't project again from view, the UV is a 2D workspace. Each edge is not a perspective representation, so the cuts will simply divide all edges evenly according to their 2D length. Only if you unwrap it again with Project from View, the proportional subdivision will be taken into account.


text:
Material painting in Blender in 2019 (like Unity terrain)
Is it possible to do material painting in Blender as of the beginning of 2019?
The most common scenario for this is landscape painting where you want to paint some part of the mesh as grass, some as dirt, some as sand, etc. (like in Unity terrain)
Texture painting alone wouldn't work because:

It doesn't paint normals and other material properties
It paints plain colors. You can't for example adjust all grass scaling afterwards

The only method I found involves manually constructing shader graph with masks and painting on those masks:

Painting with predefined materials in 2.79?
How to paint a mesh using materials instead of textures
https://www.youtube.com/watch?v=oDn22T2Sbsg
https://www.youtube.com/watch?v=LlqtFW8AWjE

It seems to be such a common feature/scenario that I would expect it to be built-in. Is it implemented in Blender 2.80? If yes, how to do it?
In both cases (implemented or have to be done manually with masks), how do I export the final result (combined texture and normals) to use in game engines (specifically Unity)?

Using "mask" is common workflow in many other software as well - Substance Painter, Quixel and such, so there is no big difference in Blender, it is just harder to setup. For export you can bake your materials.

@cgslav, so is it the best way to do it and the workflow people actually use?
No updates in Blender 2.80 which make this available out-of-the-box?

I'm not sure what do you have in mind saying "out-of-the-box". It is mostly that way. Check here: https://www.youtube.com/watch?v=gUVEzwAgGzo or here: https://www.youtube.com/watch?v=svzKoq3vew0


text:
Rendering image is just black?
Im making a model of a creature for school and when i render its just black. How can i see my object? Image #1 is what my image should look like when i render it:
but this is what im getting when im rendering:

If you press 0 on your numerical keyboard, what do you see? That will show the camera view. Perhaps you are not directing your camera to the object or you do not have lighting setup correctly.

Your camera may be "stuck" inside another object or zoomed in to far. You can always add a new camera.

Thanks, how do i add a new camera? and i clicked 0 and it was inside of my monsters body.

omg my camera is in the opposite direction, let me turn it around and see if that works

@Sprad001 here is what my cam looks like http://prntscr.com/mb4p22

@rob http://prntscr.com/mb4p22

By adding a new camera you should get all the camera settings reset then you can go to the View menu and Set Active Object as Camera.


text:
Is there any way to select a smoothing group?
I have a mesh with designated sharp edges here and there, broken into few "smoothed" areas. I wonder if there is any way to select polygons within a "smoothed" area, that is surrounded by sharp edges? I can't find anything in selection menu or in documentation and selecting these polygons manually every time becomes tedious and takes a lot of time. In other words, is there anything similar to "selection by smoothing groups"?

https://blender.stackexchange.com/questions/123741/select-all-faces-within-an-area-delimited-by-sharp-edges

Ok, I found a solution. Select - Select Linked and choose Sharp in a pop-up submenu.


text:
IES light is reflected incorrectly in Cycles
I'm trying to use IES file which is 4FT light source and Cycles renders a reflection of it as a simple spot. If I try to use that IES on Area light instead of Point light to get an actual 4Ft rectangle, IES data simply doesn't work and it just is a regular Area light. As far as I know IES only works with Point lgiht source anyway.
In comparison I used the same files in 3Ds Max and it reflects a proper rectangle. Are IES lights simply broken in Blender?
Thank you

Recently I've been using blender for my home lighting design. I also ran into the problem of rendering the lamp reflections correctly. After looking at blender's source code I found that the IES Texture node uses the normal as the input vector by default. For point light, spot light and sun light, it is the vector of light ray. But for area light and mesh light, it is the normal of the surface. Therefore, using the default input of the IES Texture node directly, both area light and mesh light will provide results that do not match the IES data. By using the incoming output of the Geometry node, we can get an IES area light.
BTW: the strength should be 1/pi for area light and 1/(4*pi*projectd-light-emitting-area) for mesh light.

Problem solved. I used a simple mesh and applied emission to it with IES. But mesh itself should be exactly close to IES parameters. For example 4'x2" rectangle. In that case IES texture is displayed correctly. If your mesh is different from what IES is supposed to cover, you won't get right result.

Hello :). As far as I know, mesh lights don't support IES profiles. To use IES, you need to connect them to the strength input of your point light.

Hi. that doesn't produce right reflections. It reflects a point in that case even if IES it a rectangle or something else. I consider it a lack of functionality that Blender has.

Good to know, I'm no expert on IES lights in Blender :).

I also don't think you are right on mesh lights. I can clearly assign IES to a mesh light and it does change the output. It's just a matter of using the right mesh.


text:
Blender 2.9 Backdrop grid changed
So I wanted to work in the compositor but the window area pattern changed to this mess, and it actually hurts to look when I move the screen to check bigger nodes groups.

any way to get it back to the original one?
[I know the image is of version 2.8; focus on the compositor window background]


text:
Sverchok // "Progressive" animation, animate through a given period of frames
I've been using sverchok since a few weeks. Love it.
Is there a dedicated way to animate things in Sverchok on a "progressive" basis ?
I have an example : let’s say I want to count from 1 to 10 on a 30 frames long basis (based on a Bool "True" outputed by a switch node, but anyway). I'm thinking, as a first guess, of using the curves & eases parameters of the Mix Number Node for examples. Maybe the Timer node could be usefull too.
Is there a well-known method to do this ?
Or do I have to create it "diy" (I was thinking to use a Loop for a given period of frames before switching back the switch node to False, but I never used such node)
Hoping someone can help me
Be safe :)

You can create simple animate number group node like this:

Hey, thanks a lot. That's pretty simple and effective, indeed. It was also pretty easy to implement in my current project, thanks again.
I have a last issue on this, maybe you can help me : this little group of node should only be triggered once a particular event occurs, which trigger a switch to "True". Let say I want to increment for 25 frames, is there a way to make a switch node "stick" to its True position for those 25 frames ? I guess that another way to achieve this would be to trigger a 25 frames counter when the switch node hits it True position.
I'll comeback here if I find smth.


text:
Eevee crashes when trying to render two animated particle systems
I need to render 200 frames during which two particle systems are animated (the Scale setting in Particle system's render tab, and the rendering visibility for the most part). Everything is fine in the viewport, and also in rendered preview mode.
Eevee manage to render any frame during which those specific two particle systems are not animated. I also have other particle systems around but I've never had rendering problems so far.
When I click render, or press F12, the render window opens, then Blender closes itself...
Any help ? :( Is this a known bug ?

Hi, probably scene has become too complex but impossible to know because you have not shared any images of interface, settings, or scene. Please [edit] your question and add enough information that other users can see what the issue is that you are dealing with. The current version of your question is too unclear. Thanks

Agree with Timaroberts. Wild guess: There are child particles enabled and your hardware is not able to handle that amount of points. I'd suggest to bake them in the first place if you haven't already: https://blender.stackexchange.com/a/165640/31447

Hey guys! I'm using Blender 2.91.0. And yeah, I know there's a lack of infos in my post, as I want to avoid to share my project as much as possible (I'm bounded by commercial use...). I'm running Blender with a Ryzen 7 3700X and a RTX 2060. In this scene, there's 3 particles systems (2 of them are animated as stated in my post, and the last one makes the particles rotate), all of this in a low density volumetric emitter for lighting purposes. So yes, there's a lot to calculate but as I said everything works fine in rendered mode (6fps) and solid mode (20fps).

As a sidenote : Is it possible to bake Hair particles ? I know there's a Cache tab in the emitter mode, but I can''t find it with the Hair particle system.Also, I wish you both a merry christmas, and a happy end of the year :)

Ok I've simplified things in my scene (a couple of meshes used as reference in the Render tab of my particle systems had modifiers on it, then shape keys, so I've applied modifiers), and there's only 1 frame I can't render. Nothing happens at that frame in term of animation (no keyframe beginning nor ending). Wtf

It renders well on Blender 2.83, but not with 2.90 nor 2.91...
By the way, I opened Blender in debug mode thanks to a command line, and it crashed just after rendering everything on the scene and right at the time when it should display "wm_window_make_drawable: set drawable 1" in the console.
Any idea ?

You need to delete your lighting cache and rebuild it before rendering it again. Try with lower cubemap sizes, lower diffuse occlusion size, and lower cube size and cascade size for shadows. Haven't tried reducing the 'Dots' in Irradiance volume's , but do try if everything still fails.
Also if possible, since most particles-related renders are related to 'abstract' theme - like simulations or Logo-intros, try rendering without baking the indirect lighting cache. Rendering without baked lights must work.


text:
Gravity Rig : how to combine it with a rigged cloth and character?
I have a rigged character with cloth on it. As the cloth sim was not convincing for the coat (high ressources consumption, kind of shaky, anyway), I tried to create a rig reacting to gravity thanks to this post : How to make rig that reacts to gravity or seem to behave physically correct?
Everything is good, except for the parenting part. How can I use this "gravity rig" to guide my long coat behavior ? Considering I also need it to follow my pre-rigged character.

I'm sorry I can't upload the blend file, but here is a little gif showing you the "gravity rig", then the pre-rigged character, then the long coat : https://i.sstatic.net/nk0vK.gif
It is probably obvious, but I'm a beginner, only using Blender since the first lockdown, so I have difficulties to figure it out on my own.
As a side note, this could be, in my opinion, a good way to rig hairs made from curves ! (I'll definitely try it on my character), and it seems to be waaaayy less demanding in terms of calculation power, am I wrong ?
As usual, thanks for the help. This thread is a life-saver haha.
See ya !

As the cloth sim was not convincing for the coat (high ressources consumption, kind of shaky, anyway)
you have to use a low resolution collision object, and a low resolution cloth. Then add a surface deform on your high cloth object that is controlled by the low rez cloth. Also bake because that is faster

your method seems very tedious; why not using a mesh deform modifier for example? https://www.youtube.com/watch?v=P6s9H8xX7YA


text:
Can't Bake Texture Properly, It Looks Pixelated Even Though I'm Baking the Diffuse And Normal
I can't get these texture to bake properly. I made a video showing my steps here:
https://youtu.be/5M787vD3R8o
These are the steps that I performed in the video:

UV Unwrap the surface
Create texture image node for diffuse
Bake with Cycles GPU set to diffuse
Create texture image node for normal
Bake with Cycles GPU set to normal
Create Pincipled BSDF node
Connect diffuse image color to Principled BSDF color
create Normal Map node and connect normal image color to normal map color.
connect normal map to Principled BSDF's normal
Create material output node and connect Principled BSDF to it

This is what the material looks like without the bake:

This is what the material looks like after the bake:

I've also included the blender file and all of the appropriate texture files in an adjacent folder.
https://drive.google.com/file/d/16Aa1-2q11oSf8mj9JxMPNTXy4yRC0t4o/view?usp=sharing

Refine your UV unwrap to maximize pixels usage of your texture image. I would suggest a top view project from view (bounds) for this model.

Increase your bake image size when creating a new image

With diffuse bake setting uncheck direct & indirect lighting so it will only bake the color.

Hope this helps!

Awww so close! This definitely works a lot better but I'm still having some issues. First I get this weird effect when I hit unwrap where it doesn't cover the whole UV sheet. Then when the bake finishes, it looks sort of like the ground but weird in color. I'm definitely closer than before though lol. This is the original texture: https://imgur.com/a/Scqu6IZ and this is the new texture: https://imgur.com/a/ibZx0x8


text:
Trees using geometry nodes to effect density of branches in certain places
I am porting a tutorial on YouTube over to Blender 3 which uses completely different geometry nodes than Blender 2. This tutorial explains how to build trees with geometry nodes. I have my nodes set up in a similar fashion but upgraded to Blender 3.

The problem is that I can't get the trees to be heavier on density of branches closer to the top than on the bottom near the floor. As you can see when I move the proximity minimum of the ground plane up, the branches just uniformly vanish, they don't vanish from the base of the tree and slope upwards.

How do I get the branches the gently become sparser towards the base of the tree? I've attached my Blender file here:
https://drive.google.com/file/d/1MwQSEO7k_9GNMa9YzRkptEVU2kF1Eyol/view?usp=sharing

Close, that was the thread where I figured out how to get branches completely off the bottom of the tree, but it doesn't slope up in density gradually. It simply increases an absolute threshold raising up from the ground. I want the branches to increase in density as you move up the trunk.

to "kind of" debug geometry nodes, it is always a good idea to check the values in the spreadsheet.
So i connected your distance to the output...

filled in a name

put a realize instances before the output

and i got:

so i thought: why is distance 0?
it is, because you calculated the distance to the trunk itself.
So i added a new plane, called it proximityPlane:

i changed this in your proximity node

and i got:

much better now!!
then i played a bit with the mapping values...these worked for me:

so i have more density at the bottom...
UPDATE
i know found your other question here on SE and saw parts of the video. So i made it wrong - just change the map to and map from values so that the branches have more density at the top than on the bottom.
UPDATE END
result:

Omg this is amazing!! Thank you so much for doing all of this. Is there any way I could have your version of the file?

of course, appended. Thank you! and...you are welcome!


text:
Keeping colors with white light
I want to visualize a design project - a user interface, in a more fun way, and this is what I’ve got so far.

The problem that I can’t solve is that the light makes all colors go whiter and more bland. So right now the white isn’t white enough, the blacks aren’t black enough and the colors also turn too white. I turned "Specular" down to 0, which makes it slightly better, but I think it also makes the whites slightly grayer. Probably a basic question, but I'm new to Blender and I can’t find the answer. Does anyone know what I can do to solve this? Thank you.


text:
How to render only one frame using cloth simulation
I want to render image including cloth simulation with python script.
I'm pinning cloth at one of the vertexes and rendering some images rotating camera around it.
Now I'm doing to set frame,
bpy.context.scene.frame_set(target_frame)

but, it makes cloth like this,
when I use animation, it looks good, I want to make it like this with python script...

Is there any good way to solve this problem??
Can anyone help me??

Have you tried to set the sim into the cache before?  bpy.ops.ptcache.bake_all(bake=True)

Similarly to physics, bake to the frame you wish to render. https://blender.stackexchange.com/a/146829/15543  @lemon ditto.

https://blender.stackexchange.com/questions/108077/save-mesh-via-python-scripting-at-a-given-frame

I could fix it with bake! Thank you so much!


text:
what is the meaning of 4x4 projection matrix?
I want to know the meaning of 4x4 projection matrix and how can I transform it 3x4 usual shape.
I understand that, in Blender, I can compute projection matrix as following,
camera = bpy.data.objects['Camera']  # bpy.types.Camera
render = bpy.context.scene.render

# get dependency graph
dg = bpy.data.scenes['Scene'].view_layres['View Layer'].depsgraph

# compute projection matrix -> Returns: 4x4 projection matrix
projection_mat = camera.calc_matrix_camera(dg,
                                           x=render.resolution_x,
                                           y=render.resolution_y,
                                           scale_x=render.pixel_aspect_x,
                                           scale_y=render.pixel_aspect_y)

can anyone help me?

Camera matrix.
Answer here relates wiki link in title to produce the matrix based on camera data.
How can I get the camera's projection matrix?
What is blender's camera projection matrix model?
3x4 camera matrix from blender camera
Blender by default uses mostly 4x4 matrices to transform 3d vectors. https://en.wikipedia.org/wiki/Homogeneous_coordinates#Use_in_computer_graphics_and_computer_vision enabling the use of a singular matrix for rotation, translation and scale.
It slackly lets us multiply a 4x4 matrix by a 3d column vector to produce a 3d result.
Similarly the 3x4 camera projection matrix is used producing a 2D result,
Further from Camera matrix wiki.
Finally, also the 3D coordinates are expressed in a homogeneous representation ${x}$ and this is how the camera matrix appears:
$$ \begin{pmatrix} y_1 \\ y_2 \\ 1 \end{pmatrix} \sim \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & \frac{1}{f} & 0 \end{pmatrix} \, \begin{pmatrix} x_1 \\ x_2 \\ x_3 \\ 1 \end{pmatrix}  $$   or   $$ \mathbf{y} \sim \mathbf{C} \, \mathbf{x} $$
However we are also interested in projection giving the depth from image plane.
To the other bit, to convert to 3 rows 4 columns.  Blender matrices are defined in row order.
import bpy
from mathutils import Matrix

context = bpy.context
scene = context.scene
camera = scene.camera  # bpy.types.Camera
render = scene.render

# compute projection matrix -> Returns: 4x4 projection matrix
projection_mat = camera.calc_matrix_camera(
        context.evaluated_depsgraph_get(),
        x=render.resolution_x,
        y=render.resolution_y,
        scale_x=render.pixel_aspect_x,
        scale_y=render.pixel_aspect_y
        )

print(projection_mat)

M = Matrix(projection_mat[:-1])
print(M)

Result on default scene
<Matrix 4x4 (2.7778, 0.0000,  0.0000,  0.0000)
            (0.0000, 4.9383,  0.0000,  0.0000)
            (0.0000, 0.0000, -1.0020, -0.2002)
            (0.0000, 0.0000, -1.0000,  0.0000)>

<Matrix 3x4 (2.7778, 0.0000,  0.0000,  0.0000)
            (0.0000, 4.9383,  0.0000,  0.0000)
            (0.0000, 0.0000, -1.0020, -0.2002)>

Somewhat related in projecting scene objects onto camera plane. https://blender.stackexchange.com/a/160388/15543


text:
Detection Folding Edge(Line)
I want to detect folding line for the object being cloth modifier applied and render it as mask image. Is there someway to realize it?? Thank you for any help you can provide.

You can try to bake Pointiness socket output (if I understood your Q right)

With Image texture node selected (and New image created), go to Render Properties Editor > Bake


text:
[Blender2.8]When getting vertex belongs to vertex group
I tried to get a vertex belongs to a vertex group like below. But nothing is returned.
import bpy

obj = boy.data.objects['Cube']
obj.select_set(True)
obj.vertex_groups.new(name='Group')

vertexgroup = obj.vertex_group.get('Group')
for v in obj.data.vertices:
    for g in v.groups:
         if g.group == vertexgroup.index:
             print(v)

to check if it's working I called print(), but nothing happened.What is wrong?? can anyone help me??

No verts are assigned to the group
The trivial error in question code (bpy not boy) aside, you have not assigned any vertices to the new group.
Test script, assigns verts indices 0, 1 and 4 to the new vertex group of object named "Cube" if it exists.
import bpy

obj = bpy.data.objects.get("Cube")

if obj:
    vg = obj.vertex_groups.new(name='Group')
    # need to assign some verts to group
    vg.add([0, 1, 4], 1.0, 'REPLACE')
    for v in obj.data.vertices:
        for g in v.groups:
             if g.group == vg.index:
                 print(v.index)

If you already have a vg named "Group" and wish to use it, or create if non existent
vg = (obj.vertex_groups.get('Group')
     or obj.vertex_groups.new(name='Group'))

Feel it is important to note that question code
obj.vertex_groups.new(name='Group')
vertexgroup = obj.vertex_group.get('Group')

will work "as expected" only when there is no prior vg named "Group".  Other wise the newly added group will be named "Group.001", "Group.002" etc etc, yet you are only ever getting the one originally named "Group".

Thank you!! I got it!!


text:
Can I get vertex's coordinates result of cloth simulation?
blender version==2.9.
I want to get vertex coordinates result of cloth simulation(with python script, if I could).
Now, although I could get the vertex coordinates, they are before cloth simulation.
v_world = v.co @ obj.matrix_world
bpy.ops.object.empty_add(
                 type='ARROWS',
                 location=v_world)

can anyone help me? Thanks in advance!!

You can use the dependendy graph to do that (supposing the simulation is already baked):
import bpy
import bmesh

# Set the frame considered as the result of the sim
bpy.context.scene.frame_current = 30

# Get the dependency graph state for this frame
dg = bpy.context.evaluated_depsgraph_get()

# The object
obj = bpy.context.object

# The mesh from the object and dependency graph
bm = bmesh.new()
bm.from_object(obj, dg)

# Take the coordinates
for v in bm.verts:
    print(v.co)

del bm

Thank you so much !!

Thank you @lemon , this is the best way I think.
I found another way to get vertex resulting cloth simulation, so share this.
Before running code,
I've added 'Plane' and set vertex groups named 'Group' and 'Target'
('Group': to pin cloth, 'Target': target vertex)
def add_modifier(obj):
    """Add cloth modifier and apply as shapekey
    Args:
       obj(bpy.data.objects): object for cloth simulation
                              (In this case, 'Plane')

    Returns:
      shapekey
    """
    for ob in bpy.context.scene.objects:
        ob.select_set(False)
    obj.select_set(True)

    # add modifier and set some properties
    bpy.ops.object.modifier_add(type='CLOTH')
    modifier = obj.modifiers['Cloth']
    modifier.collision_settings.use_collision = True
    modifier.settings.bending_model = 'LINEAR'
    modifier.settings.vertex_group_mass = 'Group'

    # bake cloth simulation to get last frame
    bpy.ops.ptcache.bake_all(bake=True)
    bpy.context.scene.frame_set(250)

    # apply cloth modifier as shape-key
    #  and set value as '1'(last frame)
    bpy.ops.object.modifier_apply_as_shapekey(keep_modifier=False, modifier='Cloth')
    bpy.context.object.use_shape_key_edit_mode = True
    shapekey = bpy.data.shape_keys['Key'].key_blocks['Cloth']
    shapekey.value = 1.0
    return shapekey

# main
obj = bpy.data.objects['Plane']

# get vertices belong to vertex geoup named 'Target'
vg = obj.vertex_groups.get('Target')
vlist = []
for v in obj.data.vertices:
   for g in v.groups:
        if g.group == vg.index:
             vlist.append(v)

shapekey = add_modifier(obj)

for v in vlist:
    v_world = shapekey.data[v.index].co @ obj.matrix_world
    # visualize with ARROW
    bpy.ops.object.empty_add(type='ARROWS', location=v_world)

if someone know better ways or scripts, let me know please.

I could get an shape result of cloth simulation by following script,
(already cloth modifier is set)
bpy.ops.ptcache.bake_all(bake=True)
bpy.ops.object.modifier_apply_as_shapekey(keep_modifier=False, modifier='Cloth')
bpy.context.object.use_shape_key_edit_mode = True
bpy.data.shape_keys['Key'].key_blocks['Cloth'].value = 1

But, still I got same coordinates before result of cloth simulation.
I can edit vertices of resulting cloth simulation, so, I think I could get vertex result of this as same...


text:
How to merge separated object no loose
If I do cloth simulation using 3D model below, it break up because the model is separated with blue line.

I want to merge each parts of model, what is the best way to solve this problem??

If I understand your issue correctly it looks like your cloth simulation has nothing to collide with and therefore just collapses onto your plane.  I don't think those sharp edges are your problem.

@MarkGrant no, it’s that the cloth is actually breaking up. It looks like to me that the sharp edges are also split edges.

Ahh yes, I see it now. You actually want crumpled trousers on the floor.  Apologies.  You seem to have an answer that could work though now.

Try selecting all, and then use merge by distance. Vertices that are in the same location will be connected. If this does not solve your problem, you could use bridge edge loops possibly and then degenerate dissolve.

Thank you for your help!


text:
How do you get key frames made from objects automatically following paths?
I am trying to keyframe a ball that is following a path automatically using a driver. The camera is stationary. I can't seem to get the automatic key framer to work?

Try baking the keyframes.

Thank you for the fast response. How do you do that?

I have done it thankyou for any other noobs out there you press F3 and 'Bake action' and its done.

Check this link, the video talks about automatic keyframing
https://youtu.be/GFjgquT8f5w


text:
Where are Blender 2.79 and later rigid body constraint angular limits documented?
Summary
I can find no documentation on the frame of reference for defining the rigid body HINGE constraint Z axis rotational limits.
Blender defaults these to lower = -45 deg and upper = +45 deg.
Online docs provide no detail and YouTube videos invariably skip over this aspect of constraint set-up.
Can someone direct me to documentation or provide insight into how the HINGE and other RB constraints angular limits are defined. i.e. with respect to what are the limit angles defined?
Detail
I need to understand the Blender set up for these constraints well, as I need to prototype before exporting into my own game engine, which also uses Bullet Physics.
I've tried a Blender demo set-up with 2 bodies, one static/passive and the other active and a HINGE between the two and just when I think I've got it, for instance assuming:

The angles are defined looking down the constraint's local Z axis, towards the origin.
With the limiting angles defined relative to the XZ plane.
With +ve angles being above the XZ plane and -ve below.

But as soon as I start playing with the angles, my hypothesis falls apart.
I can even manage to provide limits that cause the joint to act against gravity in an unrealistic way.
Given the lack of online guidance on this (including Blender stack exchange) I'm starting to think that this is not a well understood area.
I assume the same will apply when I come to look at the other constraint types too, especially the GENERIC constraint.
So any help or direction will be gratefully appreciated.

It is my understanding that HINGE et.al are all wrappers around the GENERIC constraint.

@RonJensen Thanks for the comment. While I wait to see if anyone else can direct me to either Blender HINGE or GENERIC angular limit documentation, I'll do 2 things after work tonight:

Look at the Python API and if necessary, the C source to verify if the Bullet GENERIC constraint is being set up for all Blender types.
Do a web search for any GENERIC angular limit documentation
I'll edit with any results I find

OK, so I didn't find any Blender specific documentation for this and ended up looking at the python code for:
bpy.ops.rigidbody.constraint_add()
bpy.context.object.rigid_body_constraint.type = 'HINGE'
bpy.context.object.rigid_body_constraint.object1 = bpy.data.objects["ObjectA"]
bpy.context.object.rigid_body_constraint.object2 = bpy.data.objects["ObjectB"]
bpy.context.object.rigid_body_constraint.use_limit_ang_z = True
bpy.context.object.rigid_body_constraint.limit_ang_z_lower = -0.785398
bpy.context.object.rigid_body_constraint.limit_ang_z_upper = 0.785398

and the Blender and Bullet C code.
Observations:

Adding a Blender HINGE constraint, ultimately calls the Bullet function to create a HINGE constraint and not a GENERIC as previously suspected.
Looking at the Bullet create function and reading Bullet forum posts, the  constraint is set up relative to the frame (local transform) of the second Object passed to the function. You can override this behaviour and set up the constraint  relative to the transform of the first object, using a boolean flag. Blender sticks with the default, so the constraint transform is relative to Object 2.
Looking into the "set angular limit" function, there is a normalisation of the limit range mid point between -2PI and 2PI, so excessively large limit angles just get pulled back into the range -360 to 360 degrees.

What this means in plain terms is:

Limit angle "zero" is local x axis of objectB
+ve Upper Limit is in anticlockwise direction, when looking along the constraint's local +ve Z axis from the origin
-ve Lower Limit is in clockwise direction, when looking along the constraint's local +ve Z axis from the origin
The orientation of the constraint's local X and Y axis doesn't affect the joint's rotational range.

This is probably hard to visualise, so I've included a picture with 3 scenarios.

Top left is the starting set-up. Note the direction of the central constraint local Z axis.
Bottom left has the constraint local transform rotated 180 degrees around the local X axis, so the local Z axis now points towards the view. Upper and lower limits now flip.
Finally the image on the right is the same as the top left but Object B (2) to rotated downwards by 45 degrees and the limits move relative to this.

Ultimately, what was confusing me, was the fact that the limit angle range "zero" is defined by object 2 and not the orientation of the constraint itself.
I assume a similar set-up will apply to the other Bullet constraints, notwithstanding the axes of rotation may be different.
Cheers.


text:
Random Mesh Distortion Help!
so I cut my model in half to add a mirror modifier. Once applied I select the entire mesh, duplicate and seperate to create a body suit so to speak.
To lift it away from the body I Alt-S just like the tutorial im watching and my mesh goes nuts! It looks like the mesh is trying to attach the some faces to the mirrored side.
Can anybody help??
Thank you
will

maybe you're working on the mirrored side and not on the original side. Please share your file: https://blend-exchange.giantcowfilms.com/

Thank you for getting back to me. I don't know why but what you said made me check something and it was what was causing the problems.
I had not turned off the x-mirror settings on the toolbar from when creating the mesh itself.
Once I turned it off all of the problems stopped.


text:
rule/protactor: how to measure distances to pointer?
my first post, be nice please.
I'm trying to measure exact distance from a vertex to center.
It would be better if I would learn how to measure from vertices to pointer,
so I would be able to do a much more kind of measures.
I can match exactly my vertex by enabling rule/protractor and select origin of measure on a vertex by LBM+CTRL..
But I have no idea about how to "lock" the end of measure segment to origin, or another point without verteces or objects.
There's a way to end/start measures from a precise point that not matches with a vertex or other object point?
thank you.

I don't think this is possible, personally I would try some addon or just using an Empty as a helper to snap the ruler to.

tank you, an empty could be a good candidate.


text:
Cloth Wont Stay Attached to Character
I am trying to make a wing suit character but I cant get my cloth to attach properly to the character. I am using a child of constraint to attach the cloth the  bones but if I move the arm it wont still stay attached to the leg and if I move the leg it wont stay attached to the arm.

You can use a stretch to constraint, pointing from the foot to the hand bone.

You need to parent the cloth to the armature, then specify which part are deformed by which bones (it's called skinning).
Select your cloth, keep Shift pressed, select your armature, press Crtl+P. In the menu that opens, choose "With Empty Groups".
Select your cloth. In the Data panel, in "Vertex groups", you now have a list of groups, named after your bones. In Edit mode, select the vertex that needs to be attached to the leg, select the group named "shin.R", and click Assign. Do the same for the vertices that needs to be attached to the arm, this time select the group "forearm.R".


text:
How do I attach rope to a mesh
I am trying to make a pirate ship and am trying to attach rope to the sails. my rope is made using a path, and soft body physics. I can not find a way to attach my rope to the sail. and I can not use pinned vertices because this is not a cloth modifier.


text:
How to mirror a box around given point, not selection center
How can I set the location of the mirror tool? I followed the documentation and while I can set the axis of the operation the mirroring always happens at the center of the selection and I have no idea how to set it to somehere else.

in the Mirror modifier, there's a field called Mirror Object, you can create an empty that will be the center of the mirroring, is it what you're looking for ?

I'd like to mirror the selected polygons once, into the same mesh, so after that I can edit them in a way that breaks symmetry.

could you please show a drawing to make it clearer?

You could use the symmetrize tool with just the wanted faces selected to have those faces mirrored. However it gets mirrored locally but you could probably make it work that way and then you can edit it assymetrically

https://drive.google.com/uc?id=10So-WaYnx29KA7_aNOdzXlk4cuu9ERi-
Here you can see the mirror plane in the middle of the selection. I'd like to have it in the corner instead.

Is it Symmetrize or Mirror modifier that you are talking about?

You can use the CtrlM mirror tool, in Object or Edit mode,  in any orientation, around any pivot-point.

Set the pivot-point .. most likely '3D Cursor', or 'Active Element'
Set the orientation .. if it's not conveniently Local, Global, or other preset, create a Custom Orientation from an edge, or two vertices. (CtrlAltSpace in 2.97, header orientation menu in 2.8)
Locate the pivot-point, by ShiftS snapping the 3D cursor to the right place, or, in Edit mode, making an appropriate vertex from your selection active)
Hit  CtrlM, and  X,Y, or Z. If the orientation is not Global, but the currently selected secondary orientation, hit the dimension twice. (XX, etc.)

You can still go into the tool region to change the orientation, after left-clicking.
In Edit mode, you can achieve the same effect by creating a Custom Orientation from ant two vertices, making your selection, setting the pivot, and hitting SXX-1

These are axes and they can't be moved. You move objects or, as below, origin.
Select the corner vertex. Shift +S> Cursor to selected. Finally, Origin to 3D Cursor and Mirror modifier.


text:
Transforming a paper-like model into a 3d model
I recently started using Blender this morning and I got up all the way to this point:

But I didn't realize that it was flat (almost like a paper as shown in the image), I first concluded that I could probably change it's thickness later on in the making.

I tried using Solidify but it distorted the model, a lot.

Is there anyway I can make the model thicker without having to redo it from the start?

Possible duplicate of Extruded SVG showing spikes

https://blender.stackexchange.com/questions/47217/extrude-and-bevel-an-imported-svg-curve

Try to get front, back, top, bottom, left, and right reference images of things and making them background images with N panel N > Background Images. Make a 2D mesh for each reference and then try to combine them together to make a 3D mesh. I cannot tell you how exactly because it will vary with each model, but I can tell you that you can do CTRLJ to join the meshes and try to combine the appropriate vertices, and then fill in the faces.
I did this for a hawk's beak recently. What I did was that I made the side reference mesh, duplicated and made them 45 degrees apart (the front reference showed this), joined and connected them and made faces, applied a subsurf modifier, and it looked like an actual beak. So that tells you that this technique works. There are other methods, though!

Highlight the faces in edit mode and use 'E' to extrude the faces. Though this will only give you an extruded model like play-doh. If you're trying to recreate the model in 3D properly, you're going to have to learn polygonal modeling.


text:
Why are my Eevee renders much slower to output than they are in a viewport?
So I have an animation I want to render out. I can play it back in near real time, at full resolution via Eevee in a viewport. However when I select "Render Animation", each frame takes in excess of 5 seconds.
I've set the Viewport and Render sampling options both to 16. I've turned off Compositing and Sequencer post processing options. The final render and viewport images look pretty much identical. What else am I missing?
(I'm using v2.80 Beta)
Any help much appreciated :-) Thanks!

Aha. Well it's not QUITE as fast as the viewport, but it's fast enough! From Will it soon be possible to render an Eevee animation in realtime (2.8 Beta)? : View -> Viewport Render Animation
Hope that helps someone :-)


text:
White sheen over texture
I'm very new to blender, so please go easy on me. I've had this issue in other files and I am at my wits end trying to figure it out. Essentially, the lighting seems to be adding a milky sheen over my ground texture, it's not happening to my grass textures. It's as if there's a layer of frost over the ground. When I turn down the light it gets better, when I change the colour of the light it changes along with it (Still undesirable as in the real world light does not create a milky layer). I am using an HDR, so still get the white layer even when mixed with coloured light.
I am sure the answer is very simple and I havent stumbled across the solution yet. Any help is greatly appreciated
Image 03 This is the texture I'm trying to use - nice and dark
Image 02 This is a snip of the texture in blender. Notice how the grass isn't washed out, but the ground is. I know this is zoomed in, so will appear different - but when I zoom in on my texture in Gimp it's not milky
Image 01 This is my node setup for the ground

it seems to me that you are using a glossiness texture in the roughness input.
you can read about different texture maps here
try to invert your gloss map and maybe remove your reflection map.
the invert node can be found by pressing Shift + A >color>invert


text:
Is it possible to make a bone rotate on its tail like it would on its head?
So if the middle bone has IK, can the top bone be made to rotate on its tail, instead of moving with the entire Armature, almost as if it was pinned in place? Any help is appreciated

Bones always rotate on their head, but you can duplicate the bone in edit mode (Shift D, Esc), then right click and choose "switch direction", then make the new bone parent of the old one (keep offset), so that rotating it will perform the desired motion.

I just tried it, but it doesn't seem to work in Pose Mode, only Edit Mode. Is there a way to make it work in Pose Mode?

In edit mode it cannot work because in edit mode the IK constraint doesn't act. Make sure the IK constraint is pointing to the (head of  the) child bone. In pose mode it works (if I understood what you're looking for). Check also if your pivot point preference is the default "median point". If the rig is correct, in pose mode rotating the parent will result in the child rotating around the desired pivot point (head of the parent) and the IK chain follows the child's head. What is not working?

I did what your answer said, but when I move the middle bone up, the image on the right side is what I get: https://drive.google.com/file/d/1E4ddAOVlANARWNUjN21pndT7JOIBy90N/view?usp=sharing

If the bones are supposed to be rigid (no stretching), the movement has to be performed by rotating the parent, not by moving the middle bone.

I'm very sorry, but I really don't think I'm entirely understanding your instructions.

I fixed my issue by applying an IK constraint to the top bone and then targeting it towards an empty at the same coordinates as the top bone's tail. It also seems to help if you remove the IK from the middle bone and just have it on the top bone. I hope this helps anyone who's having a similar issue.


text:
Using Cycles Render engine with AMD GPU crashes Blender 2.83.5
Very new to Blender. When rendering a project and attempting to switch rendering device to GPU Compute, the program "loads render kernels" for about a minute and then crashes. Using a GPU with a Radeon RX 5600XT chipset updated to the latest driver at the time of posting, with Blender 2.83.5 installed. I have heard of numerous potential solutions including using previous versions of blender and different rendering engines, but thought it would be best to ask separately.
All Components Listed are Recognized:
GPU: RX 5600XT
CPU: Ryzen 3600
Blender: 2.83.5

As it turns out, Radeon GPUs have their own rendering engine for blender (Download Link). While this is not an exact replica of Cycles, there are similarities that make it a potential substitute.


text:
How to rotate mesh which has "Clamp To" constraint
I'm trying to use constraints to create animations like in the example:
(I used shape keys in this example). I dont want to use shape keys since I want to use the moving parts as a target for the "Copy Location" constraint of another mesh.
I am trying to key frame influence of "Clamp To" constraint to make this animation:

Problem is that "Clamp To" affect mesh difrently when I am trying to duplicate and rotate around 3D Cursor mesh and curve(that is used as a target of "Clamp To" constraint of this mesh). I don't understand why it the mesh shifts relative to the curve while passing certain rotation value:

How to rotate the mesh and curve so mesh not change it position relative to curve? Or how can I make this animation using constraints?

Why constraints? Is the top image your desired result? Why not just animate in a parent's space? (Just parent an  item to an empty, duplicate/rotate the empties along with their children, then all items can be animated in the same axis).. or even just animate in Local space.

Thank you. I got the result this way


text:
How do I smooth out hair particles?

See how the strands are linear and not curvy. How do make it so the strands are curvy and look more natural

Please show you setting for the particles/hair

You could also try to change the Steps.
Inside the particle system go to Display (2.79) or Viewport Display (2.8) >>

Good Luck.

Thank you. The hair looks more slick and smooth. Another thing I want to appreciate is the fact that you recorded an example of both popular versions (I personally use 2.79)

Change the hair segments setting to a higher value.
My suggestion is ..... 16


text:
Blender 2.8 Cycles - Render issue while render preview is good
I am new to 3d modelling.
In my scene I am getting a weird render behavior. The lamp is uv unwrapped and applied dark color texture. It looks good in render preview but when I render, it is completely irrelevant. I suspected denoising but turning it off didn't help.
I would appreciate any suggestion.

could you provide more details ? Including how it looks rendered without denoising, how many samples are used, maybe provide the .blend file.

Thank you guys, I appreciate your answers very much.
I have found the reason. In a seperate scene collection I had the duplicate of the object set unvisible....


text:
When in draw mode, creating lines/curves, how do I drop or finish the line?
I can't find the right button or instructions on how to place this line into the frame. When using the pen tool, the object drawn automatically places once I release the LMB. However, when using the line tool, no button finishes the line editing. RMB only erases the line.


text:
How to record your interior scene?
I am wondering if anyone knows how to record your entire project instead of one shot scene. Example below
https://www.youtube.com/watch?v=6B8Rh9c2DMs
I would appreciate if you can share the steps or if you have any video where I can learn this.
Really appreciate it.

Hi, welcome to Blender.SE. Have you tried setting keyframes on the camera? If you mean the cuts, the simplest way would be to set keys on two adjacent frames with the camera far apart.

I need the camera to go to different rooms and floors as video. Did you look at the example attached? Thanks

Yes, have you read my comment? " Have you tried setting keyframes on the camera? "

I really do not know how to do it. I would be grateful if you can tell me in steps that I can check it.

Found a Video on youtube. Thanks for your help


text:
The Rendered Image has bright white pixels
After hitting F12, the rendered image looks pixalated, even if I change the resolution setting to 200%. ]2

Increase samples for better render and also increase clamp direct. Both are located in render tab

Yes, it is the noise I was talking about. Thanks @cegaton!


text:
How do I copy an object's position (or other transform), and paste it to another object?
How do I copy the location of an object and paste it into another object?
I could copy the x/y/z etc one at a time but this is very laborious.
This seemed to be a simple question, but I couldn't find anything on SO.

Select the object you want to copy the location from then ShiftS > Cursor to Selected then select the object(s) you want to move and ShiftS > Selection to Cursor:

Or select the object(s) that you want to move, Shift select the one with the good location, right click on the location values > Copy All to Selected:

Thanks! I forgot about this question, but just noticed it's a "Popular Question" so I accepted your answer. Josh's answer was good too, I didn't upvote it because it involved an addon. For a popular question though, I'm amazed you don't have more upvotes.

It may be already answered somewhere in Blender Stack Exchange  ;)

Probably is, but searching for it gave no hits when I first asked this (which may be me), so my guess is the search algorithms are dumping more people here.

In addition to theese responses, I recommend this useful built in addon: "Animation: Copy Global Transform", which is very fast and useful, expecially during animation, as it takes into account constraints also, with a simple Copy/paste operation.
https://docs.blender.org/manual/en/3.5/addons/animation/copy_global_transform.html

Most searches will show you how to copy an armature / bone location.
There is an add on, that's 'built-in' but not activated that makes the process simple.
Go to Edit->Preferences, then Add-ons, then search for "attrib".
Enable the Interface: Copy Attributes Menu.
The interface is a tad strange if you're used to "object/verb". You select both objects - the 'first' one is the one that'll move, oddly - then type Ctrl+c then choose what transforms you want pasted.
It's not 'copy and paste' it's select the items then copy the location from active (last selected) element to all others selected.

Thanks for the clarification @josh


text:
Export Problem fbx (Binary Mode not Ascii) in unity
Maybe someone could help me with my problem. I have exported a model from Blender to Unity (fbx Format). Everything looks nice except one thing the shoes are deformed. It looks like there where something like a boundingbox that causes that behaviour. I have checkt already everything in the Weight Paint Mode.
Does anyone have ideas what that could be?
Thank you for your help.

Does this also happen in Autodesk FBX Review?

there it looks good..... =( http://postimg.org/image/m5kiaa3xp/

So then it's most possibly an Unity issue.

Is it more common to make the animations in unity directly. Create only the mesh, armature, and uv mappings in blender?

I never used Unity, only UE4 and a bunch of other game dev systems. Once I figured it out, I never had a problem importing my characters there. Maybe a more unity-oriented community has more experience with that?

I solved the problem by importing the blend file directly as Asset into unity. Now the animation looks exactly like I want.


text:
How to UV-Map for a OpenGL Game
I hope to find some answers here to my problem.
For an OpenGl Game, i want to have some "good" textures, that are equal in display size.

We designed a building, whereas in the picture above, you can see the floor and its resulting UV-Mapping with "Smart UV Project". Moving along the in the game, the texture quality on the different floor sections should not should not change of course.
Any good advices on that?
Thanks :)

You can pretty much follow any UV unwrapping tutorial on the internet for that. Modeling assets is pretty much the same for all the 3D real-time engines out there.
However, I would highly suggest, that you learn how to unwrap properly as soon as possible. "Smart UV Project" doesn't necessarily give the best result and as soon as your modeling skills go beyond the primitives (cubes, cylinders and the like) you want to have more advanced texture maps.
Besides that, I'd highly suggest that you also start with proper material setups and thus with node materials (maybe also with cycles) as soon as possible. You can then bake your materials to texture maps and use them for your game assets. The big advantage here is that you don't need to adjust your UV map to the "direction" your texture takes (e.g. bricks are arranged into a specific direction).
The biggest pitfall when creating 3D game assets is the use of too many materials. Every material needs to be loaded and processed, thus generating CPU and GPU load. Do this many, many times and the FPS of the game will drop. So in the case of a building, it would be advisable to have only one texture map for the walls and the roof. This is also where baking and maybe even the Texture Atlas add-on come in.

The problem is, we HAVE to use OpenGL with the very super basic Libraries, that do NOT access OpenGL functionalities.
So, this thing with Node Materials is not possible for us, or very painful in  coding afterwards.
I was looking for another option, that is easier work. I already use seams, i used the chessboard, etc.
If there is anything more than in this video:
https://www.youtube.com/watch?v=9Ha2rFR6qO0
a hint would be very welcomed

@Andrea - I never said that you should use node materials in OpenGL. There is no way to use Blender node materials outside of Blender. It's just the "modern way" of texturing game assets. You use it in Blender to create advanced materials which you can bake on normal textures.

Ah, okay got it. Misunderstanding from my side :X


text:
Why is my curve modifier not working?
I want the mesh to follow the curve and to bend accordingly without any distortion. So far absolute failure... My teeth mesh just won't follow the curve, instead it gets stretched on an axis  and becomes 2d flat ... Both the mesh and the curve have the same origin point, both have origin set to volume (someone here apparently solved similar problem by doing this, didnt work). I tried with constraints to get the same effect same fail attempt. I just want simply my mesh to follow the curve and bend but it doesn't work. If someone have a solution to my problem I'll be grateful. Thanks.
Before I apply the modifiers

It looks like your mesh is oriented in the wrong direction, so you maybe have to roate it in Edit Mode. But even then... teeth? Usually teeth are separate objects, and the Curve Modifier will generate a continuous geometry of the mesh...

What you could do:
Select your curve and in Edit mode select all, right click > Set Curve Radius > 1 (you must have applied the scale of your curve, it has lowered the vertices radius down to 0.04).
Rotate your teeth until they are aligned with the global axis, apply the scale and the rotation with CtrlA, right click > Origin to Geometry:

Give it the Array modifier with the Fit Type > Fit Curve and Relative Offset > Factor X > 1:

Give it the Curve modifier with the good Deform Axis (for me, X):

Hi ! Thanks for looking it up for me I solved it earlier by just starting from scratch and not messing up the rotations and scale of the object, but your answer clears things up. Cheers !

To make an object with array modifier follow a curve correctly...

the object should have applied scale and rotation (your scale is not applied)

both, object and curve should have location/origin at 0,0,0 (yours both haven't that

-> then it works.

Solved. Thanks !

Another way is to make it a one-piece mesh, which is not difficult when you know the number of elements, and apply only Curve modif as it works best with continuous meshes. One-piece meshes have, too, this avantage over arrayed/combined ones their elements don't need to be separated for editing.

Your teeth mesh its geting stretched and becoming 2d flat because you scaled the  curve in object mode and then applied it. If un want to scale the curve, do it in edit mode.

For me, changing the axis to the xy front view worked when I used a Bezier curve.