text:
Why do my textures look different in texture paint mode and object mode?
As you can see in the attached image below, my textures in object mode (top one) and texture paint mode (bottom one) look different. When in object mode it looks blury, which is not what i want. I will export it to a game engine later, so i dont want it to be blury. Why is it doing this and how can i change it ?

What does your texture look like in an external image editor? What does it look like in render view? What are your viewport settings for texture size and mipmap, etc?

I’m not sure about external image editor. For rendering I use Eevee and just render straight from the viewport. When I created the image for the texture the image size I set was 2048x2048. I’m not sure about the viewport setting you are talking about. Is there a way to increase or decrease viewport quality?

Possibly you can turn up the aliasing and filter settings in the Viewport in Preferences like I did here, maybe that will help some.


text:
I have a problem with baking - "No active UV layer found"
As you can see in my screenshot im having trouble baking a texture for Ambient Occlusion. I  already added a new image and smart uv unwrapped my low poly mesh "rock_lp". It is the second one i selected, so its the active one. The other one is the high poly version. When i try to bake, I get the error "No active UV layer found in the object rock_hp". What does this mean? Is there something i forgot to do?

PS: I already added a new image after doing retopology on the low poly mesh so that was ok I believe.

I have the same problem, try check if your low poly object has UV map or not.

Your high poly one is the one active, which explain the error you are getting about the UVs for your high poly mesh. Just reselect them and you should be fine.

Hey thanks for your reply. I reselected but now I get another error which is “no image found”. I have only unwrapped the low poly, i have made a new image for that as you can see. Do I do have to make a UV image for my high poly mesh?

No, the high poly never need to have UVs when baking. You need to create an image texture node (don't connect it to anything, just leave it there) in the low poly material, and create a new blank image with that node (best to watch a baking tutorial if you are confused), make sure it's selected and try baking again. Right now what's happening is that your baked data doesn't know where to go, you need to assign an image to it first, this is one of Blender's weirdness.

It does sound a bit confusing but il have a go, thanks! At least I know what the problem is now.

source: Stack Exchange

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

sort: votes


text:
I would like to modify Blender Camera Projection matrix for getting a non unform view scaling for my work
I need to create a small feature where I can scale the camera view non uniformly along horizontal and vertical axis of the camera view. I would prefer to use the region_3d camera view or if that's not possible to be touched then blender's in scene camera (bpy.context.scene.camera) I did a bit of research and found that you can get projeciton matrix as follows,
depsgraph = bpy.context.evaluated_depsgraph_get
projection_matrix = camera.calc_matrix_camera(depsgraph, x=1920, y=1080)

But I did not find a way to set the changed projection matrix back to camera ... there is no api like bpy.context.scene.camera.projection_matrix
Is there any workaround for this ?
Regards,
Atul

How don't existing cameras fit your purpose? "scale the camera view non uniformly along horizontal and vertical axis" - there is pixel aspect ratio and resolution settings for that. What exact functionality are you after?

Yeah the pixel aspect ratio is useful ... but I want to create a 3d view that will render using the camera in scene rather than region_3d camera ...
Example if you set aspect to 2x in horizontal and then check render image option ... the object will look compressed by 0.5x in horizontal direction ...
So, I want that kind of functionality but in a live continuous update mode

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


text:
Use array value from Python script in Geometry Nodes
I would like to create a graph from some real data that I have in a CSV file.
I have created a python script that reads my simple Csv file, it has two fields a value and its description.
Now I have been following this tutorial at around the 11:30 mark, they use a Noise Texture node to create a random line.
How do I reference the array in the script instead of the noise texture node, am I correct in thinking I just need to replace the noise texture node with some other node?

Hello and welcome. While files, images, and external videos or links may be helpful additions they should not be the only way to obtain information about your issue. Don't make understanding your question rely on downloading a file, watching a video or visiting an external site. Use the builtin tools to upload images or gifs, along with thoroughly explaining the problem in written form so it can be indexed and searched for thus helping future visitors with similar issues.

Easiest is probably to just make your script create a bezier curve object from the array directly, no need to involve geometry nodes in that if not necessary

As @Duarte Farrajota Ramos suggested, you can just use Python directly to create your line, something like this:
import bpy
import numpy as np
from mathutils import Vector
import bmesh

D = bpy.data

# random array as "data"
nums = np.random.rand(1, 25)[0]

# where the graph line will start and end
start_x = -2
end_x = 2

# number of points along the x axis to divide the segment into
num_x_vals = (end_x - start_x) / (len(nums)+1)

# create an array of vectors with the new vertex locations
x_locs = np.arange(start_x, end_x, num_x_vals)
vectors = [Vector((x, 0.0, z)) for x, z in zip(x_locs, nums)]

# create a new object and bmesh to create verts
mesh = D.meshes.new('graph_line')
obj = D.objects.new('graph_line', mesh)
bm = bmesh.new()
bm.from_mesh(mesh)

# create the verts
for vec in vectors:
    bm.verts.new(vec)

# loop over the verts and connect them to create edges
for i, vert in enumerate(bm.verts[:]):
    try:
        verts = [vert, bm.verts[:][i+1]]
        bm.edges.new(verts)
    except IndexError:
        pass

# update and instantiate the mesh in the viewport
bm.to_mesh(mesh)
bm.free()
bpy.context.collection.objects.link(obj)


text:
How to make a face out of a sphere section in geometry nodes?
Trying to close this sphere section that is created by delete geometry node and position selection. How do I add make a face connecting the top open edges?

Note that in the screenshot, only the frame titled mantle is connected to output for simplification

Solved using Attribute Statistic and Transfer Attribute

Actually, all you need to do here is select the points along the open edge, and convert them into a mesh.
You can solve this as follows:

Convert only the points along the open edge into a curve with Mesh to Curve.
Convert this curve into a mesh with Fill Curve.
By converting the curve, its position was set to 0, so move it back to the position of the original curve.

PS: If you are using Blender 3.3, then you should apply the node Transfer Attribute instead of Sample Index.
(Blender 3.4)


text:
How to set Keyframes in Python for generated Objects with data based transformations
after various failed attempts to make keyframes work to my liking in my first blender-script work I request your help
So I am working on a Dataviz:

I load Data into Blender and create an object.
Then I transform the object according to the data.
Now I have 4 different years, Year1 - Year4. I want to show each transformation,
for each Year with keyframes (one keyframe shows one year location, scale
transformation)
and all of the keyframes of the 150 country-Objects should start and end at the
same time.

...But the mechanics of the for-loop are laughing at my face - I got everything working except for the keyframes which drives me mad  so If I use an offset the transformations for each object are working perfectly, but they don't start at the same time - if I try and use iteration, I have neat keyframes, but no animation (I will only show Year4). How do I get out of this Mess?
See the code for the Iteration-version on github:
https://github.com/SaraHeitz/blenderpython
Version with offset:
https://www.youtube.com/watch?v=QTyYj4ZKNBA

Version with iteration:

So in short I would love for this Dataviz to animate the country for each year, and set a keyframe for the according values, like the youtube animation, but start and end at the same time for every object:
https://www.youtube.com/watch?v=QTyYj4ZKNBA

can u paste a working example with a small text file you're loading? here read_list it's not defined.

Hello Harry, I made a small github compilation -> https://github.com/SaraHeitz/blenderpython

i'm not sure i understand the problem. can you draw a picture of the result you want?

I would like for this Dataviz to animate the countries as bars for each year, and set a keyframe (at eg. 5, 10, 20, 25) for the years [1850,1900,1950,2000] using the according x,y,z values, similar to this youtube animation, but start and end at the same time for every object:
https://www.youtube.com/watch?v=QTyYj4ZKNBA
So far I could only animate those values with offset, the problem is, that the next Object of the loop won't start at 0, but continue right after the first Object (if it ends at 25, it will start at 30)
I also updated the initial Question with screenshots

in the end, I want it to work for 150 Countries and 100+ Years, that's why I am so eager about the keyframes (so I don't have to change them manually)
Thanks for your Investigation already!

You're using the Blender API okay, your problem is with Python logic.
Let's first group the rows of your .csv into a dict by year, so later we can lookup all rows in a given year.
import csv
import bpy

#---SCENE SETTINGS
scn = bpy.context.scene
scn.frame_start = 1

#---DATASET
with open ('test.csv') as f:
    rows = list(csv.reader(f))

#---GROUP BY YEAR
rows_by_year = {}
for row in rows:
    year = int(row[1])
    rows_by_year.setdefault(year, []).append(row)

Now let's sort all the years we just found. (This isn't necessary for the file you gave but it might be if the rows are in a different order.)
#---SORT YEARS
years = list(rows_by_year.keys())
years.sort()

Now we can iterate through and create everything
#---CREATE OBJECTS
object_map = {}
for iteration, year in enumerate(years):
    ita = iteration * 10
    frame = scn.frame_start + ita
    scn.frame_end = frame

    for row in rows_by_year[year]:
        name = row[0]
        x = float(row[2])
        y = float(row[3])
        z = float(row[4])

        if name not in object_map:
            bpy.ops.mesh.primitive_cylinder_add(
                enter_editmode=False,
                align='WORLD',
                location=(1, 1, 1),
                scale=(1, 1, 1),
            )
            object_map[name] = bpy.context.object
            object_map[name].name = name

        cylinder = object_map[name]
        cylinder.location = (x, y, z)
        cylinder.scale = (0.5, 0.5, z)
        cylinder.keyframe_insert(data_path="location", frame=frame)
        cylinder.keyframe_insert(data_path="scale", frame=frame)

We iterate first over the years, then process all rows for that year using rows_by_year. The frame is calculated just once for each year, then all rows for that year will use that frame. Then for each row in that year, we create the cyclinder (if it doesn't exist yet), and set its value and keyframe the same way you were doing.

amazing - thank you so much!  - especially for your analytical and detailed review. It helps me as a beginner a lot to gain a better understanding of Python. ((and the data I'm working with))
Overall the code with your review and alterations works great and I have been able to create and animate the objects for all the 220 years and 150 Countries ☺


text:
How to control final shape of cloth inflation simulations
I'm trying to simulate the inflation of this box from its deflected state to its original shape. However, whenever I do so, the box becomes excessively “puffy” or short on the sides.
All the options I’ve tried (listed below) proved to be ineffective for me. Is there any way to control the final shape of the object with cloth/inflation simulations?

Animated or fixed walls from behind and in front resulted in the shape I wanted, but the simulation gets stuck at some point, with no movement at all and no reaction to any force field or collision (I suppose it’s because of the amount of pressure inside the box):

Settings of cloth simulations for object(box):

Blender file download link
Will be infinitely grateful to anyone who can help or give some piece of advice

What do you mean the simulation gets stuck at some point, with no reaction to force fields or collision? At what point? In your file I did not see something like that and adding a collision object myself towards the end the cloth reacted quite well: pillow.

Hello and welcome Bohdan Iva. Could you clarify the points being raised by Gordon? Then we can re-open your question.


text:
Apply a tint mask to a texture with specific parameters from Unreal Engine 5
I've got an ARGB tint mask which applies to a base color texture with some UE5 script which uses parameters from pic1 which I can't quite understand.
How do I approach it with blender shader nodes?

What is it doing? I see just pictures thrown without a clear goal.

So you have 4 channels (R,G,B, Alpha) from third picture (tint mask), then first picture sets parameters on how to apply each channel from the tint mask to the texture (second picture). That's how I see it


text:
How do i select all in the video sequencer in python scripting
I want to select whatever I have in my video sequencer and delete it and am writing a python script for it. For stuff like this I make use of the info panel scripting tab, but it doesn't show what I need to use for selecting all video sequences it does however say how to delete (ie, bpy.ops.sequencer.delete())
What is the python code to select all in video sequencer?

I have the answer for your question, but firstly I'd like to share the method I got this info:
To understand how to do something using Python often is useful to find the way to do it manually. The manual way of deleting all strips consists of two actions:

Select > All

Strip > Delete

Now, when we know all needed actions, we just need to get know the Python operators assigned to the buttons we pressed.
To do that we need to enable Python Tooltips option:
Edit > Preferences > Interface > Display > Python Tooltips (set it enabled)

After that every time we hover the mouse pointer over a menu item or a button - the Python tooltip emerges :

Using this method I've got the operator you needed:
import bpy
bpy.ops.sequencer.select_all(action='SELECT')
bpy.ops.sequencer.delete()

NOTE: while hovering over a button(or menu item) pess Ctrl+C
*this will copy the Python operator.

Now you are also aware of this little trick with tooltips

Ooh thanks allot. Wasn't aware of python tooltips, very useful!


text:
How to round border in blender
How to round border in blender

No matter what I did, I could not round the edge of my object

Try a bevel: Select the edge and Ctrl B? If you've used a Solidify modifier you need to bevel the vertex instead (press V after Ctrl B)

(ctrl b) only rounds the object but does not round the border

If you are using a Solidify Modifier, make sure you Apply it first or right click RMB > Convert To > Mesh.
1.) Go tab into Edit Mode
2.) Press 2 for Edge Select mode
3.) Select the edge you want to bevel
4.) Press Ctrl+B to bevel and scroll mouse up to add segments
5.) Click LMB to apply the bevel

Can you send this to me?

Just an observation: It looks as if the Scale hasn't been applied on the object in that answer as you can see that the bevel isn't symmetrical. In Object mode, CTRL-A > Scale should sort that.

@JohnEason it's only the default cube, i didn't scale it. it's an illusion because of the perspective :)

Really? In that case, my apologies! :^)


text:
IK elbows twist mesh Fk poles face bend the wrong way
Whenever I try pose my model using Ik_arms the arms bends the wrong way.And if I turn the pole controls on they bend the correct way but the mesh twists.How can I stop the mesh from twisting when using IK_Arms with the poles turned on Or how do I make sure the elbow faces the correct way when the poles are off

Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking.

make sure that the Roll Angle is correct and that you have a Pole Target, if it's still not the problem, please share your file: https://blend-exchange.com/


text:
Cycles render stuck on Initializing
Whenever I try to make a render of my scene after changing something in my scene, whither it be adding a new object or moving an existing object around, the render gets stuck on the initialization stage. I then have to go to task manager and end blender because trying to cancel the render just makes blender unresponsive. Even worse, recently after reopening blender I now need to change the lighting and move my camera around a little bit or it crashes when I try to render. Strangely enough, if I do the things mentioned above I can then get a render to actually work, but then if I change anything else I will have to go through that process all over again. I cannot upload my project because I have bad internet and am using a phone to ask this question. I am using cycles.

Just wait for a few minutes, go take a shower or have a coffee, it's just loading stuff

Is it the Loading Render Kernel stage?

So yes, I tried waiting several minutes and the initialization phase does eventually finish in the couple of tests I have done. Is there a reason that the initialization takes this long sometimes and other times (like after a reboot) it goes faster?

That usually only happens on a new driver install

To be honest this is my first big project and I wasn’t very organized at the beginning and still need to get better at that, I probably just have allot of junk and need to clean up a bit. I’ll put the answer if that works. Also, I just realized that starting my last comment with “so yes” could have sounded a little rude and snarky but was not intended to be so, so sorry if it was seen that way.

I get the same issue from time to time.   It's very hard to say what causes it as it seems random.  It's why I always save my project before rendering it.  If your project is messy with overlapping geometry and unnecessary crap, take some time to clean it up and do some research into object size, attempting to reduce that.  It might help.


text:
How to duplicate a collection with unlinked children using Python
I am very new to Blender and I'm trying to attempt a somewhat trivial task of duplicating a collection that I have selected without linking any of the children within the collection, so far I'm working with the current code that works well enough to duplicate the collection - however this only unlinks the parents and the children remain linked which is cumbersome to change given many iterations, I'm not sure how to amend this to satisfy my requirements.
iter = 0

while iter<2:
 for window in bpy.context.window_manager.windows:
    screen = window.screen

    for area in screen.areas:
        if area.type == 'OUTLINER':
            override = {'window': window, 'screen': screen, 'area': area}
            bpy.ops.outliner.collection_duplicate(override)
            break
 iter = iter + 1

Thank you.

it's not trivial to duplicate a collection without its children. What you could do instead is duplicate the collection, then unlink everyone of their children. When you say children, are you talking about children collections or children objects ?

@Gorgious I see - I have children objects within the collection describing the hierarchy pythonically would be something like the following: {Collection:{Object1:[Object2,Object3]}} if that makes sense. As you suggest I would like to unlink all of the children within the resulting duplicate. Simply put I am trying to duplicate the object and change only the colour of the new object without it influencing the original collection.


text:
Adjusting the length of a character leg and arm
I want to know if it is possible to adust specific parts of a character by inserting measurements. For example, i want to be able to change the length and thickness of a character arm by inserting measurements like 9.3 inches/centimeters for the length of the character arm and it will adjust to that length and the same thing for the thickness

You cannot do that directly in Blender unless you use addons.  I am not familiar enough with the available addons to recommend one, but I do know that MB-Lab is an addon that gives you some control over such measurements and have used it.
You can do it in many third party character generator applications.  I use MakeHuman Community edition for this purpose and can recommend it.
Both are open source. Both have ways to automatically generate armatures for the character. I believe that MB-Lab is limited to modifications before you finalize the character and can make changes afterwards.  You can configure MakeHuman either way but it is difficult to make changes once you've parented the character to an armature.
Other commercial external character generators include Daz and Poser. You can find more by searching for terms like full body character creator with your favorite search engine.


text:
add mesh in object mode menu comes passive
In the object mode when I add a new object add menu generally get passive first (not pressing f9) , in edit mode no problem , this problem in only get in object mode

Blender remembers what you did last. Next time you add a mesh, minimize the popup and then from now on it should be minimized when you add a new mesh.

thanks for your answer but my problem is getting popup passive so I can't change anything (segments , radius etc.) on popup. how can I fix this? Thanks again.

Hmm weird, Can you share your .blend file?


text:
broken view in sculpt mode
I'm not sure how I describe this problem but in sculp mode my mesh seems like this if I choose backface culling view getting better , but problem continue in some areas, why is this happening?

Looks like a problem with the normals. In Edit mode, select All then Shift - N and see if that makes any difference.

thanks but nothing changed .  :(

Did you Voxel remesh your model before you took this? Or perhaps accidentally push Ctrl+R (the shortcut to do that)? It looks like how it looks when you try to remesh a model with bad topology/ non-manifold geo.

yes I made remesh for descent vertices


text:
RIGIFY ERROR: Bone 'brow_glue.B.L.002': Could not match control node for ORG-brow_glue.B.L.002
when I try to generate rig. get this error message .
What can I do ? I don't understand what does it mean ?
RIGIFY ERROR: Bone 'brow_glue.B.L.002': Could not match control node for ORG-brow_glue.B.L.002
Incorrect armature for type 'base_generate'

What Blender version and is that the standard Human (Metarig) added from the Add menu? - The reason I ask is that I've never seen a bone connecting the brow.L bones to the brow.T bones. The standard rig simply doesn't have a bone in that position. That's checking all Blender versions from 2.83 to 3.3.

@John Eason,  Hi ,  Blender version 3.3 , Its simple human meta rig but I press  upgrade face rig .original model .

It looks as if CGDive has done a tutorial on face rigging in Blender 3+ which talks about the updated face rig so it might be worth going through that tutorial to see if there's anything special you should be doing with it. https://youtu.be/wVISTf93uTA

very helpful video. thanks a lot.

He's done a whole series of informative videos about rigging and rigify here.

@golgi aygiri Did you figure out an answer to this question, or did you start all over with the rigging process?

I recently encountered this error. I was able to solve it using the following method.
First understanding this error: When there are multiple bones in a single location, it's important that all the bones be aligned at the location. You can easily identify these bones as concentric circles. Ex: Pelvis Joint, Spine.006 + Face Bone.
Coming to the issue here, The bone brow_glue.B.L.002 is the following bone (shown in the picture), it connects the left eyebrows to forehead bones in Blender 3+ rig

As you can see there are 3 concentric circles at the top and 2 concentric circles at the bottom. The error states that the bottom bones or roots aren't aligned.
Solution: Select the bone brow.B.L.001 (it's to down an left to the joining bone). Go to the Bone Properties tab and copy the Tail Transform values (X,Y,Z).
Select the bone brow_glue.B.L.002, Go to the Bone Properties tab and paste the values in Head Transform (X,Y,Z). Repeat similar to the mirror bone on the right side (if you haven't checked X-Axis Mirror option while editing). Come out of edit mode and Go to Bone Data tab and click Re-Generate rig. It should work.

Basically align the joints, wherever multiple bones are involved
Hope this helps :)


text:
parent bones in blender

Hi, in edit mode I can't parent the bone the other bone because parenting menu gets passive , the other bones what I try I can parent them.you can see in image

These bones are probably part of 2 separate armatures. If for some reason you really want to parent a bone to a bone of another armature you can use a Child Of bone constraint.

@moonboots This is a complete answer to the question. Please post it as such.

@TheLabCat ok I just wanted to be sure  ;)

These bones are probably part of 2 different armatures. If for some reason you really want to parent a bone of an armature to a bone of another armature you can use a Child Of bone constraint:

Thank you master :)


text:
Wave Texture: How to Take Out Color
I'm giving my selected mesh some distortion and a ruffled look by using the Wave Texture with the Bump vector. It worked, but now my mesh is two different colors, which is not what I wanted. I need it to be one solid color (pink) while keeping the mesh ruffled. I am new to Blender 3.0.0. How should I do this? Thank you.

Does this answer your question? How can I use the bump node and wave texture node to create ridged spirals around a vase?

Actually, it is not bicolor. It is the bumping that creates the bands through reflection of light.
But in order to achieve the look I assume you're looking for, it is best to subdivide the mesh and use a Displacement node. Therefore you'll get a proper wavy look.


text:
Texturing Riva's Dress From Project Splatoon 3 By Alexis Pflaum
Using some concept art, I am trying to create this character's dress in Blender 3.0.0. So far, I've come very close to the original design, but it is at this point that I've hit a brick wall and I'm not sure what else I could connect in my Shader Editor to make this closer to the desired result. I'd appreciate some help in getting me closer to the original art. Thank you for being a great community.
Artwork by Alexis Pflaum, https://www.artstation.com/artwork/k4PeYz
Player00__M_Body, Armature, and other mesh featured here are made by Nintendo, ripped by the Models Resource.

Pretty cool designs, neat style. Personally I'd try to draw some of these textures instead, seems better for things like the detailing on her jacket for example. Either way I wanted to give this a try and I cobbled this together:

I think you won't get much out of the brick texture, the voronoi texture seems closer to what you need here. I used a Glossy BDSF for the line pattern since it looks like some of the bits are lit. I recommend setting the colours to 'Standard' in 'View Transform' under 'Color Management' in the render settings, if you haven't done so already. Will make it easier to try and get the same or similar colours from the reference.

Good luck!

Thanks a lot! Appreciate it!


text:
Ray Distance Slider
I have Blender 3.0.0. I am watching videos on normal maps (anvil). During the video, he increases the ray distancing, but since his version of Blender is different from mine, I cannot find the ray distance slider. Can anyone tell me how to access the ray distancing slider in ver. 3.0.0 or higher? Thank you.

I think what you're looking for is at Render Properties > Bake > Selected to Active > Max Ray Distance.

I hate to give you a diametrically opposite answer to somebody else in comments, but I have to.  Ray distance does not correspond to max ray distance (which should almost never be used) but to ray extrusion.  Of course, given two comments saying opposite things, you'll have to check yourself...

Yeah, you're probably right. I couldn't find the spot in the video so I guessed... hastily.

https://blender.stackexchange.com/questions/210570/how-the-normal-map-baking-works-what-is-the-ray-direction. Maybe see the last comment from Nathan in that thread?

I thank you all for your answers. For some reason, I hadn't noticed the drop-down arrow next to "Selected to Active." I found the "Max Ray Distance" slider I was looking for. Thank you all for the quick responses and for helping me get back on track with my project.


text:
Model smooth transition between edge loops
I'm trying to produce a smooth connection between edge loops that can be beveled without artifacts. "Edge/Bridge Edge Loops" doesn't produce good results. Is there a way to bridge these two forms that produces good topology? Attaching the source file for anyone who has any ideas.

Source blend file here:

I think you are on the right track, maybe you need to tweak the settings and change the way of selection a little bit to get the desired result.

In Edit Mode select the top Edge Loop of the handle by pressing Alt + LMB.
Press S, X, 0 to make it flat and avoid unwanted stretching artifacts
Shift + 3 to enable face selection and select the desired region of faces
RMB > Bridge Edge Loops
Tick the box in Bridge Edge Loops dialoge to the bottom left across Merge setting
Set Merge Factor value to 1.0
Ctrl + R, 2, LMB,RMB to add some Loop Cuts and give this part a nice topology transition

nice +1. i like your solution. but when i tried it and added a bevel modifier i get this weird topology https://pasteboard.co/YIhFT5CPOmJQ.png any ideas?

@HarryMcKenzie try to change the Limit Angle value >30


text:
Unity or Unreal Engine with Blender?
Im interested in creating low poly mesh and exporting them to a game engine. Which game engine is better to use, Unity or Unreal?

Either one of them. This are the 2 most used game engines and Blender can easily export mesh, textures, animations, for each one of them.

Cool Thankyou, I guess it’s also easy to add textures and things too.


text:
Which mode should i trust for lighting?
I want to export my objects to unity, but in blender I`m using Eevee engine. However the light in rendered more and material preview mode is completely different, which impacts the colors of objects. Which one can i trust to see the true final colors of the objects so that they will be the same when i export them to unity?

Evee is a realtime renderer like Unity, so definitely trust Evee more. However, depending on environment settings in Unity, materials will not look exactly the same (bloom, lighting, etc.) just as in the real world colours don't always look the same depending on the environment.

Related https://blender.stackexchange.com/questions/128499/how-to-use-2-8s-default-hdris-in-renders

Material Preview
Material Preview uses one of the builtin generic HDRi maps to light the objects.
It is for preview purposes only and wont affect final scene lighting, nor will it be exported along with the model.
In this mode scene lights are ignored (optionally) for performance and workflow reasons. You can enable them in the Shading Popover.
Render Preview
Render preview uses your actual World Shader as background color instead and lighting.
Scene lights are also previewed closer to final result. They are still never exported to other applications though, so in external game engine or environments results will always differ.
You can switch the HDRi on/off for both preview modes.

Also see related How to use Default HDRIs in Renders?

Thanks to Duarte Farrajota Ramos for improving the answer. :)

You've been doing great, keep it up


text:
How to smooth my Topology
I managed to cut a hole in my mesh without adding extra verts but now I have a problem with the smoothing. It doesn't smooth the edges around the whole as you can see. How can i fix this?

One way would be to change the direction of the edge flow so there is a loop around the "hole". You can do this by selecting the corner vertices (in pairs) and merging them at the center.

You can then add an edge loop around the hole and pull it in to define the top of the edge.

If you want the inside of the hole to look "cleaner", add an edge loop in the center, and bevel it until the top and bottom edges are close to their counterparts in the hole. You might also want to select the bottom faces and inset them very slightly.

Final result is a clean cutout:

thanks bro, what do you mean by inset?

Select all the bottom faces and press "i". You can then move the mouse to see what it does - it brings a new loop in from the edge. You can also put a numerical value. I used I > .01 to get a small inset.


text:
Best way to mark seams and unwrap this mesh?
I want to unwrap and texture paint this mesh,but as you can see it looks like a mess in the uv editor right now. Where can i add seams? what is the best place ? when i tried it as it is (with smart uv unwrap), it just stretches my texture and looks awful.

weird because Smart UV Project should work fine, could you share your file?

Apply scale CtrlA to your model before unwrapping it with Smart UV Project to prevent the texture from stretching.


text:
How do I convert my 3D models and animations into Virtual reality content so that anyone can view it in 360 degree perspective?
I want to create some entertaining and informational content that anyone can watch in a VR headset that's why I want to know how to convert my 3D models as well as animations into 3D 360 degree viewable format!!

Did you tried https://sketchfab.com/ ?

If you know a little of programming, you could export your model using Blender's gltf exporter (https://github.com/KhronosGroup/glTF-Blender-IO). In blender 2.80 it is already included. Then, you could import these models in A-frame (https://aframe.io/), a really basic and simple framework for virual reality web-applications. Doing so gives you much more freedom than importing your models in sketchfab

Thanks for such a detailed answer.I really appreciate it. @RAGE


text:
Compositor nodes are ignored when rendering the classroom or the barber shop demo files in Blender 2.8
I am trying to render a scene and its depth map using the Python APIs of Blender 2.8. I created a rendering node and connected its Image and Depth fields to two Output nodes, writing to PNG and EXR, respectively.
I managed to render with Blender 2.8 many scenes created with Blender versions older than 2.8. However, when I try to render the Blender 2.8 classroom or barber shop demos, I get no output. Basically the nodes are ignored.
The classroom file can be found at https://www.blender.org/download/demo-files/
and the script that I am using is the one below.
Thanks in advance for any help :)
import bpy
import os
import numpy as np

# Remove all the cameras in the scene.
bpy.ops.object.select_all(action='DESELECT')
for i, item in enumerate(bpy.data.objects):
    if item.type == 'CAMERA':
        bpy.data.objects[i].select_set(True)
        bpy.ops.object.delete()

# Create a new camera. Like every newly created object, the camera is automatically assigned to `bpy.context.object`.
bpy.ops.object.camera_add()
cam = bpy.context.object

# Rename the new camera (not necessary).
cam.name = 'Camera_360'

# Turn the camera into an omnidirectional one.
cam.data.type = 'PANO'
cam.data.cycles.panorama_type = 'EQUIRECTANGULAR'

# Set the rendering range: every object between the two bounds below will be rendered.
cam.data.clip_start = 0.0
cam.data.clip_end = 1000.0
# The upper bound should be specified for each blender project:
# `1000` may represent a large distance in one project and a small one somewhere else.

# List of camera resolutions.
# resolutions = [(512, 256), (1024, 512)]
resolutions = [(512, 256)]

# List of camera positions in the scene.
camera_coordinates = [(0, 0, 1)]

# Define the camera field of view.
cam.data.cycles.latitude_min = (- np.pi / 2.0)
cam.data.cycles.latitude_max = np.pi / 2.0
cam.data.cycles.longitude_min = (- np.pi)
cam.data.cycles.longitude_max = np.pi

# Define the camera rotation.
# The rotation follows the rule of the right hand.
cam.rotation_euler[0] = np.pi / 2.0     # Along x.
cam.rotation_euler[1] = 0.0             # Along y.
cam.rotation_euler[2] = 0.0             # Along z.

# Specify the device.
computation_type = 'CUDA'
gpu_id = (3,)

# Set the number of rendering samples.
# bpy.context.scene.cycles.samples = 5000
bpy.context.scene.cycles.samples = 50

# Select the computing device.
prefs = bpy.context.preferences.addons['cycles'].preferences
devices = prefs.get_devices()
if computation_type == 'CUDA':
    bpy.context.scene.cycles.device = 'GPU'
    prefs.compute_device_type = 'CUDA'
    for i, gpu in enumerate(devices[0]):
        gpu.use = (i in gpu_id)

# Assign the new camera to the scene.
bpy.context.scene.camera = cam

# Activate the use of nodes.
bpy.context.scene.use_nodes = True

# Render an image for any pair ((width, height), (x, y, z)).
for width, height in resolutions:
    for x, y, z in camera_coordinates:

        # Set the camera parameters.
        bpy.context.scene.render.resolution_percentage = 100
        bpy.context.scene.render.resolution_x = int(width)
        bpy.context.scene.render.resolution_y = int(height)
        bpy.context.scene.camera.location.x = float(x)
        bpy.context.scene.camera.location.y = float(y)
        bpy.context.scene.camera.location.z = float(z)
        tree = bpy.context.scene.node_tree
        links = tree.links
        rl = tree.nodes.new(type="CompositorNodeRLayers")

        # Depth map.
        fileDepthOutput = tree.nodes.new(type="CompositorNodeOutputFile")
        fileDepthOutput.format.file_format = 'OPEN_EXR'
        fileDepthOutput.base_path = 'outputImages/{w}_{h}'.format(w=width, h=height)
        fileDepthId = 'test_{x}_{y}_{z}_{w}_{h}_depth_'.format(x=x, y=y, z=z, w=width, h=height)
        fileDepthOutputSocket = fileDepthOutput.file_slots.new(fileDepthId)
        links.new(rl.outputs['Depth'], fileDepthOutputSocket)

        # Texture.
        fileTextureOutput = tree.nodes.new(type="CompositorNodeOutputFile")
        fileTextureOutput.format.file_format = 'PNG'
        fileTextureOutput.base_path = 'outputImages/{w}_{h}'.format(w=width, h=height)
        fileTextureOutputId = 'test_{x}_{y}_{z}_{w}_{h}_'.format(x=x, y=y, z=z, w=width, h=height)
        fileTextureOutputSocket = fileTextureOutput.file_slots.new(fileTextureOutputId)
        links.new(rl.outputs['Image'], fileTextureOutputSocket)

        # Launch the rendering.
        bpy.ops.render.render(write_still=False)

        # Clean the created nodes.
        bpy.context.scene.node_tree.nodes.remove(fileTextureOutput)
        bpy.context.scene.node_tree.nodes.remove(fileDepthOutput)

The reason for that is that the compositor is disabled by default in those scenes. To enable the compositor check "Compositing" under "Post Processing" in the "Output" tab.

@Mattia In order to enable this by script set bpy.context.scene.render.use_compositing = True. Note that the project contains multiple scenes which are used in the compositor. If you want to save the image with the compositing effect, you'll have to connect your File Output node to the same image output that is connected to the Composite node (in this case the Switch node). Additionally you would have to enable compositing, adjust the resolution and place the camera for the other scenes as well.


text:
Blender 2.8 Time Nodes for 2d Animation
I am pretty much a blender newbie but here is what I am trying to accomplish:
Basically I want to create a simple 2d animation using nodes. I created this simple network which changes the color over time:

When selecting single Frames in the Compositing tab, the colors are changing correctly. However when pressing the play button (in the Rendering tab) I would have assumed that I can view a "animation" of color fading but the colors are not changing at all (I selected the Viewer Node in the Rendering tab). What am I doing wrong?
Also I would like to "export" these rendered frames as background into my 2D Animation canvas and eventually draw onto them. How can I do this?
Any information of how to do it or information on finding information is helpful
Thank you very much

First time in Animation 2D mode, figured it out though

top left (or CRTL + TAB) go into object mode
SHIFT A -> Image -> Background
Locate your previous render (I don't think you can link it dynamically)
In a properties tab (should be open on the right) go to the 2. lowest option, image symbol.
choose source: image sequence and define start and offset, usually 1 and 0
Scrub through timeline to see if it animates.
You can use g and s to position your image if it's not at the correct position

You have to select your stroke again or add a new one if you want to continue drawing.
Unfortunately as far as I can tell you still have to composite your drawings onto your background after render in the compositor, as the background img. does not show up in render. But double check that, I might be wrong.

Ok thanks for all the effort, I figured it out though, I simply had to add a Render Layers node and blend it feeding it to the Composite Node. This renders everythink correctly.

Unfortunately the compositor does not update reliably. It does so on tree changed (manually), but not necessarily on frame changed. There should be no problem outputting the animation as either video or img sequence. But as far as I know you still need to render each frame. Delete everything in your scene except the camera, choose your resolution, file format and destination and hit render animation.

Could you be a bit more specific? I chose Menu -> Render -> Render Animation which rendered my node background to some temporary location. Not sure how to adjust the settings.  And the workflow now is to select each rendered frames and manually assign them as background for the canvas for each keyframe?

Did it at least render as you expected? You don't need to manually update on render, only when you want to preview a specific frame inside the compositor.
These are very basic settings, maybe just check out this: https://www.youtube.com/watch?v=nQXQCT_hKSs (after 1 minute) it should clear things up.

Okay thank you, just figured it out. But the 2nd part still holds? I have to manually assign the rendered images as background for my canvas for each keyframe?

Sorry, I don't know what you mean by canvas, I was assuming you were drawing in a different application

I see, what I mean is the common "Animation 2D" tab where you can draw lines, interpolate between keyframes etc. I basically want to use the output from my nodes there. Or is this a bad / uncommon idea for some reason?

I finally found the answer:
In the animation tab you draw in the default View Layer. You can include this layer into the compositing node network with the node Render Layer. Finally I had to blend my background image and the view layer together, forwarding it to the final Composite node.
Now when rendering the animation everything is displayed


text:
Unable to get Cycles renderer to output anything but grey
I've been trying to use the Cycles renderer in Blender 3.5 (problem happens in 3.1 as well) on a late-2019 Intel MacBook pro with an AD 5500M GPU. When I configure the material in the scene to use Cycles and switch the scene renderer to Cycles, rendering in the shaded viewport mode seems to work:

However, when I try to use View > Viewport Render Image all I get is a grey output. The object selection (orange outline) renders, so it seems it's trying to produce something:

I've looked at my material setup, and looked at other people who've had rendering issues (object blocking camera, wrong camera focus settings, no compositor output, incorrect material setup) and I don't think any of these apply. My object has UVs, and I'm using the standard Principled BDSF shader. This is as simple of a scene as I can think to create - so I've attached my .blend file as well, in case anyone has an opportunity to look at it.
Here's my material setup in case there's something silly I'm doing here:

Attached .blend file:

If you want to render something in the viewport select the "Rendered" view underneath the tab bar. The way you rendered your image does not work with cycles. When rendering always press Render > Render Image or Render Animation.

I wasted so much time on this ... can't believe it was actually this trivial. And it is deeply and unfortunately confusing that this behavior is fragmented in this way. Thanks you for the help!

Blender Manual Note

Viewport rendering only works for the Workbench and Eevee render
engines. It’s not supported for Cycles.

p.s.: Definitely ready for proposal to enhance GUI.
Very confusing state now. I tried to report it as papercuts ... so let see what will happens :)

Thanks you for your help! I accepted @CreativeDrone_'s answer because they are new to this site, but also because they provided a more complete answer on how to get the result. But I very much appreciate your answer as well.


text:
Make fire material "go over" shape
I apologize if the wording is weird, English isn't my first language ^-^'
I downloaded a low poly model and wanted to play a bit, so I added a fire shader that has a certain transparency as one of the materials; it worked, but the fire was restriced to inside of the model shape. Is there a way for the fire material to keep the model's shape, but also passing a bit the original geometry?

A shader displays a material only on the faces of the mesh, or inside its volume, which explains why you can't go 'over the boundaries' for the fire effect.
You could add a larger mesh with the fire shader around your initial object and it would then go beyond the first model's boundaries.

I will try that, thanks!


text:
Is there any way to Save baked texture with Filmic(View transform)?
The baked texture is very different from the color I saw in the viewport.
When I searched, it was said that the View Transform should be set to Standard, but I want to bake by applying a filmic feel.
Seniors in the world, please help me.

Actually it doesn't matter to what you set the View Transform, the texture bake will always have the colorspace sRGB after baking. It just might help that when you choose View Transform > Standard, the viewport will show the colors like they are in the texture bake.
If you want to apply the Filmic look to the texture bake, you have to apply it when saving the image texture. In the Save As Image dialogue box you can check the option Save As Render, this enables the option Color Management dropdown menu. If you use the default Follow Scene, the texture bake image will be saved with the Filmic settings of your scene. If you choose Override you can set new options for the image to be saved.

If you want to see the texture bake with the Filmic settings in the Image Editor, there is an option View As Render in the Image sidebar menu if you press N, but the settings there are only available after you have saved the image.

You just have to be aware, if you save the image texture with the Filmic settings instead of sRGB and you use it as texture in a scene where you have set the Color Management to Filmic as well, those settings will be on top of the already applied Filmic settings of the texture.

I'm so appreciative of your kind and detailed answer. I was able to solve the problem that I had been hanging on to all day.

By the way, It seems that the function of "Save as render" does not work when saving as "exr" format, but I wonder if that is the only way to save it.

No, this will only affect JPG or PNG file formats, since EXR saves in a kind of "raw" format simply spoken.

Thank you! I wish you all the best in the future.

Nice, I didn't know that and would do it Nathan's way.

You can't do this in a single pass.  You need two separate rendering passes to do this.
First, bake your texture image as non-color data and save as .exr to preserve the full color depth (upon which the filmic color transform will later act.)
Then you have two options.  The simplest is probably to put your saved image as a texture on a plane and render it, with Filmic color management, from an appropriately scaled orthographic camera, then save the image.  This will get you the color transform you want.
The other option is to set the sequencer to linear (in properties/render/color management/sequencer), enable compositing, and then enable composting nodes.  In compositing, use your new .exr as the image input rather than the render, then render and save.


text:
Geometry nodes: remove excessive instances

https://drive.google.com/file/d/1dQPElZoMjgxbcr-j7H4tlquCiJ1Z0PuV/view?usp=sharing
I can't figure out for the life of me to remove excessive instances where a vertex has neighbors. In other words I've now managed to place the traffic sign where I want it, with the correct rotation, but I don't want it to be there at all at the intersections. So in this specific example file there are those 3 problem intersections where I don't want to for the signs to be at all.
I've tried to sample the original vertexes to only include those that have no vertex neighbors but then I couldn't get the rotation to work.
I've excluded the working road generation at the top of the node tree, that doesn't need any doctoring.
No idea how to do this. Help greatly appreciated.

Perhaps an over simplified solution .....
Create a vertex group from the vertices where you want there to be lights and use that in a Named Attribute node connected up to the Instance on Points node.

In edit mode, select the vertices where you want there to be traffic lights.
Ctrl + G to create a new vertex group.
In the Data properties tab > Vertex Groups rename the new group to Lights.
In the geo node editor add a Named Attribute node.
From the Name field drop-down select Lights.
Connect the Attribute output to the Selection input of the Instance on Points node.

Thanks! While this isn't the best solution for this particular problem (I want it to be automatic) it's an awesome technique which I wasn't aware of that allows hand-picking vertexes to place instances on. Thanks for that!


text:
Preview Animation?
I am making an animation film and I want to see how the figures moving in realtime. But the only way for me is to render the scene. Does anyone know if there is a faster way then rendering? I do not mean things like reducing the quality (sss, tile, cliping border etc.) I already reduced time of renderin per frame to 3sec. But even if I would reduce it more, blender always needs a bit time between the frames to save the picture. So I can´t really work on my animation because just to check a 10sec of the animation I have to render 20 minutes.
Is there something like a sketch-render? :-)
How do you handle with that?

In the top header menu > View > there's a Viewport Render Animation function, you can switch to camera view, Solid mode, make sure that you've set a folder for the images, reduced the resolution %, and click on it

@moonboots Right, that's what I always try to tell people that are complaining about the playback fps in the viewport not matching the fps in the settings. The viewport is often not capable to playback in original speed. If you want to see animations in the correct speed, render a viewport animation.

This View Render Animation function is exactly what I was searching for. Thank you a lot!

Just so we don't miss the obvious answer, the most convenient way is just pressing play on the Playback panel, or Shift+A in the default key mapping. I assume this is not sufficient for you?

When you play it in viewport with the Playback panel you do not have realtime (if you animate more than a few cubes). It needs about the same time when you render it with "Viewport Render Animation". But after that you can watch the Viewport Render in Realtime by "Render -> View Render". It is not only "not sufficient", it was more like not possible for me to create good moves without rendering the scenes. And I am so happy to know now about the Viewport Render. I tried it earlier but did not understand what it is about because I did not realize that it is possible to watch it after rendering.

In the top header menu > View > there's a Viewport Render Animation function, you can switch to camera view, choose the Solid mode if the materials and lightings don't matter, make sure that you've set an output folder for the images or for the video, reduce the resolution % if needed, and click on Viewport Render Animation:


text:
Keyframe jumps back to Pose Mode
I am working on an animation and have a problem with the keys in the timeline. Until now it was always like the last keyframe in the timeline was fixed if there did not come any keyframes after that. But now the last keyframe does not stay in position. Its always changing to the rest position after the last keyframe. Thats really tedious because the only way I found to handle that is to always copy the last keyframe... Does anyone know what I have to change that the pose stays in position after my last keyframe?

Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking.

I can think of this behaviour only if there is an action strip on the NLA editor with the rest pose as last keyframe and extrapolation set to "Hold", while the Edited Action has extrapolation set to "Nothing".

Thank you! I didn´t find an Action Strip with a rest pose as last keyframe. But it works now with extrapolation set to "hold". I did not know that this is necessary when I don´t push down the action. So now I know it because of you :)


text:
Adobe plugin trouble
I am running Blender 3.2.0 I am trying to install the adobe 3D substance plugin. I have no problem adding: 'Substance3DInBlender' however, when I try to add on the Integration Tools, it just won't upload. any suggestions? I do not get an error message, I just get a notification (see red writing) that I need to upload the Integration Tools, I do this, and then nothing changes. thanks very much, Kelly

Try reading the instructions for installation on the Adobe website, I can't share a direct link to the page since the beta seems to require sign-in, so you might have to jump some hoops, but it tells you exactly what to do. it is all spelled out very clearly. This has nothing to do with Blender itself.

I had this same issue.
I accidentally tried installed the Integration tools first, I was having trouble. I ended up deleting the addon in blender, opening the task manager and ending the process of the substance_remote_something.exe process. I can't remember the exact name of this process. But once I deleted it, I tried the installation procedure again and it worked.

Ah I figured it out. Since I accidentally tried installed the Integration tools first, I was having trouble. I ended up deleting the addon in blender, opening the task manager and ending the process of the substance_remote_something.exe process. I can't remember the exact name of this process. But once I deleted it, I tried the installation procedure again and it worked

This has happened to me as well, but I got it working. Try installing the program directly from your downloads folder instead of dragging the Integration Tools folder to the desktop. Then it should sync properly.


text:
How do I add animation after rigid body physics has taken place?
How do I add animation after rigid body physics has taken place? I've figure out how to animate an object and then have the physics take over, but I can't get the reverse to work.  Having a rigid body and then animate.  For example, I want a wall to roll and then get sucked up by a space ship.  Everything I've tried so far hasn't worked.

This might help -  https://blender.stackexchange.com/questions/189665/animating-active-object-in-physics-simulation/190246#190246

if you know the reverse, just DO the reverse ;) so to take the physics take over, i am pretty sure that you unchecked the "animated" checkbox in the rigid body settings. Just keyframe the unchecked checkbox, and one frame later (from where you want to animate) just check the "animated" checkbox and keyframe again -> done

The trick here isn't to get it back under control of the animation system-- that's as simple as keyframing the "animated" property.  I think where you may be having trouble is in getting it to continue in the way that the rigid body system animated it.  There are a few ways to handle this.  The first is to use a visual transform:

Bake your rigid body physics, in properties/scene/rigid body world/cache.
Keyframe your rigid body's initial loc/rot at the beginning of your timeline (ie, frame 1.)
Advance to the frame on which you want to take over control of your rigid body.  Use "apply visual transform" operation (from ctrl a menu for me), then keyframe loc/rot.  Enable the "animated" trait, in properties/physics/rigid body/settings and keyframe that trait.
Go back one frame.  Uncheck "animated" and keyframe it.

Now if you go through, you'll find that the rigid body system is in control up until you said, at which point there is no change in transformation from the rigid body system.
You cannot clear your physics bake.  Doing so will invalidate your transform.  Even if nothing changes, rigid body physics depend on unseeded random values (well, they're seeded, but we don't get control of the seed.)  Rigid body physics will not act exactly the same twice in a row.
The other option here is to use a "bake to keyframes" operation (which I access via the searchbar), which will write your existing rigid body animation into a keyframed action, making it so you no longer need rigid body physics whatsoever on the object.  As before, if you change anything in the sim, these baked keyframes will no longer be valid.  Once you have these keyframes, you can delete or replace any that you would like-- perhaps deleting all after a certain frame, so that you can animate it by hand after that point.
The final way to handle this is to not render your physics object.  Instead, disable rendering on your physics object and create a copy-- without rigid body physics, but enabled in renders-- that copies transforms from that physics object via a "copy transforms" constraint.  Now, you can animate that object however you'd like, including animating the influence of its constraint.  So long as the influence is 1.0, it will act under the control of physics (at least, apparently so); when the influence is 0.0, it will act under your control.   For in-between values, it will interpolate between the target of the constraint and its own keyframed transforms.  This last version involves the complexity of an extra proxy object, but allows you to continue with unbaked physics in case you wish to make further changes to the system.


text:
Access Underlying Physics Engine with Python
I need to detect when (at which frame(s)) collisions occur in my rigid body simulation. I have tried a few tricks (see below), but ideally I would like to use the physics engine to get accurate information.
Currently, this is how I am detecting collisions (essentially, I'm testing whether any vertex on object one is within a threshold distance of object two):
import bpy
import mathutils

collision_states = {}

def distance_to_face(vert, face, obj):
    face_center = obj.matrix_world @ face.center
    face_normal = obj.matrix_world.to_3x3() @ face.normal
    distance = abs(mathutils.geometry.distance_point_to_plane(vert, face_center, face_normal))
    return distance

def check_vertex_face_distance(obj1, obj2, threshold):
    for vert in obj1.data.vertices:
        vert_world_co = obj1.matrix_world @ vert.co
        for face in obj2.data.polygons:
            distance = distance_to_face(vert_world_co, face, obj2)
            if distance < threshold:
                return True
    return False

def detect_collisions(scene, threshold):
    global collision_states
    for obj1 in scene.objects:
        if obj1.type == 'MESH':
            for obj2 in scene.objects:
                if obj2.type == 'MESH' and obj1 != obj2:
                    pair_key = frozenset([obj1, obj2])
                    collision = check_vertex_face_distance(obj1, obj2, threshold)

                    if collision and (pair_key not in collision_states or not collision_states[pair_key]):
                        frame = scene.frame_current
                        print(f"Collision started between {obj1.name} and {obj2.name} at frame {frame}")
                        collision_states[pair_key] = True
                    elif not collision and pair_key in collision_states and collision_states[pair_key]:
                        frame = scene.frame_current
                        print(f"Collision ended between {obj1.name} and {obj2.name} at frame {frame}")
                        collision_states[pair_key] = False

def collision_callback(scene):
    threshold = 0.04
    detect_collisions(scene, threshold)

bpy.app.handlers.frame_change_pre.clear()
bpy.app.handlers.frame_change_pre.append(collision_callback)
```

i would use BGE for that. You even don't need python to get the collision there.

@Chris, thank you for the idea! I was under the impression that BGE was no longer part of Blender. I did look into it but couldn't see how I could integrate it into my workflow

https://upbge.org/#/ but I've never tested it.

@lemon thanks—I'll give it a shot!


text:
How do I make streak highlights that are affected by lighting?
Sorry about the title, it's a little hard to describe.
I'm making a toon shader for eevee, and I want to make a specular effect that looks like straight lines across the mesh. I managed to do it once using a gradient texture and a color ramp, but it wasn't affected by the lighting, which is what I want to achieve. The image here is the type of effect I'm describing.

So is there a way to do this while it is still affected by lighting?

Maybe try something like this - I'm not sure what you're going for with the "movement", but this might at least get you started:

Oh, and my mistake - for toon shading, ColorRamp should be set to constant (I forgot to switch it).


text:
Parenting two rigs
I’m new to blender so I purchased a rigged character. Unfortunately it doesn't have a face rig, so i created one (faces.super_face) in the face samples option. I’ve aligned the armature to the character and now I’m try to parent the face bone of the armature to the head bone of the rig so that it becomes one but when i click Ctrl-P in edit mode i am not getting the “keep offset” option. I did this in blender 2.90 and it didn’t work.
I later tried to parent in blender 3.1, the parent option is in grey and can’t be selected.
I have also tried joining the two rigs in object mode but whichever rig I select first disappears when i click Ctrl-J, i thought that maybe i have constraints or that other bones where hidden in edit mode but i dont have any constraints and all the bones are unhidden. Am i doing something wrong?
Please help me because I’m working on a deadline for a client. Thank you in advance

Welcome to blender.stackexchange!  You can't parent a bone from one armature onto bones of another armature. However you CAN parent the whole armature-object onto the bone, or you can use a constraint to fake-parent or simply to copy transforms. (I'll try giving a proper answer later...)

Okay what time can I expect to here from you?

the best would be to join the 2 armatures, maybe share these 2 armatures so that we can give a try: https://blend-exchange.com/


text:
Python error in dialogue pop-up script
I'm following a tutorial on how to make a pop-up box for a cube that lets you change the scale: https://www.youtube.com/watch?v=3C6wVPVrPtM
I downloaded the author's code and there are no errors when running the script. When I click the cube button I'm only getting a dialogue box with "ok" and clicking that returns an error as shown in the screenshot. What's wrong and how do I do fix it?

Since a few versions you must define operator properties with : (annotations), not = (declaration). IE : replace text = StringProperty(...) with text: StringProperty(...)

lines 114 and 115

I see. That was a dumb change. Thank you

Here's an explanation if you're interested https://blender.stackexchange.com/q/229707/86891


text:
How to make an edge (or several edges) circle shaped?
We have an assignment to make a cup and my teacher made smooth circle shaped edges with only a few vertices in the instructions. However he did not explain how. I've tried with loop tools -> sphere, but that wasn't any help.

How do you achieve the result in the second image?

I don't speak swedish but "Proportional Editing" has got to be a hint :))

https://blender.stackexchange.com/a/238405/110840 - check out this answer, observe how few polygons you actually need to define to achieve the goal

Try Loop Tools > Relax, that usually works pretty well for me.

Hello and welcome. English is mandatory language for the site. If you are not comfortable writing in English feel free to use any online translation service.

Hello and welcome. When posting here please avoid text inside images, always prefer typing it directly in the body of the post instead. Image content can't be indexed and thus can't be searched for or readily found in the future. It can't also be easily edited in case of errors or typos, nor updated when it gets outdated in case of future changes.

Let's add a circle for example

Now go to Modifier Properties tab and select Subdivision Surface. Then increase Levels Viewport, for example, up to 3 and make sure you enabled this feature:

Now your mesh turned from this:

To this:

Use the same technique to make your handle smooth.

Just a thought. You may want to post an additional answer by starting with a torus and deleting part of the torus.  Then proportional edit perhaps.

@atomicbezierslinger, I thought the question was not about how to make a perfect round handle (like a half of the torus) but how to make those edges between vertices to be curved in edit mode

Exactly. I just wanted to know how to make the edges curved. Proportional editing was just something we could play around with, but isn't very practical in this case. :)
That reminds me of something. Is there any way to modify the area of the proportional editing? It's very large by default and affects the whole cup with only one vertice selected.

@Alex Thank you very much for the illustrated explanation.

@Blendome, in order to modify proportional editing area, just scroll your mouse wheel up and down while moving your vertex


text:
Generate rig button greyed out
I'm quite new to animation and I'm going to make my first walk cycle. I started by importing a character I got from sketchfab and it doesn't have any rig layers, but the button is greyed out. How come? Do I have to create my own armature?

This is Mixamo Rig. To get the generate rig option active, you need to use Blender's own Rig called Rigify. From Edit go to Preference and from Addon you can active Rigify.

I have already done that. It's still greyed out. I tried to make my own armature, but when I apply the weights with ctrl+P the body parts become disaligned.

Please share your Blender file.

Rigify works either on its own metarig, or you have to add "rigify types" to your bones so that it can recognize the rig parts and generate a rig out of it.


text:
How to create good mesh topology for a complex shape
I have been searching for an answer to no end, but maybe I am wording it incorrectly. I have this dieline that I need to bring into Blender and create a mesh. See attached. How can I create a clean topology for this mesh? There are a lot of circles and I am not sure how to connect all the lines. I need to emboss some circles at different heights, while others will be "see through" and some will be translucent. I already created a pretty ugly one, I just don't know how to do this properly. Also attaching. Any guidance appreciated.

Hello what do you mean by "I need to emboss some circles at different heights, while others will be "see through" and some will be translucent", is the object supposed to be flat with a bit of thickness? You don't neessarily need all these edges, ngons are ok if they are coplanar with their adjacent faces. So maybe tell a bit more and share your file?

Maybe show an image of the original object if you have one?

Please also tell us what the mesh is for. Printing, or visualization?

Hello @moonboots. Here are images of what I am trying to make. It is is just for visualization. The thickness of this membrane switch is .7 mm in real life. https://imgur.com/a/7CfpRMB. Do you see in the images where the circles have special embossing or dome effects? Also, where the red oval is translucent. I couldn't @ robin.

Shouldn't the buttons be separate objects?

One the membrane switch itself it is all together, so I copied that. Do you think it would be better if I made the buttons separate objects? I guess that would eliminate this whole topology confusion I am going through.

Sorry, forgot to at you. @moonboots

It looks like they are not part of the same object IRL so as a 3d object you could do separate objects or only one object but with separate meshes

Yeah, in real life it only looks like different objects because it was embossed and they change the texture on the circles. My company manufactures it. I totally forgot you can have separate meshes in one object, that seems like the way to go. Thanks so much @moonboots.

So I couldn't figure out how to have these as separate objects and still create the type of texturing I needed to with them all being one piece? Anywho, I used an addon to re-topo it and it works great now. https://imgur.com/a/yxupoHX. Just thought I would share in case anyone runs into something similar. I used "Quad Remesh"


text:
Rigid object getting stuck on container bounding box before falling in
I am trying to have a little pill shaped object fall into a bag. When the pill falls, from frame 35 to 80 it seems to halt on the top edge of the bounding box of the container. After that 50 frames, it falls into the container. I can't figure out why it's stalling there at the bag opening. Here are images of the settings for the pill and bag. Also, you can see the location the pill is stuck at.

Hello could you please share your file? Read the instructions here: https://blend-exchange.com/

Ah, I figured it out. The pill was reacting to an object that I had shut off. "Bag 1".


text:
Is there a way to apply a weighted bevel modifier but only to selected edges
I know that this How to apply a bevel modifier, so that it affects only specific edges? exists but the answers in there either talk about using vertex groups or weighted edges. And this is not always great for me.

Weighted edges:
Sometimes I need to apply different bevel properties to different edges in the same mesh. Say, I want a part of the mesh to use different Miters or bevel amount.
Vertex groups:
Using this, I can't seem to control weights anymore. This is going to make it near useless when fine tuning the weights become necessary. Also, sometimes, vertex groups can select the wrong edges. For eg. say that I wanted to apply the bevel on the pointed edges by selecting the 4 vertices. As you can see, that also applies the bevel on the convex edges too

Is there a way around this?

AFAIK you can control weights with vertex groups. Each vertex is assigned to a group via a value from 0 to 1, you can manage this in either edit mode via the sidebar or using the weightpaint mode. Now the issue with bevel targeting with vertext group is that it's not edges

@L0Lock Edges are 2 vertices and thus can be managed with vertex groups, the issue here is that the edges share a face and thus mess with the result, my answer shows a way around that.

That's what I meant...

For your specific case i would suggest using the vertex group method, it is non-destructive and if not too many edges are involved should be easy to follow:
Also, using edges that do not share a face, like in the picture below, allows for a way to use less bevel modifiers.

Using the first vertex group in a bevel modifier:

You would get this:

Doing the same once more with the other vertex group, we end up with this:

All that is needed is the grouping of edges that do NOT share a face, and the usage of vertex group mode bevel modifiers.

It's not perfect, but very powerfull and most important, non-destructive.
Happy blending.


text:
Is it possible to perform operations individually to faces?
I would like to know if it is possible to perform operations (extrude and scale mainly) to individual faces as opposed to groups of faces.
Currently when I select these faces...

And extrude, I get this:

I would like to know how to get this:

Setting the pivot point to Individual Origins doesn't work either for contiguous selections of faces.

I often need to do this kind of extrude+scale to lots of faces at a time, so it is simply not efficient (bordering on impossible) to do them one at a time as I did for the example.

You can press ⎇ AltE> Individual faces to do this:

There is also a button in the tool shelf under Tools > Mesh Tools > Add:

ALT+S just does a regular scale it seems, they faces are not separated.

@leigero Alt+S actually does a shrink-fatten. To do an "individual scale", set the pivot point to individual and then scale normally (S).

You can select Individual Origins to set each face's center as the center rather than the bounding box center of all faces combined

And you can always select faces one by one and extrude each one of them separately. Extrude individual extrudes each face along its normal, so the result depends on the surface of your model. Try it with a uv sphere.

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


text:
How can I hide unused node sockets?
Is there a way to hide output node sockets that have nothing plugged into them?
This would be really useful, for instance when I am using the light path (or any other input node) and I am only using one output and the other 9 are just wasting space.

I am pretty sure there is a way to do this (I think I have seen people on this site doing it).  But I can't remember how and I figure some other people may benefit from this if I ask the question here.

Yes, this can be done by pressing ⎈ CtrlH:

Or even more effectively with plain ol H.

@VinceScalia Indeed, however with H you lose the labels of the sockets.

Also just plain H does not hide the actual sockets as the OP asked.

It shrinks way small though.

This is exactly what I was looking for, thanks!  @VinceScalia Only if it doesn't have many sockets, with the input nodes, H doesn't make it much smaller.

See edited answer.

This can also be accomplished with some simple Python code.
bpy.types.NodeSocket([bpy_struct])

Use the Hide attribute, which has a value of false by default.
Visit the full documentation here.

Thanks, but I am pretty sure I saw someone (I think it was @Gandalf3) mention in a comment somewhere a way to do it without scripting.

I haven't been able to uncover that, if I do I will update my answer.

H will turn any node into a capsule. This is perfect if you don't plan on editing the particular node any more. From there you can grab the two little strikes in the right side of the capsule and shrink it more!
Just don't lose it's name!

You can even condense large nodes like light path, just make sure something is connected.
Shrink the large node with Ctrl > H and then click the little arrow in the top left or press H.

You can also click the arrow at the top left of the node to do this.  But the problem is this doesn't hide unused sockets.  If you shrink a light path node it doesn't get much smaller since it still has to show all 10 sockets.

@PGmath see the edit.

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


text:
What does static/dynamic BVH do?
In the render properties panel, under the performance rollout there is a setting for static vs. dynamic BVH.  I am simply wondering what this setting does.
From the Wiki:

The raytracing acceleration structure used is a bounding volume hierarchy... This code includes spatial splits to make it more competitive with kd-trees.

Unfortunately, though I know quite a bit about cycles, this is totally Greek to me.
I couldn't really find much else useful on the web other than it may have some impact on animations only.  Can anybody explain this better (maybe starting with BVH in general)?

Some info here: http://blender.stackexchange.com/a/9313/241

Related: http://blender.stackexchange.com/q/7510/599

About BVH:
BVH creation is a method of space-partitioning to speed-up ray-tracing (or also collision detection, etc.). BVH itself is a node-tree data structure that wraps polygons in bounding-boxes based on spatial-hierarchy - thus Bounding Volume Hierarchy. You can compare how BVH looks (left) in contrast with Octree (right):

Space data structures eliminate potential ray intersection candidates by omitting geometric objects in bounding volumes which are not intersected by the current ray. It's still an area of active research (gpu friendly implementations) - there are many more types (kD-tree, BVH, BIH, Octree, Uniform Grid,..) and it often depends on what you need them for.
Here is link (.pdf) for more reading how BVH works for anyone interested.

Now static vs. dynamic option for view-port:
If you start view-port rendering BVH will be created. When the scene is changed (this counts object movement, geometry deforming, etc.) the static BVH needs to be completely rebuilt resulting in slower update times. But it renders faster. With dynamic BVH only a portion needs to be updated, which results in faster updating but it renders slower.
For rendering only static BVH is used, and the BVH tree can be also cached for faster re-renders (when for example only camera or materials change) or cached for all animation frames for faster re-animations (if that's a word:)


text:
Why does the top displace modifier always switch to the active texture?
Often when modeling I have a need to apply multiple layers of displacement, with each displace modifier using a different texture.  However, every time I go to the texture panel and select one of the textures the topmost displace modifier (and none of the others) switches to using that texture.  I then must go back to the modifier panel and switch it back, which is a royal pain in the neck to do this every time I go to edit a different texture.
Why does Blender do this?  I don't think it is a bug as I can remember it doing this for as long as I have used Blender.

When selecting the texture to edit, you are actually setting the texture to be used by the displace modifier(s) and anything else that was using the texture that was there before you set it.
It's the same with materials:
Say I want to edit the blue material. If I select the blue material with the orange object selected, I'll turn the orange object blue:

Instead, I should select the blue object:

I have to select the blue object.
To "select" a texture being used by a displace modifier, either click the button next to the texture slot in the modifier:

Or in the texture panel, select which modifier you want to edit, instead of which texture:

If you want to be able to edit a specific datablock regardless of the object selection, you can Pin a panel by clicking the pin:

This will prevent that panel from displaying another object's datablocks until it is unlocked again.


text:
How to apply bevel to intersecting edges of a geometry nodes based Difference Boolean
I am trying to have a non destructive bevel on intersecting edges of an object after a difference boolean. I have found that in 3.3. the Mesh Boolean node now has a new attribute called "Intersecting Edges" which sounds like a reference to the, well, intersecting edges of the boolean. But I have found no way of applying the Boolean to this edges. Here is a very basic reproduction of what I am taking about.

One way I have thought is to somehow create a vertex group out of the intersecting edges and then run a Bevel on that Vertex Group.

Is there any way to do something like this?

Your idea to apply the bevel modifier to a vertex group is absolutely correct.
However, the vertex group must be created first, and then you can add the Intersecting Edges to it in Geometry Nodes via the node Store Named Attribute:

(Blender 3.1+)


text:
Blender adds an end joint to any child joint automatically
I am facing an issue with blender armature, I have created a skeleton that consists of a parent joint and a number of child joints, when I export it with fbx file and then reimport it to blender I see blender have added an extra joint to the end of any child joint automatically.

https://blender.stackexchange.com/questions/89975/blender-adds-extra-bones-to-ends-of-armature-when-i-export-as-fbx-or-obj

Blender doesn't add joints, it adds bones, precisely because Blender doesn't work with joints.
Bones are made of a head and a tail, joints are just one point.
When Blender export its bone system to other formats who use joints, it cannot accurately represent the armature as is, because joints are just unique points unlike Blender's bones, every Blender bone will be represented as a joint using the bone's head coordinates. So, in order to preserve the armature look in a joint system, Blender optionally adds bones where there's a naked bone tail, so that in any joint-based program it looks like in Blender.
But in Blender, that will look just like a bunch of new bones. It's nothing harmful on the functionality side, just uglier and messy. If you don't want it, you can disable the leaf bones either during export or import.

Thank you I really appreciate that; I am a new user of blender I have come from maya so messing up these names is my daily routine. anyway, thank you I was worried if it makes problem when they exported to unreal engine.

They shouldn't cause any issue. You might appreciate to export without leaf bones just to have a rig visually more pleasing in Unreal, and maybe have slightly lighter asset files, but that's about it.


text:
Flash on the grid
The problem is that when I turn on edit mod, I see flashes on my model, and later, in these areas when exporting the model, I observe problems with uvmap scanning. Do you know what the problem might be?

Wrong UV? Select the problematic face and check UV map in UV editor. It looks like if it is not completely wrong rotate it 90 °

@vklidu but why, if the texture lies flat and only in places these damn lights?

Brighter color in edit mode can be indicator of face normal direction, that is pointed in opposite direction than others. Search for that ... but I thought your main issue is last image with squeezed texture at that place, so my first comment was pointing to that.

The whole problem was in the second UV map.
In object data properties (green triangle), smart UV has created a second layer. By deleting one of the previous ones, the problem disappeared.


text:
How is it possible to finish drawing the missing polygons in a grid with reference to the nearest vertices?
Can I somehow finish drawing exactly the same polygons in this zone as above ? Perhaps it is possible to somehow pull the edges by snapping to neighboring vertices ?

Go into Edge Select mode. Make sure Snapping is set to Vertex and Snap With > Closest, also enable Auto Merge Vertices.

Then select the edge at the first row you want to fill up. Extrude it with E and move it down to the next row. If you don't have the Snap tool enabled (the magnet symbol) you can hold down Ctrl to temporarily enable snapping. Move the edge so that it snaps to the corner vertex of the next row. Confirm with left-click.

Now extend the edge selection to the edges of the next row and repeat the extrusion and snapping process. Repeat this until all rows are filled up. The Auto Merge Vertices option should ensure that all duplicate vertices get merged during the extrusions.

Snap - Vertex
Snap With - Closest
Tap  E

Hi, thanks for the post. This site is not a regular forum, answers should be substantial, stand on their own, and thoroughly explain the solution and required steps. One liners and short tips rarely make for a good answer. If you can [edit] your post and provide some more details about the procedure and how it works, perhaps add a few images illustrating some steps and final result. See How to write a good answer?, otherwise it may be converted to a comment.


text:
How to make one color attribute for 2 separate objects?
I have 2 objects that I cannot connect to a common mesh, but at the same time I need to paint them together. Can I do this?

It might be easier to paint a common texture both meshes share.

@scurest it might be easier, but I need a solution for just such a task. So I can paint 2 or more objects at once

You can only vertex paint one object at a time. You can join multiple meshes together to one object with Ctrl + J, paint them as one object, then separate them (P in edit mode) and they will each keep the vertex paint. If you have complex objects consisting of many separate mesh parts making them inconvenient to select if joined, you could create vertex groups and assign all single object's geometry to different group for each of your objects so they are easy to select and separate later.


text:
How can I align the model to the axes?
I have a model that I initially started to create not exactly along the axes. I need to rotate it so that the faces go exactly along the axes.
And you also need to find out the angle of rotation of the model relative to the position when it will look exactly along the axes.
Is it possible to do this ? I twisted the model in every possible way, but nothing brought results.

First thing, you are in Global orientation mode, so maybe the local orientation is correct, what does it give if you press Alt R in Object mode?

Or if you switch to Object Mode instead of Edit Mode, what are the values for Rotation in the sidepanel on the top right? It would have been good if you showed a screenshot in Object Mode, too.

hehe, this Q&A is really a testament to how far removed from a CAD software Blender is :)

In Edit Mode, select an element aligned to your desired axes, and Header > Transform Orientations > Create a Transform Orientation from the element, by clicking the little '+' in the pop-up.
In Object Mode, set the Header > Options to affect only 'Origins'
With the object selected, Header > Transform > Align to Transform Orientation.

Now the axes will be aligned to the selected element. Uncheck the 'Origins' option.

Before straightening the object, (AltR) you will be able to read the old rotation from the N panel > Item > Transform > Rotation fields. (Perhaps stash that rotation on a copy)

Presuming that the object's rotation is applied so that Clear Rotation with Alt+R doesn't work, there are probably smart ways to find out the angle of rotation your object is off the axes - but I forgot them (but while I was preparing my answer I saw that @joshsanfelici already provided a good one).
Another way you could get the angle is the following (this method is in case your plane is just rotated on the Z axis and flat in XY): in Edit Mode, select some of those edges of which you want to know the angle.

While still using Global orientation, press E Z to extrude them (up or down doesn't matter) constrained to the Z axis.

Add a new object, preferably one with rectangular sides like a cube. Make sure the Snapping options are set to Face Project and Align Rotation to Target.

Select the cube. Since you only need the Z rotation, lock X and Y rotation in the sidepanel to avoid weird rotations of the cube. Press G to move it towards the extruded faces. With either the Snap tool enabled (the magnet symbol left to the Snapping options) or holding Ctrl for temporary snapping make sure the cube snaps to the new faces.

After confirming the new position of the cube with left-click, the Z rotation of the cube shows the angle to which your mesh is rotated off the global axes.
In my case it showed -16.4° but of course there can be decimal places that might just be shown rounded. The best is to copy the value from the input field to get the exact angle.

Now select your mesh, go to Edit Mode, select all with A, then press R Z to constrain rotation to the Z axis, paste the angle with Ctrl+V followed by minus to reverse whatever value it was and hit Enter. Now your mesh is aligned to the global axes.

I assume that in object mode the model has a straight orientation, so you have to rotate it to align straight lines with the 3D world.
There are many ways you can choose to perform the task, I would use bones.
Go to edit mode, select a vertex belonging to a straight line, press Shift S > Cursor to selected.
Back in object mode press Shift A > Add Armature > Single bone.
In the Armature Edit mode, turn on vertex snapping and snap the tail of the bone to another vertex of the straight line.
With the bone selected in its edit mode, press E, Y, move the mouse, Enter, to extrude a new bone aligned with the Y world axis.
Set the roll of both bones to 0.

Back in Object mode, select the model, Shift select the armature, go to pose mode, select the oblique bone and press Ctrl P > Bone, to parent the mesh to the rotated bone.
Set the rotation mode of the bones to "Euler XYZ".
Select the straight, bone, Shift select the rotated bone, press Shift Ctrl C > Add Copy Rotation bone constraint.
In the bone constraints panel Apply the copy rot constraints.
Back in object mode, select the mesh and press Alt P > Keep transform, then delete the armature object.
In the "N" properties panel you can read the exact value of the rotations involved in the process (in my example 0,0,7.47059 degrees).
If you press then Ctrl A > Apply all transform, you will end up with an aligned model with all its transform values resetted (000, 000, 111).

If you can apply object's transforms, You could go to edit mode, select some mesh elements that have normals in the orientation you would like to match the axis, make Custom Transform Orientation out of them, go to object mode and run C.object.matrix_world = C.scene.transform_orientation_slots[0].custom_orientation.matrix.to_4x4().inverted() in Python Console.


text:
How can I create custom texture coordinates for a volume?
My ultimate goal: I’d like to create procedural cirrus clouds (long, thin, feathery high altitude clouds), ideally shaped fairly directly, e.g. with a curve. There are some very good procedural cloud systems for other types of clouds, but I have been unable to find a setup for realistic cirrus clouds. Part of the key to a realistic result is controlling the wispiness differentially along the “path” of the cloud, as these clouds tend to be puffier at their leading edge, then stretch out and become feathery along the trailing edge, with the feathery strands following the curve of the cloud, which follows air currents, presumably.
I’ve come up with a fairly realistic solution using geometry nodes and the volume cube node (see below), but it’s very slow, even for a single cloud, and my animation requires a dozen clouds or more. The key to making it work is that I’ve essentially created a custom coordinate system that follows the curve of the cloud to control textures differentially along the curve, in order to control wispiness as described in the first paragraph. I’m doing this in geometry nodes by using the spline factor to get the Z coordinate along the curve, and raycasting to extruded horizontal and vertical planes following the curve to get X and Y coordinates.

In theory, I could achieve a similar result more efficiently in shader nodes if I could create or access a similar custom coordinate system that follows the curve, but I can’t come up with a way of doing that in shaders nodes.
I can think of three theoretical solutions. Unfortunately, I can’t get any of them working.

Use existing features of shader nodes to infer a similar coordinate system from a curve or mesh. As far as I can tell, the only texture coordinate system which follows the shape of a curve or mesh is UV, which doesn’t help with volumes.

Use my current method of creating a custom coordinate system in geometry nodes, saving it in some way accessible within shader nodes and doing all the actual texture interpretations there. Unfortunately, geo nodes doesn’t seem to have a way to store any info other than density in a volume. It appears the roadmap for geometry nodes will eventually allow storing arbitrary attributes as new grids in the volume, but this hasn’t been implemented yet. Of course, named attributes are accessible within shader nodes, but they seem to only apply to a mesh surface, not a volume.

Some other method of creating a volume that does allow custom data grids. Any ideas?

TIA for any suggestions!
-Tim Nolte
Maskil Productions Ltd

Very interesting question! Have you ever looked at the EmberGen?

You can view the timings for node by enabling the overlay, https://devtalk.blender.org/t/display-node-execution-time/21375. This will let you find any bottlenecks. I suspect the raycast nodes are the bottleneck, but without seeing the node tree I am really just guessing. If raycasting is the issue, you may be able to use different nodes to get the X and Y coordinates.

Hi Quellenform, yes, I have Embergen. I’m not sure of a way to create arbitrary data grids in VDB exports from Embergen either, though I haven’t looked extensively. Of course, it may be that I could simulate the cloud formation entirely in Embergen, although that would be somewhat less deterministic than using textures in Blender. On the flip side, since feedback is realtime, it does allow quick iteration. I may experiment with that.

Thanks Valalala, I do have node timings turned on. They actually show as very short for the raycast nodes, but I suspect that’s misleading, and is only reflecting the time it takes to call it once. It’s the volume cube node that reports a very long compute time, but I suspect that's because to compute the field used as input for the density of the volume node, it must call the raycasts thousands of times. I’d love to come up with a more elegant solution than raycasting, but haven’t been able to yet.


text:
Object distorting in edit mode
I sculpted an object using a multiresolution modifier in sculpt mode, and now I want to try my hand at retopology. The issue is when I go to edit mode, the object looks nothing like what I created in sculpt mode. It looks fine in sculpt and object mode. Anyone know how I can fix this, or do I have to start from scratch and try to do it without multiresolution?

Maybe duplicate your object and apply the Mutlires modifier on the copy? Also you're talking about retopology, but you need to create a brand new mesh to retopologize, unless you want a remesher instead of doing it manually but it won't give the best result

The Multires Modifier does not deform the original, low-poly mesh. Imagine baking a cake, then applying the icing - the Multires sculpts only that icing on top of the cake. To keep and apply your sculpted Multires details first make sure your Preview, Sculpt, and Render values are the same, then in Object Mode apply the modifier. This should allow your object to reflect all the current changes.


text:
Shading edges Node-setup not working
so I am trying to shade the edges of an object, by taking the dot product of Geometry-->normal and the bevel node. I am on cycles (CPU) on Blender 3.3. I already played around with the bevel radius and the color ramp.
But I don't see any effect on the default Cube (or my model...)
Any help is very appreciated.

You speak of Cycles render engine, but posted a screenshot of material preview, that is rendered in Eevee. Use render preview (with Cycles chosen for rendering engine in render settings) or just press F12 to render.

Hi, I didn't know the material preview uses Eevee. But that is just on that screenshot. The result is the same when rendered or previewed. So that's not the issue.


text:
Separate an object with a mesh face
so I have this car model that I want to separate the rear spoiler. As you can see in the linked pictures, I have selected and duplicate faces that I want to separate it from. I know how to split it with a plane using the bisect tool, but in this case I want to maintain the shape of the rear spoiler.
Any tips would be appreciated!
Thanks

Not sure waht you mean to be honest. The first image appears to show by the outline that the car is a single object and the second one that the spoiler assembly is a single object so presumably you've duplicated it successfully and converted it into a seperate object using 'P' in Edit mode.

The car is one object with the spoiler... In the second pictures, i selected a couple of faces from the trunk to separate the spoiler but it's still attached... Hopefully it's more clear

If you go into Edit mode, hover the mouse over the spoiler and hit Ctrl-L is just the spoiler hilighted? If so you can just hit 'P' > Seperate > Selection, go back into Object mode and the spoiler will be a seperate object. If that doesn't work I suggest you share your file (https://blend-exchange.com/help ) and someone here should be able to have a look and see what's going on.