text:
Driver: How to I create a driver for door lock that is opens and closes base on the door handle angle(+/- degrees)?
I have been trying to create a driver for the doorTypeOneBarBig that will lock it and unlock it base on the rotation of the doorTypeOneHandle. The doorTypeOneBarBig should be in the lock position(push outward) when the doorTypeOneHandle is at 0 degrees. The doorTypeOneBarBIg should be in the unlock position(push inward) when the doorTypeOneHandle is at either 45 or -45 degrees. I have attached the blend file in the link GithubRepoBlendFile. Will someone please download the blend file and take a look at it. I have already spent 5 hours trying to figure it out myself. Please help. ;(

First you need to remove the Limit Location Constraint from your "Bar" object. This prevents it from moving along the Y axis.
Next select your handle, right click into the X rotation and select Copy As New Driver
Right click into the Y location of the "Bar" object and choose Paste Driver. Right click again and choose Edit Driver. Set the Evaluation to Scripted Expression and change it to (abs(degrees(rot))-45)*0.0002-8.626. (Might need to change it if you want exact values). It should look like this :

No need to tweak the F-curve properties unless you want a special interpolation.
Result :

I am blow away. You are a life saver! I am smiling so hard now. I would have never guess to solve the problem by writing a script expression. Thank you. I can finally rest at night. ;)


text:
blender 2.93 and upbge 0.3 (program crashes and then quits when running simulation with navigation mesh
2 scenes (main) and (you lose - return to main)
Three objects (a plain and 2 cubes)
Applied: (Plain - navigation mesh)
(Cube 2 - logic bricks always and steering-pathfinder)
(Run simulation (P) after collision with cube 1, scene switches to - you lose, great so far)
Press mouse click to play again and return to main scene, program crashes and quits.
I have tried with a completely new game setup, but I get the same result, when build navigation mesh is applied.

2.93 is still in Alpha state, if you want, your could report your crash here: https://developer.blender.org/

thank you for your time.

source: Stack Exchange

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

sort: votes


text:
The difference boolean doesn't seem to work on a specific area
I am trying to build a pc in blender and I just updated my blender to 2.91 but the boolean modifier doesn't seem to work as expected on a specific area.I am attaching a video below
https://streamable.com/ovvr7a

The Boolean modifier relies on correctly set normals. Check if your normals are all facing outwards by checking "Face Orientation" in the Viewport Overlays menu:

All the outward faces should be blue. If an object has incorrect normals, you can select all of its faces (A) in edit mode, and Mesh > Normals > Recalculate Outside (ShiftN)

Still not working :C .. I checked the normals and they were as they should be..Blue outside and red inside. Though it was looking like the two faces were overlapping on other areas but it is probably because of the thinness of the case. Should I give you the blend file??

Okay, Thank you very much.. :D :D.. I found a way around..The normals was only the problem so I created a new mesh and then I combined it with the case and now its working perfectly.. Once again thank you very much

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


text:
I want to apply a difference boolean using a collection and not an object
So basically I am pretty new to blender and so far I have finished only 3 projects using some tutorials. Currently I am trying to build a cabinet for pc. I created a cube and also created a collection of objects to be differentiated from the mesh so that I can have holes on the back side of the cabinet(For the air ventilation).
The problem is that I want to differentiate the entire collection. I tried doing it with the Bool Tool but when I click on differentiate it also applies my solidify modifier. The brush boolean thing seems to work but then I have to apply it for every modifier of the brush. Is there any way around this.Also I cant add the solidify modifier after the boolean because it is messing up the mesh
Any help is appreciated
Thank you

@Gorgious Oh really? Thats great then..Will have to update..Thank you very much..Also upload your response as an answer so I can mark it

@JachymMichal Thank you for the response but there is actually no specific screenshot related to the problem.. Also as Gorgious said I will try updating to the latest version.

Starting with Version 2.91 you can use a collection as input in a Boolean modifier.
Warning : The Exact solver can be quite slow when used with multiple meshes. I suggest setting it to Fast first.

and how do I use that in Python?

operand_type="COLLECTION"


text:
Blender 3.0 preferences problem
I've been having this problem since I downloaded blender 3.0 (Final Release). Whenever I try to save my preferences, it shows: "Cannot save preferences" and "Cannot save old file with @".
Due to this problem, I cannot properly use any addons or any other preferences in blender 3.0. I have tried reinstalling blender, but the issue persists. I do not have any blender files with @ in them.
Please help. Thanks in advance (:

I cannot remember where preferences are stored, but perhaps the folder or file is not writable permission.  It sounds like it appended a '@' onto the filename.

@james_t so what am I supposed to do?

You haven't said what operating system you're running Blender under, but Blender's directory layout is detailed here which might help.

@JohnEason I'm running Windows 11 pre-release version

@JohnEason actually I don't understand what am I supposed to do

As far as I know W11 isn't any different to W10 as far as folder permissions and locations are concerned so I'd try to find the userpref.blend file by typing '%USERPROFILE%\AppData\Roaming\Blender Foundation\Blender\3.0' into the Windows Run dialog box and then opening the 'config' directory that it should list.  In W10 Professional that opens fine here so I doubt it's a permission problem. I suspect you'll have to delete the 'userpref.blend' file there to get things running again but that may well delete any layout and theme options you have set up.

Thanks! I will try doing that.

If John Eason's suggestion above doesn't work, I'd recommend bypassing Window's over-protectiveness by completely uninstalling Blender 3.0, making a directory C:\Other Program Files\ , and installing Blender 3.0 in there.  Although doing that with potential malware can be disastrous, I've resolved similar issues with other trusted (IMHO) software in earlier Window's versions back to Vista.

@Kickair8p Yes I've done that for some applications but Blender's setting file are saved to the user's AppData folder by default which is where the problem appears to lie here so I doubt it would make any difference in this case. In fact Blender is installed on my 'D' drive here and the settings file is still saved on 'C' by default.

@JohnEason I tried what you said, and it turned out that the userpref file was 'blend@', but even after I deleted it the error persists.

@KickAir8p Maybe the problem is that I downloaded blender from the Microsoft Store, so instead, it might work if I downloaded it from the website

Well, my problem was actually solved by uninstalling the Microsoft store blender 3.0 version and downloading the windows version of 3.0 from blender's website. Anyways, thanks for your time and help!)

For me, the solution was to download blender 3.0 from its website. I originally downloaded blender 3.0 from the Microsoft Store, which was causing the "BLEND@" file problem. Uninstalling the Microsoft Store version and downloading blender from blender's website solved the problem.
Also, thanks for John Eason's and KickAir8p's help in the comments. The solutions didn't solve my issue but are the primary solutions for most problems like these.

How odd! The '@' character is certainly illegal in windows filenames so I'm not sure what could have caused it. At least you seem to be back in business now!


text:
How to select a collection from the 3D viewport by right-clicking on one of the objects in a collection
Recently, I asked a question about how to select a parent directly from the viewport by right-clicking.
However, this time, I would like to know if it is achievable to select a collection using the right-click menu when I right-click on an object part of the collection, or, if it is possible, just directly right-click anywhere in the 3D Viewport and have an option to select a collection.
In a broader perspective, when using Shift+G, you can select only a collection in a collection. For example, I have some objects in a collection and a few collections in a collection. Is there an option to choose which one (the big one or the sub-collections) I can select from the Right-Click menu in the 3D Viewport or on an object part of the collection?

Select all collection objects (including subcollections) from an object

bl_info = {
    "name": "My Addon",
    "author": "X Y",
    "version": (0, 1),
    "blender": (2, 80, 0),
    "location": "View3D",
    "description": "2 Operators for selecting collection objects",
    "category": "Object",
}

import bpy

class MY_OP(bpy.types.Operator):
    bl_idname = "view3d.collection_objects"
    bl_label = "Select Collection objects"
    bl_option = {
        'REGISTER', # Register – Display in the info window and support the redo toolbar panel.
        'UNDO',     # Undo – Push an undo event (needed for operator redo).
    }
    bl_description = "Select all subcollections of collections and objects"

    def execute(self, context):
        try:
            # access active object, so you need to click on a object first
            obj = bpy.context.object
            # get collection of obj
            coll = obj.users_collection[0]
            # Objects that are in this collection and its child collections
            objs = coll.all_objects
            # select them
            for ob in objs:
                ob.select_set(True)
            return {'FINISHED'}
        except:
            self.report({'WARNING'}, "Something went wrong, operator could not be executed.")
            return {'CANCELLED'}

class MY_OP_2(bpy.types.Operator):
    bl_idname = "view3d.subcollection_objects"
    bl_label = "Select Subcollection objects"
    bl_option = {
        'REGISTER', # Register – Display in the info window and support the redo toolbar panel.
        'UNDO',     # Undo – Push an undo event (needed for operator redo).
    }
    bl_description = "Select all objects of subcollection(s)"

    def execute(self, context):
        try:
            # access active object, so you need to click on a object first
            obj = bpy.context.object
            # get collection of obj
            coll = obj.users_collection[0]
            # Collections that are immediate children of this collection
            children = coll.children
            for c in children:
                for ob in c.all_objects:
                    ob.select_set(True)

            return {'FINISHED'}
        except:
            self.report({'WARNING'}, "Something went wrong, operator could not be executed.")
            return {'CANCELLED'}

def menu_func(self, context):
    self.layout.operator(MY_OP.bl_idname)

def menu_func2(self, context):
    self.layout.operator(MY_OP_2.bl_idname)

classes = {MY_OP, MY_OP_2}
functions = [menu_func, menu_func2]

def register():
    for cls in classes:
        bpy.utils.register_class(cls)
    for fn in functions:
        bpy.types.VIEW3D_MT_object_context_menu.append(fn)

def unregister():
    for cls in {MY_OP, MY_OP_2}:
        bpy.utils.unregister_class(cls)
    for fn in functions:
        bpy.types.VIEW3D_MT_object_context_menu.remove(fn)

if __name__ == "__main__":
    register()

Hello, thanks for the answer! However, is it possible for you to tell me what part of the script to separately add or subtract to give me an option to add an addon for sub-collection only also? Again, thanks!

Actually, it's not that necessary so I accepted your answer. Thanks for the help !)

I have updated, you can take a look.

Thanks a lot (!


text:
Major help needed in detailed waterfall
There are many youtube tutorials on making a waterfall, and a lot of similar answers on this site, but none are as detailed as the one I am trying to make. I hope my question won't be marked a duplicate, because I can't find a similar answer to such a detailed scene. The reference is below:
I am still a intermediate blender user, and I am not able to make anything like this. I started this project a few weeks ago, but even though I tried to sculpt such a landscape there was no luck. Nor did the greenery look good. I tried my best in using detailed smoke and water sims, but it did not work even though I tried one with resolution divisions so high (upto 600 I think) that it took 10 days to bake but with no luck. It is so detailed that I gave up on it after a few days work. I turned to this forum as a last resort. I can't even open that file because it is so heavy so I can add screenshots of my past tries. I hope that this forum is also for such circumstances. I also need help in the lighting and materials of this scene. Thanks in advance!

look at this, https://youtu.be/kQ0x0R_yHrs?t=600 it is a simple and common way to do this kind of thing, as long as it isn't really really close up

Ambitious but way to broad for this site. Recommend split it up into several tasks/questions as we do in the real world (eg. in a studio). You can sit down weeks on siming the waterfall but the sim itself has nothing to do with the vegetation or how to model a rock formation or all that other stuff in the reference. Consider that there isn't much space in the answer section and we can not write a phd into that. Scultpting the landscape is a good idea and that's how you'd approch it. Just to let you know: this is no forum, it's a Q&A site, see: https://blender.stackexchange.com/help/how-to-ask

Ok, thanks for informing, I will delete this one and instead ask the questions one step at a time? First I should ask a question about the terrain, then the fluid, and finally the lighting, am I right?

Yes, think about what's necessary to get there and try to ask manageable  questions, this way it's useful to future visitors too (people having the same question). BSE is some kind of knowledgebase... otherwise you can always try blenderartists.org. Sidenote: Haven't tested mantaflow extensively but I don't think that you can get such quality out of blender (for animation). Hope this helps a bit along the way.

@brockmann Thanks a lot for the information! I will try what you said.

A quick way would be to use a picture of waterfall water and make it slide on the Z axis on an Image Texture with alpha layer: https://zupimages.net/up/21/24/1b2u.gif

@moonboots That would be good for the  main waterfall, byt I won't get good details in the rest of the scene. Anyway thanks for your help!

well, if it's for whole scene, Blender Stack Exchange is not made for a so broad question  ;)

@moonboots Yes, so that is why I am going to ask this question in parts now.

@JBlock Thanks for the information, that and a little more information I learned will be very helpful.


text:
Why is the object not visible while I am moving it - only the origin is shown?
I don't know what I did but now when I click on the blue arrow to move the object up the object stays where it is and the origin moves until I release the mouse button.  Then the object shows its new location. Is there some setting I accidentally turned off or on that does this? The same thing happens for any manipulation of the object (scale, rotation, moving).

maybe you've enabled the Transform > Affect Only > Origin in the Options (top right of the 3D view)?

@moonboots But the ojbect did moved as said in the question.

do you have a physic simulation or animation going on for this object?

Thanks for the tips and your time. I checked 'Affect Only Origin' and it was ok. And i did have a cloth simulation attached. But I am pretty sure it wasn't running. I also saved and reopened the file to see if that helped - it didn't. So I just started a new file and all is well now - I was hoping to discover what I did wrong so i dont do it again.

it's probably the cloth sim (would have been my first question) if there is any data in the cache, it will try to utilize it and sort of ignore your changes until you rebake or restart. Going to frame 1 should solve that.


text:
How to not have cuts in model when moving rig
When I try move and/or rotate the rig for the model, some weird cuts appear in the object like this. Is it possible to not have any and avoid this?
Thanks

Most likely you have disconnected/duplicated vertices in the mesh. Use "merge by distance".

@no-can-do umm, how can i do this? Sorry, I'm kind of new to blender and its functions. Thanks

To "merge by distance" you can find it here https://i.gyazo.com/76eaa3a2413254dab51a4bb00c0a1ef9.png or use the search function (default F3 or space) and typing in "merge by distance"


text:
Unable to select face
I'm following this video tutorial and I'm unable to select the floor (by left-clicking on it) as the instructor does.  I've included a screencap of my UI and it seems to match his.  What am I doing wrong?

It is probably because you have x-ray mode enabled. When x-ray mode is on you have to click the dot in the middle of the face to select it. If x-ray is disabled you can click anywhere on the face and it will be selected.

Aah, that was it.  I'm such a newb.  Thanks.


text:
Why are my renders being rendered by my CPU and not my GPU?
In this screencap you can see I have GPU Compute selected but my rendering is being done by my CPU.  Does the fact that GPU Compute is grayed out mean GPU acceleration isn't available on my card (GeForce GTX1080, supposedly supported by Blender), or are there other configuration issues?  Thanks for any tips.

Yes you are right the GPU is grey means it is not used or supported with your system .I have also this GPU grey

You are enabling Open Shading Language.
Currently it's only support by CPU instruction.
Disable it first.

Please check your preference setting,

Check only GTX 1080 for CUDA device, save the preference and you might need to restart your Blender (most of the time don't need).

I only have GTX 1080 checked under CUDA.  However, under OpenCL it says, "No compatible GPUs found for path tracing.  Cycles will render on the CPU."  Maybe that's the problem.  If so, what's the solution?

Wait? Why OpenCL? Nvidia should go with CUDA selected. OpenCL is for AMD card

Although they look likes tabs, but those are actually toggle options. Cycles will use the active(blue) one  for rendering.

Aah, I must have left OpenCL set after checking all the settings.  If I set it back to CUDA things go a lot faster.  However, while CPU usage drops to around 25%, GPU usage only climbs to about the same amount.  Why doesn't it climb more?  Thanks for getting me this far.

rendering tile size issue,

rendering tile size issue
Not sure what this means.  In any event, it turns out that Windows Task Manager doesn't accurately report GPU usage; you need a third-party app for that.  Using the free GPU-Z I can see that the GPU is, in fact, maxed out.

You can change type of the four chart of the GPU panel in task manager, change one of them to CUDA and you might see a full usage CUDA compute

Aah, yes.  That works, too.  Thanks!


text:
Boolean trouble: union and intersect work, difference doesn't
Newb here.  I'm going through Blender Guru's intermediate tutorial and have roughed out an anvil.  I've created a cylinder to subtract form the side of the anvil using a Boolean difference modifier.  The modifier is having no effect, though switching it to union or intersect causes it to do what it's supposed to.  I've confirmed that all normals are pointing out.  I'd attach the file but I don't see any way to do that (screenshot of what I'm looking at below).  Hopefully my description is enough for someone to point me in the right direction.  Thanks.

hello, please share your file: https://blend-exchange.giantcowfilms.com/

Thanks.  Here's the file:

You have overlapping vertices that prevent the boolean, select your anvil, go in Edit mode, press Alt > M > Merge By Distance, and it will work.

Yup, that did it (though Alt-M brought up the Split menu; I had to do it form the Mesh menu).  Thanks.  How could you tell there were overlapping vertices?

I hid some faces and discovered some floating edge, but anyway, it's always something you can try when a boolean fail


text:
How do you select an edge loop in geometry nodes?
I want to move an edge loop (marked blue in the image below) along the x-axis. Is there a way to select an edge loop in Geometry Nodes?

Do you want a solution to this specific scenario or to be able to select an arbitrary edge loop in an arbitrary mesh ?

I imagine if I have the solution for this scenario, I might expand the idea across other projects. The problem is I don't have a fundamental idea of selecting an egde loop  (or face loop for that matter.). Give me what you think is best to learn.

In Geometry Nodes there is no node that says "Select this or that edge loop" as you know it when editing your mesh in Edit Mode.

...the only possibility you have with Geometry Nodes is to select the points or edges by their indices.
You have different ways to get to these indices, but it basically depends on the topology of the mesh.
If you use a mesh primitive like in this example, the matter is easily solved with a little logic, since the order of the points/edges is always continuous and traceable.
However, if you use a self-made or more complex mesh, this does not help you, because then the order of the indices is usually wildly jumbled, and thus no logical selection can be made.
In this case you would have to check point by point whether the index meets your criteria or not.
Selection of edge loops in a grid:

In each case you have to find out or know how many points one of the two sides consists of, because only then you can select a certain row. Of course, this is different for rectangles and squares. With a rectangle you must know at least the number of points of one side, with the square the values result from the square root of the number of the total points:

With this value for the number of points of a side you can now create a selection.
Instead of tinkering with Modulo here, the simpler solution is to use Snap instead!
Snap "rounds the input value down to the nearest integer multiple of Increment ".
Increment in this case is the number of rows.
Depending on which direction you want to select, you directly compare the index of the current point with the result of Snap, or multiply the index again by the number of rows and then compare:

This logic can be applied to all grids that are either rectangular or square and created with Geometry Nodes or that have continuous indices.

Here is the blend file:

Good work, sir! thanks

The problem is not solved satisfactorily. I think I want to leave it open.

@EdwardSerfontein If this update doesn't help either, then there is a serious problem with your grid ;-)

Thank you for the update. Very informative and well explained. I think I phrased my question wrong. These methods all do work. But they are complex and the effort does not justify the selection of a loop/s. I am aware that almost everything in geometry nodes requires more effort to do compared to traditional methods. I think loop selection sits at the extreme end. I was hoping someone would post a simpler means. Thanks again for your efforts. I do appreciate.

@EdwardSerfontein Geometry nodes don't offer a solution for every problem, of course. It is only one approach of many, and it always depends on how procedural you want to make your scene. btw: With Chris's answer you don't get a selection for an edge loop. ;-) ...So if this answer still doesn't answer your question, then it would be good if you could modify your question again.

Thought I would add another answer to this since I find it so useful

one very tedious way to do that is use the vertex indices like this:

I would not say it's tedious, I'd say it's a way to select specified vertices. This method becomes tedious only as the number of vertices in the mesh increases. Nevertheless, thank you for your contribution. I was however hoping for a different solution.

You could also combine both Quellenform and Chris's answers and move the edge loop using a Set Position node like Chris mentioned but also use Quellenform's edge loop node setup.
1) Original setup

2) Edge loops moved

3) Animation:


text:
How do you select a single face on a cube in geometry nodes?
This is a very simple question that I cannot seem to find an answer to online. All I want to do is make a selection of a single face in a mesh to apply a material to it. The example image shows a red cube with its GN setup. How do I make that only one face of the mesh is red?

Select faces by index.

Select with distance to another object's geometry.

What would be the node setup for a manual input to select multiple faces? It would be convenient I think to be able so specify it like "0, 1, 2" or perhaps more programmer's style: [0,1,2] to select the faces with equivalent index.

@MikedeKlerk Unfortunately it's not possible to use programmatic expressions of this kind in GN (yet). The way to do it would be to chain "AND" boolean nodes and "EQUAL" compare nodes

what is the equal node

@stackers Utilities > Math > Compare node


text:
How to break temporarily from loop in repeat zone
Here is a simple node setup. With each iteration, it generates an ico-sphere and places it 2 units to the right. What if I wanted only the 3rd ico-sphere to be placed 3 units to the right? How would I do that without changing the position of the other ico-spheres?

This sounds like a wrong way problem. That is, you have a bigger picture in mind, and you’ve incorrectly decided that this is the best way to do it. There is a way to do this, but it’s not going to be very flexible. What is your ultimate goal?

I am working on a node setup to mimic music notation software. I have a node group that allows you to generate a note, and select its parameters like note length, note pitch, accidental, and dynamic. I could probably duplicate the node group and assign its parameters to create the next note. But it would be nice if I could generate the group in a loop and change the parameters as I go. I don't know if I make sense.

You can't break repeat zones like you can do in programmation. You could add a field that represents the x-position. At each step, you either add 2 or 3 depending on some conditions. Overall, I'm not sure I understand what you are trying to achieve. (It appears it's what you have already done ?)

You can use a switch node and the iteration property of the repeat zone to isolate the third icosphere.

the switch could control the offset being 2 or 3


text:
How do you import musical symbol fonts into geometry nodes string to curve?
I want to animate music notation. There are several music notation fonts available: Bravura
Petrucci, Leiland, etc. But when I open these fonts in blender, I do not see any music symbols.

This is because the characters in the font to represent musical notation are not at the alpha-numeric character mappings in the font.
To enter non-alphanumeric characters in Blender:

Find and open a character selector program (usually a built-in OS tool or at least an official desktop app).
Pick your musical notation font. The character selector may not support arbitrary files, so the font may need to be installed on your system first.
Find the musical notation symbols you need in the font’s full Unicode table.
Exact functionality depends on your character selector and OS, but you should be able to pretty easily copy-paste them into Blender.

Note: The characters may show up incorrectly in the node text entry field when you paste them, as Blender is not using the music notation font for its UI; only the rendered text. The text curves visible in the 3D Viewport should show up correctly.

You could also use "Replace String" nodes to replace readable characters with the notes.

Works 100%! Thank you LabCat


text:
Is it possible to translate/rotate the camera in geometry nodes?
I tried some obvious ways to control the camera in geometry nodes:

I created a geometry node group from an object and dragged the camera into the node group. Only when the camera node is set to 'instance' does it allow you to control the created instance but the camera view remain from the original camera's perspective. I also added the Active Camera node but it didn't change anything.

Then I tried to link the camera to an object so I can control the camera through the object. It worked when you translated or rotated the object in the view port but when you control the object with geometry nodes, the link between the object and camera is ignored.

How do you solve this problem?

As you can see in your second attempt, the object's origin does not move itself.
Instead of parenting at the object level, you can parent at the vertex level.
Select the camera, then select the object (the cube), enter edit mode and select three vertices of the cube.
Then make vertex parent CtrlP.
Now you can transform the geometry of the cube using transform geometry node and the camera will follow.


text:
Random values in Repeat Zone
I want to randomize the position of each cube in the repeat zone across the x and y plane. It appears the random value node cannot be used in the repeat zone. I understand there are alternative ways to randomize the positions, e.g. I can use instancing instead of the repeat zone. However, for the specific animation I want to create, the cubes need to be generated iteratively, not instanced. In short, I need to use the repeat zone. Is there a way to get the random value node to work in the repeat zone? And if not, is there an intuitive explanation as to why it is not possible?

Here is the requested "intuitive explanation": https://blender.stackexchange.com/questions/274557/why-is-there-a-red-line-when-i-try-to-connect-one-node-to-another/

There are 2 problems here:

Randomness in software is generally "pseudorandom". You take something as a seed, and transform it in a way it's impractical to predict the result. In Geometry Nodes the "random" nodes are additionally deterministic, because they don't use system time as part of the seed, therefore running the program multiple times will generate the same random number each time (as long as the program is not modified). This means on each iteration of a repeat zone, you will get the same values from a "random" node, until you figure a way to modify the seed on each iteration.

"Random Value" node outputs a field, because it gets a field input hidden in the "ID" socket. A field cannot be connected to sockets that don't accept fields, and that's why you get a red link (nothing to do with a repeat zone). You can override it with an explicit non-field input like here (notice the warning about a fixed bug).

You can hit two birds with one stone by connecting Iteration to ID:

Imgur mirror (SE image hosting has problems)


text:
How do you apply a material to a specific set of faces on an object in geometry nodes?
I created this cube with the letter "R" cut into it with a mesh boolean node. I want to apply material to a specific part of the letter "R" as marked in blue. I tried using the index node with a compare node but the selection is erratic.


text:
Create spiral with mesh line in geometry nodes
Is it possible to take a line mesh, plug it into a 'set-position' node and use a mathematical equation to shape the line into a spiral?

I'm working on a tutorial to show the different ways you can shape a mesh, e.g y=mx+c, y=ax^2, sin t, etc.

of course you can!
here is the node setup:

Chris, you are amazing, man!

thank you!!!!!!

Thank YOU, sir.


text:
How to limit changes on a mesh according to axis in geometry nodes
I deformed a grid mesh in the shape of a curve using the set position node. Now I want to limit the deformation only to the part of the mesh that is on the left of the y-axis. That is, only the vertices that have negative x values. The rest of the grid should remain a normal plane. I tried using the minimum, maximum, greater-than, and less-than math nodes but it does not really have the effect I want. I think I'm not placing them correctly in the node tree. Kindly assist.

If you want to affect only those parts of the grid that have negative X values, you have to use Selection in the Set Position node.
The criterion has to be X < 0. Since you already have a Separate XYZ node you can simply plug a Less Than math node after the X output and plug the result into the Selection input.

Thank yo, Gordon. Exactly what I need!

@EdwardSerfontein You're welcome. Would you mind accepting the answer then? ;)


text:
How to add/remove edge loops in Geometry Nodes?
There is no loop cut node in Geometry Nodes. Is there a workaround to add loop cuts/edge loops in GN?

One possibility https://youtu.be/q2JqOVp-mEo

Actually, you can do it with limitations. Add Merge by distance node to the end if you want to merge vertices.

Note: This answer may no longer be up-to-date for Blender 4.0+. Even if there is still no satisfactory/simple solution for this problem, there may be (computationally expensive or useful for some use cases) alternatives.

This time, unfortunately, the answer is: No, it does not work.
With Geometry Nodes you can only subdivide an existing mesh with the nodes Subdivide Mesh and Subdivision Surface. However, neither of these nodes provide any way to specifically subdivide or split in certain areas.
The only other possibility would be to build two (or more) completely new meshes, but this would not be procedurally feasible at the moment due to the multitude of possibilities.
Therefore, this question has to be answered unsatisfactorily, and I'm afraid this won't change in the future.

here is another approach and it does work on 4.0.2

Could you please explain a little about what exactly you are doing here? Because without an explanation and without a blend file, I'm afraid this answer is not very helpful for others. Thank you for your understanding!

right, so this GN setup does loopcuts on 3 axis, you can add multiple nodes destributed on even distance with control over starting point, or you can add single loopcut and control starting point and axis. This GN also quite heavy if you wanna chop cube in hundreds loopcuts, however at the end this does the job.


text:
How can I make an object's tip position exactly where the IK controller bone is?
So I have this robot leg I made. This is the current setup I have
The selected bone is the IK controller bone. When I tried to move the IK bone to the 3D cursor in edit mode I get this.
So as a work around I instead created 2 bones. The upper one has a copy transforms with the lower one as a target.

This works kinda fine but I wanted to know if there is a way to make it so that the IK bone is always on the lower part of the leg. For example when using my rig ( I moved the controller IK slightly up and to the left) I get this

What I want is for the controlller IK to always be within the highlighted region, is this possible?

I think it would work if you just added bones all the way down the leg, terminating at the IK control.

You should probably clarify your question, It's a bit confusing.

Add one more bone from top controller to bottom:

Add new IK to it with target to bottom controller and chain length 1

Finally, reparent this part of leg to this bone


text:
Blender can't see through glass because reflections are too hard
I have this mesh

When I add glass on top of it I can't see through it when I'm at an angle.

The glass material is an extremely basic one.
How can I make it that the glass acts more naturally?(more see through less reflection)

I was able to fix it by giving the glass thickness with the solidify modifier.

also maybe mix the node with a Transparent node?


text:
How to reverse camera direction tied to a path?
I have tied a camera to an invisible box.
Next I have tied the box to a path.
After adding key frames the camera inside the box moves through the path.
However, at some point of the animation, I would like the camera to "reverse". That is, I'd like the camera to follow the path as previous, but I'd like it to rotate to point to the other direction.
The illustration shows more precisely what I want to achieve. The camera circles around, rotates to point downward and goes up (zoom out from the plane).
Red - camera orientation
Black - camera movement
When I add a key frame on the box, or camera, Blender seems to ignore my settings. I suppose because box and camera are tied to the path.

Drivers, Fixed Postion and Offset Factor.
99% of the time when using follow path, I don't bother with the parenting option, I rather just add the constraint and use fixed offset.  Doing such allows me to animate the offset factor.  0 being the start of the curve, 1 the end.
Trig.

This one I've used some trig to drive the local Y rotation of the camera.

The inverse sine of 0 is 0 and of 1 is 90 degrees, so will double it. Negating it makes it spin inside my curve.  Both blender and the math methods (like asin) use radians so there is no need to convert.  If using "self" in drivers, the object being driven is self.  The path can be grabbed from the constraint by right clicking over a field and "Copy Data Path"  which yields the data path from self.
constraints["Follow Path"].offset_factor

-2 * asin(self.constraints['Follow Path'].offset_factor)

Discrete change.
For this one have made the camera flip pi radians (180 degrees) instantly it hits the half way mark.
pi if self.constraints['Follow Path'].offset_factor > 0.5 else 0

Create the curve.
Add the cube, create a constraint for it: Follow Path, enable "Follow Curve" and click the "Animate Path" button.
Add the camera, parent it to the cube. At the beginning of the scene, set it to point along the path. Set a Rotation keyframe for the position before the camera should 'reverse'.
Go to the frame / time when you want the camera to rotate, add a second Rotation keyframe to the camera.

Example file below:


text:
I can't get good displacement on my donut!
I'm a noob Blender user following BlenderGuru's donut series. I'm on the part where he does displacement, but it just doesn't look as good as his. Mine isn't horrible, but its definitely not good.
What I'm Trying To Get:

My Donut Nodes:

My Donut Finish:

My Donut Mesh:

Besides the displacement part the donut is fine with me, so that's all I need fixing right now. I have tried using a subsurface modifier, but that made it look weirder if anything. Any help is appreciated, and I'll give more pictures as requested.

Hello :). What exactly aren't you happy with? "Not great, not terrible" isn't very specific :)

Two things stand out to me.  The color ramp on the bottom noise texture is probably generating the more "spiky" feel of your example.  On the top noise texture, a scale of 1500 is... quite a lot.  It may be too fine to do much to this geometry, even as dense as it is.


text:
Install blender 2.79 in Ubuntu 20.10
i got a raspberry 4B 8GB. and in the Raspbian OS Blender 2.79 works super fine. But the OS performance its terrible. So i installed Ubuntu 20.10 and came with Blender 2.83 but DOESN'T RUN, so i want to install the 2.79 version but doesn't exist in the Ubuntu Repository. So. How i can install Blender 2.79 without call Blender 2.83 instead?
Thanks a lot


text:
How to export model with custom material?
this seems like such a simple "just google it" thing, but nothing I've found has worked for me.
I have a model with a custom material that I want to export into Unity.

I've applied an image onto the model using the Diffuse BSDF shader and setting the Image Texture under color, and it looks fine in Blender (fine for my horrible standards), but when I export to fbx it's just a gray colorless model, even if I follow the advice of setting 'Path Mode' to 'Copy' and checking 'Embed Textures'.
Some people say to bake but I haven't been able to figure out how to make that work either.
Thank you

Try using a Principled node instead of Diffuse and hook the texture up to the Base Color. See Import & Export of Node Shaders.


text:
Re-arranging verticies
I am trying to re-create some form of a terrain generation, but in Blender, so it can be rendered out. The terrain is somewhat voxelated which I don't really like, so I am trying to find a way to move the vertices of a block so the overall terrain can be smoother.
Noise gen (I found on Github):
import numpy as np

def interpolant(t):
    return t * t * t * (t * (t * 6 - 15) + 10)

def generate_perlin_noise_2d(
        shape, res, tileable=(False, False), interpolant=interpolant
):

    delta = (res[0] / shape[0], res[1] / shape[1])
    d = (shape[0] // res[0], shape[1] // res[1])
    grid = np.mgrid[0:res[0]:delta[0], 0:res[1]:delta[1]] \
               .transpose(1, 2, 0) % 1
    # Gradients
    angles = 2 * np.pi * np.random.rand(res[0] + 1, res[1] + 1)
    gradients = np.dstack((np.cos(angles), np.sin(angles)))
    if tileable[0]:
        gradients[-1, :] = gradients[0, :]
    if tileable[1]:
        gradients[:, -1] = gradients[:, 0]
    gradients = gradients.repeat(d[0], 0).repeat(d[1], 1)
    g00 = gradients[:-d[0], :-d[1]]
    g10 = gradients[d[0]:, :-d[1]]
    g01 = gradients[:-d[0], d[1]:]
    g11 = gradients[d[0]:, d[1]:]
    # Ramps
    n00 = np.sum(np.dstack((grid[:, :, 0], grid[:, :, 1])) * g00, 2)
    n10 = np.sum(np.dstack((grid[:, :, 0] - 1, grid[:, :, 1])) * g10, 2)
    n01 = np.sum(np.dstack((grid[:, :, 0], grid[:, :, 1] - 1)) * g01, 2)
    n11 = np.sum(np.dstack((grid[:, :, 0] - 1, grid[:, :, 1] - 1)) * g11, 2)
    # Interpolation
    t = interpolant(grid)
    n0 = n00 * (1 - t[:, :, 0]) + t[:, :, 0] * n10
    n1 = n01 * (1 - t[:, :, 0]) + t[:, :, 0] * n11
    return np.sqrt(2) * ((1 - t[:, :, 1]) * n0 + t[:, :, 1] * n1)

def generate_fractal_noise_2d(
        shape, res, octaves=1, persistence=0.5,
        lacunarity=2, tileable=(False, False),
        interpolant=interpolant
):
    noise = np.zeros(shape)
    frequency = 1
    amplitude = 1
    for _ in range(octaves):
        noise += amplitude * generate_perlin_noise_2d(
            shape, (frequency * res[0], frequency * res[1]), tileable, interpolant
        )
        frequency *= lacunarity
        amplitude *= persistence
    return noise

Terrain creator:
p = generate_fractal_noise_2d((256, 256), (8, 8), 5)

import bpy

file_loc = 'file/dir/object.obj'
for x in range(20):
    for y in range(20):
        h = p[x][y]
        if x < 1 and y < 1:
            imported_object = bpy.ops.import_scene.obj(filepath=file_loc)
        else:
            bpy.ops.object.duplicate()
        block = bpy.context.selected_objects[0]
        block.location = (x*2,y*2,h*10)
        print('Imported name: ', block.name, x, y)
```

Please provide a runnable version of your code, ideally with a .blend as a setup

Displace a grid.

By nature  moving an imported obj by the noise result is going to look voxelated.
Could instead simply displace the matching z coordinates of a grid by the noise. (Akin to using as a displacement texture)
import numpy as np
import bpy

def interpolant(t):
    return t * t * t * (t * (t * 6 - 15) + 10)

def generate_perlin_noise_2d(
        shape, res, tileable=(False, False), interpolant=interpolant
):

    delta = (res[0] / shape[0], res[1] / shape[1])
    d = (shape[0] // res[0], shape[1] // res[1])
    grid = np.mgrid[0:res[0]:delta[0], 0:res[1]:delta[1]] \
               .transpose(1, 2, 0) % 1
    # Gradients
    angles = 2 * np.pi * np.random.rand(res[0] + 1, res[1] + 1)
    gradients = np.dstack((np.cos(angles), np.sin(angles)))
    if tileable[0]:
        gradients[-1, :] = gradients[0, :]
    if tileable[1]:
        gradients[:, -1] = gradients[:, 0]
    gradients = gradients.repeat(d[0], 0).repeat(d[1], 1)
    g00 = gradients[:-d[0], :-d[1]]
    g10 = gradients[d[0]:, :-d[1]]
    g01 = gradients[:-d[0], d[1]:]
    g11 = gradients[d[0]:, d[1]:]
    # Ramps
    n00 = np.sum(np.dstack((grid[:, :, 0], grid[:, :, 1])) * g00, 2)
    n10 = np.sum(np.dstack((grid[:, :, 0] - 1, grid[:, :, 1])) * g10, 2)
    n01 = np.sum(np.dstack((grid[:, :, 0], grid[:, :, 1] - 1)) * g01, 2)
    n11 = np.sum(np.dstack((grid[:, :, 0] - 1, grid[:, :, 1] - 1)) * g11, 2)
    # Interpolation
    t = interpolant(grid)
    n0 = n00 * (1 - t[:, :, 0]) + t[:, :, 0] * n10
    n1 = n01 * (1 - t[:, :, 0]) + t[:, :, 0] * n11
    return np.sqrt(2) * ((1 - t[:, :, 1]) * n0 + t[:, :, 1] * n1)

def generate_fractal_noise_2d(
        shape, res, octaves=1, persistence=0.5,
        lacunarity=2, tileable=(False, False),
        interpolant=interpolant
):
    noise = np.zeros(shape)
    frequency = 1
    amplitude = 1
    for _ in range(octaves):
        noise += amplitude * generate_perlin_noise_2d(
            shape, (frequency * res[0], frequency * res[1]), tileable, interpolant
        )
        frequency *= lacunarity
        amplitude *= persistence
    return noise
# lightweight test
#p = generate_fractal_noise_2d((16, 16), (2,  2), 3)
p = generate_fractal_noise_2d((256, 256), (8, 8), 5)
print("-" * 33)
i, j = p.shape
scale = 0.5

bpy.ops.mesh.primitive_grid_add(
        x_subdivisions=i,
        y_subdivisions=j,
        size=10,
        )

grid = bpy.context.object

for v in grid.data.vertices:
    v.co.z = scale * p[v.index // i][v.index % j]

Please note, have used a loop by way of example, in a rush (off to the vet)  and will get back
Far quicker to  use
grid.data.vertices.foreach_set("co", flat_array)

and set with  a ravelled list of coordinates
[x0, y0, z0, x1, y1, z1, ....]

eg making x and y with linspace or meshgrid, then slicing in z as shown in https://blender.stackexchange.com/a/172973/15543 is according to stackoverflow link quickest way to ravel.
Note blender has a perlin noise generator as well, will also try and find link re this.


text:
How to make an object morph into a cloud?
I want to make an animation where a ghost slowly morphs into a volumetric cloud. What's the best looking way to do that?

Shape keys definetely: https://www.youtube.com/watch?v=YDu6y_2jFg0&ab_channel=SouthernShotty

Hello and welcome. As it stands this question is not answerable at the moment for lack of essential details to understand the issue. Remember only you have access to your scene, so unless you tell us only you know your exact setup. Please describe in detail what your issue is, possibly supported by some reference images of what effect you are trying to achieve with the [edit] button under the post. Editing will automatically put it up for review so it can be reopened.


text:
How to add color based on height of a single geometry nodes mesh

what can i do to get a effect like this https://www.youtube.com/watch?v=F1kBax6Z8s4 . i have made the animation in geometry nodes . how can i then affect the opacity of the single letters according to the position on the y axis
(note: this is in blender 3.0.0 branch D11522)

you could do it in the shader editor....

https://i.sstatic.net/81vlZ.png if i did something like this it just affects the position of the whole object is changed . how can i do it

Add Geometry node instead of Object info. You can also use a Math>>Divide node to extend the range.

i think this is more related to geometry nodes i dont to to have a gradient but a solid colors on the individual islands i think i need to output one of the vectors from geometry nodes to the material editor


text:
How to drive a node group in Geo Nodes Blender 2.9.3a?
I’m struggling with geometry nodes. I had a node group that generates a flower-like object based on parameters. Each copy of the node group generates a separate set of geometry which I can join to generate output. But I want to drive the node group from within another one; I want to create geometry, like a grid or a specified mesh, and have each vertex run the Parameterized Flower node group with a different set of params — some math on the vertex position for the group’s Translation param, an index number for the number of petals or one of the other input params, etc.
When I wire up my node group, the output is Geometry. But the Point Instance node in the outer group only accepts objects or collections (the yellow arrow in the screenshot), so I have to manually duplicate the node group and send its output to a Join Geometry node:

This defeats the purpose — I want the duplication to be generated. I’m looking for a way to only have a single copy of the Parameterized Flower group generate a separate, unique object at every vertex on the supplied geometry.
How do I get there from here?

It's not possible to instantiate geometry that's not tied to another object in the Point Instance node at the moment, but it is planned for a future version. It is a known limitation right now.
As a workaround you can use a collection with pre-generated objects and uncheck "Whole Collection". Tweak the node seed to randomize instances. Each element of the collection should have equal chances to be instantiated. I think weights similar to the particle system settings are planned.

And there's no way to convert the output of Point Instance to generate a new object rather than Geometry output at the moment -- I think I see the problem. Well, that's a major blocker for the work I want to do, which relies heavily on sending parameters to subroutines to generate variations on geometry. I guess I'll go back to Sverchok and Animation Nodes for now and see if I can get any further. Thanks for the feedback


text:
Enabling OpenCL GPU rendering for Cycles on Linux?
I followed the answer on this question for blender 2.7x, but I still don't see the option to enable GPU rendering for cycles, as shown in this screenshot:

I'm using an RX 560 on Debian 11

contrib non-free enabled in my sources.list
CYCLES_OPENCL_SPLIT_KERNEL_TEST=1 inside /etc/environment
ocl-icd-opencl-dev installed

How do I enable GPU Cycles rendering?

Did u use blender form main website not that form debian repository ?

I'm using the one from the debian repos. I just tried the blender build from the main website and it's the same thing

To enable opencl on linux working with blender, the only way is to install the official amd-pro driver, or, as I did, only the opencl part.
Unfortunately, the only Linux distro officially supported are:
RHEL 8.0 / CentOS 8.0 and 7
Ubuntu 18.04.3 (and derivative) (so, all the kubuntu, xubuntu, lubuntu etc and mint)
SLED/SLES 15 SP1 (and opensuse leap)
So, with Debian You are in a bad spot, unless You play around quite a bit

or manjaro - arch , just installing the amd-gpu opencl package from aur repositories. So far, for me, the easiest solution to have new software version and everything running without much hassle

I tried playing around with the amd-pro driver, but amdgpu-dkms fails to compile on the 5.2 kernel with Debian. :(

I figured out how to install amdgpu-pro on Debian! I'll post an followup answer shortly.

The amdgpu-dkms fails to compile with the (5.2) kernel in Debian testing, but works with the (4.19) kernel in stable. In order to install the AMD pro driver, a kernel downgrade would be necessary.
Downgrade the current kernel to the kernel available in stable
Running sudo apt edit-sources
Add the stable repository:
deb http://http.debian.net/debian/ stable main contrib non-free

Only apt pin the kernel to stable
To prevent other packages downgrading to stable, we will only pin the kernel to the stable branch.
Create a new file /etc/apt/preferences.d/kernel with:
Package: linux-image-amd64
Pin: release a=stable
Pin-Priority: 950

Package: linux-headers-amd64
Pin: release a=stable
Pin-Priority: 950

and /etc/apt/preferences.d/apt-branches with:
Package: *
Pin: release a=sid
Pin-Priority: 700

Package: *
Pin: release a=testing
Pin-Priority: 650

Package: *
Pin: release a=stable
Pin-Priority: 600

For Debian to recognize the repositories, we will need to refresh the package list:
sudo apt update

Once this is done, the kernel and headers in stable can be installed:
sudo apt install linux-image-amd64/stable linux-headers-amd64/stable

Installing the AMD-Pro driver
Download the proprietary AMD-Pro driver here.
Unpack the downloaded driver
cd ~/Downloads
tar -Jxvf amdgpu-pro-YY.XX-NNNNNN.tar.xz
cd ~/Downloads/amdgpu-pro-YY.XX-NNNNNN

Install the AMD-Pro driver by running to provided script:
./amdgpu-pro-install -y --opencl=pal,legacy

Note: The command above installs the base kernel and all the Pro Components. See the documentation here for installing only parts of the AMD-Pro driver.
After installing the AMD-Pro driver, restart blender and the option for OpenCL rendering with the GPU should be available in the user preferences.


text:
What's the difference between using eevee and cycles for video editing and rendering?
I understand that they are two completely different rendering engines that have their own ways of rendering the 3D world (See already answered question "How does Eevee work"), but...

Is there a difference when using blender as a video editor?
Is there a difference in performance and/or speed when using one engine vs another for rendering videos?
Is eevee the preferred render engine for video editing?

Note: This is regarding the video editing aspect of blender, NOT about the 3D aspect.

I dont thing none of those does the job, but I couldn't find any info. So, from my knowledge - there isn't a difference (what engine is set to render 3D) for VSE's image processing. BTW here how eevee works https://blender.stackexchange.com/a/120378/2214


text:
Can a custom optimization code be added for doing accurate mesh deformation simulation in Blender?
I am interested in doing a crash test on a motorcycle using my own optimization code. I typically use engineering software such as ANSYS do perform CAE. I would like to know if Blender is equipped well to take in custom python code for accurate simulation of crash test at the industrial level?
The following is the paper I want to use to optimize geometry and the perform crash test in Blender.
https://www.dynalook.com/conferences/12th-international-ls-dyna-conference/optimization-metal-forming18-a.pdf

Your question is a bit too broad.
Whether Blender will support your needs depends on many things, including what you mean by "equipped well", "accurate simulation", and "at the industrial level". It's certainly seen use in a wide variety of industrial applications.
Blender will give you an extremely flexible interactive 3D environment to display and examine results, and many other useful features, all fully controllable using Python. As a starting point, you may want to familiarise yourself with the mesh data sections of the Python API to see if it will give you what you want. https://docs.blender.org/api/current/index.html
Beyond that, Blender doesn't necessarily have the sort of physics solver functions you may be accustomed to from other software. Your code, whatever it is, might need to do more of the the physics 'heavy lifting' by itself, than perhaps you would have to do in a more dedicated scientific computing application.
Still, plenty of people have done FEA-type work and presentations using Blender before. Many of those have utilised/included numpy for calculations. There are Blender Conference talks from past years available on youtube - for example, on rendering supernovae, medical implant design with FEA testing stress/material forces, and others such as flood prevention design using Blender's built-in fluid sim, which in that case was adequate for their needs.
Blender's built in physics (eg rigid/soft body) solvers are primarily designed for graphics / speed-priority applications. So in terms of your crash test, you might determine that you'd need to solve the physics yourself. Again, this completely depends on what you mean when you say 'accurate simulation', and how critical scientifically accurate physics sim is to your project.
(edit: further response to follow-on comment):
Addressing what I meant about 'accuracy':
The various 'scientific'/engineering specific software, with serious academic/industrial applications, very much focus on real-world accurate integrators which minimize error (for example). This is one strong reason for using those sorts of programs.
Blender may not be that. Its integration methods might destabilize or constraints might blow up, as they're designed for speed (graphics/animation application) rather than low-error 'reality-proof' solving.
I don't know this for sure as I've not read that much of the source code. I would say that, to make your decision on how usable it is, you may need to check that yourself (if it is a concern).
But Blender will let you do that sort of computing within it, if you treat Blender as your 'display tool'. You can attach custom fields and enrich the mesh data any way you like from Python - so attaching all the metallurgic parameters is pretty simple, and that can then be linked to shaders.
Where exactly the division point between your simulation and Blender's provided functionality ends up being will just depend on how much your program itself needs to worry about. I would suggest you may need to do some 'toy example' proof-of-concept tests first, to find out if Blender will do what you need, to avoid finding unforeseen limitations later. Of course a major benefit is the open source code and documentation, meaning you can debug/directly check what Blender is doing under the hood, should you need to.

This is great insight. By industrial standard i meant engineering way,such as first specifying property of the material in mesh such as yield / tensile strength, fracture strain etc. By accuracy I meant in an abstract way as to properly define accuracy I will have to conform to some standard, so lets say if someone had done comparatively deformation using Blender simulation and industrial level software package such as Ansys, LS-Dyna, Abaqus etc.

Ok, this clarifies a lot. So the notion I got is that if i code the required accurate solver, my own mesh subdivision method, my own scalar field, add accurate optimizer and dont rely on Blender supplied physics engine and essentially use Blender as a mere display tool then it might be possible. Well thats a good head-start then.

Also don't take my word for anything. While fact checking for this, I also came across some discussions which may be relevant to your research into this too. There's a blender dev talk link discussing volume mesh support that leads into it (and it also links to an addon by user tkeskita on github for doing unstructured grids in blender and using OpenFOAM). The devtalk link is https://devtalk.blender.org/t/blender-extension-for-volume-meshes/5335


text:
After changing my voxel size from .03m to 1m, my mesh sculpture disappeared and I don't knowhow to get it back. How do I fix this?
I am relatively new to blender so I'm hoping this will be an easy fix... I was sculpting a samurai mask with my Voxel size at .03m but then I changed it to 1 m and my mesh dissapeared. I tried changing it back but it is not re-appearing again. I've tried like hell to find an answer on how to fix this, but to no avail. Any help would be greatly appreciated!

Try uploading some screenshots of the problem in question, it will improve your question.


text:
How to extrude from a square shape to a circle shape?

This is roughly the shape I want to make but in 3D. I want to extrude some shape, e.g. a plane, into a circle. I tried using the Curves to Mesh plugin but it didn't work for me because I had an older version which doesn't have a "sweep to mesh" option.

Activate the loop tools addon, extrude, subdivide, select edge, right click, looptools, circle, smooth in between geometry.

Have a look here

Also How can I model a bottle with triangular base and circular top? (Nail Polish Bottle)

I believe the tool you want is bridge edge loops, but you may have to subdivide the square loop first, so it has the same number of vertices as the circle loop.


text:
how to create realistic/physically accurate sand blowing over dunes animation?
This question addresses exactly what I want but it hasnt been answered: How could I create a sand dune animation?

In case it might be helpful I found this paper on the physics of it (although uncertain if its the same thing as in the above desired image): https://arxiv.org/pdf/1201.4353.pdf
Dunes at pg 39.

Hello :). What have you tried so far and where exactly are you stuck? This isn't the best place for asking for full tutorials :).

I've already made the dunes using this tutorial: https://cgcookie.com/course/creating-procedural-sand-dunes-with-blender-2-8
However, I have no idea how to make actual sand particles move in this way. I dont have any particle system set up, because I'm not even sure that's a smart way to do it or the best way to achieve the above effect. I'm not even sure if the way I made the dunes should be scrapped for a diffrent way (which I don't mind doing) (made entirely of real particles or something) to achieve this effect.

do it with smoke maybe?

Something can be done with Smoke simulation, partly used to fake soft dust and partly to be used as a Force Field > Fluid Flow for Particle system (sand particles).

Issue
The main issue with smoke sim is you can't expect backflip turbulences behind the tip of dune.

Note: to see smoke like this enable
Simulation Properties > Fluid > Viewport Display > Slice and Grid Display ... just move White slider to the left side of Colorramp to make it brighter.

version Smoke
I'm not going to do step by step answer since I don't know if this is a way for you. Just a quick overview ... One Landscape object is used to be rendered and also be Fluid > Effector for simulation (to let smoke flow over). Second Landscape (copy of first one) is used as Inflow object (emitter of smoke).
To build sim quicker ... with this object selected search for Quick Smoke. This operator automatically assign this object to be in sim Inflow object and creates also Domain with Smoke (volumetric) material.
The only one parametr I changed (probably :)) for Domain setting is Gass > Heat to zero (or something low) so smoke is not raising up, but stay on ground level.
Because we don't want to emit smoke from all surface, switch to Weight Paint mode and paint by Strength 1 (red) places you want to emit smoke. This creates a Vertex Group. Use this Group in Simulation Properties > Fluid > Settings > Vertex Group (usually named "Group".
Last thing ... add Force Field object type Wind here Strength 150, but probably can be less ... play with the value.

But if you need only to let fly some "dust" from dune edge, you can probably fake it by creating a Vertex Group only from top edge vertices and use them as smoke Inflow.
Enable for Domain under Physics Properties > Fluid > Dissolve for effect from your reference image.

This is really nice. I'm not sure whether @Hmm is looking for the sand-flow, or the resulting movement of dunes. I've probably missed the point. But this is such a great subject.

Yes, his tech images shows your topic ... I just grabbed the title (sand blowing over dunes) :) ... and yes subject is great, but what I tried previously not for blender with smoke. There is not nice way to use for detailed obstacles (effectors) - result is very blocky (I tried simulate car in with tunnel) ... and as described here smoke sim doesn't calculates secondary collision turbulences.

This stuff is always so fiddly! It would be wonderful if we could find a way to pick sand up in one place and dump it in another.

Thank you so much! As a beginner I'm really struggling to set this up. Could you give more detailed instructions/steps on how to achieve the result you achieved? I don't even know where many of those buttons are located. @RobinBetts I am curious about both actually! Perhaps I was thinking of like slight granular movements but even coarse movements are really interesting.

Wow! Love that you included the .blend file and have elaborated on the process. So many kind people here. Thank you again so so much!

This just happens to touch on something I've been playing with lately. I watched the excellent Entagma's video on algorithm design, here, which uses sand dune evolution as an example. They use a Houdini graph to implement a model of it, which is a much cruder one than in the paper you link. (Thanks for that reference!)
I don't think Geometry nodes is quite up to that yet, so I thought: 'Why not use the renderer to do this, and hand all the work over to the GPU?' The idea is as follows:

Set up an orthogonal camera to shoot a square plane, exactly filling the frame.
Give the plane an image-sequence texture, containing a height-map. To begin with, only frame 0 matters. It's the seed from which the rest will be generated.
Frame 1 of the animation uses frame 0 of the sequence as an input to its shader tree.
The shader tree manipulates the input texture in some way that simulates the effect of wind, and renders it to frame 1
Frame 2 uses the render of frame 1 as its texture, and so on. Frame n manipulates the texture provided by frame n-1, and renders it for use by frame n+1. Feedback through the renderer.

The manipulation in this example is as crude as Entagma's:

The incoming height-map is put through a Bump node to extract an
approximation of its normals. This tree is only interested in the
normals' X and Y components.
The Combine XYZ node gives us a 'Wind Direction'
The Dot Product then varies some effect according to how much the dunes are facing the wind. In this case, reducing the height where facing toward the wind, increasing where facing away.

In this case, I also put the result through the compositor, to blur it a little before rendering for use in the next frame. So far, so OK, over 25 frames, when the resulting height-map sequence is used to actually displace the plane:

The possibilities are endless .. instead of using a Bump node, you could actually displace the plane for every frame, and use a raking light as wind. getting shadows. A Shader to RGB node would let you manipulate the light-response of the surface as color, before feeding the texture back. (Not claiming the settings wouldn't be fiddly)
I think the general method might have some potential for generating other kinds of growth or flow.. if not the process, then at least the result for use as textures. Challenging to get 3D information in there, somehow.. it would be great to get the stains left by rain on buildings, etc.

@vklidu Spotted! .. I'm looking forward to playing with this some more.. but it is quite time-consuming :D .. maybe not so much when I've had some practice. Could reduce the step-size and run it for longer.

Thank you @RobinBetts ! This is incredible. Thank you for the effort you put into this answer, beautiful. I will explore and try this out.

OK it seems to be correct, it needs probably just big and small layer https://youtu.be/3PXHpsQtdcU

@vklidu That's lovely. I bet we could do that through the renderer in Blender. The fixed terrain could be done, adding in a second immutable height map, with accretion/reduction conditional on exceeding that height. Your 'big and small' looks likely, doesn't it. Achievable with different blur levels in the compositor? The 'For sale, if there is interest' caption on Barrett's other dunes video does not bode well for quizzing him on his algorithm :D. I may have to start a 'Dunes' chat when I can get back to this. Busy, myself, for a while.

Later I red it ... Conclusion is not so much optimistic  :) so I hope some hints for py codecs :) I deleted my comments.

Well.. everything like this can nourish the mental compost-heap.. you never know..:)


text:
How to create a very shallow rounded edges bowl shape in the side of a cylinder?
I plan to do this multiple times for multiple points along the cylinder (like a spiral), so it would be good if the method is:

Easy and quick
Or: copy-able to other areas in the cylinder

I have a cylinder, and I want to insert a shape onto it, with a very very subtle inward push like so:

So if this is my cylinder, it would look like this from the side:

And most preferably it's also parametric so that I can later modify:

how deep the bowl is
the shape of the curve inwards
And have that affect all other bowls that are inside the cylinder.

I already tried doing this by loop cutting the cylinder so that I have a grid, then cutting a square, then making a circle extruding it, and shrink wrapping it to the cylinder, then joining it to the cylinder, then filling in faces for the empty parts, then subdividing (which introduces other problems as other parts of the cylinder I don't want subdivided a second time.)
Here are my awful and very work-intensive results (which I would not like to repeat):

Then subdividing which gets closer to the shape but introduces problems in other areas of the cylinder:

But even then, the circle is too deep and is not easily modifiable, nor copy-able, and as you can see has some awful looking holes that I just couldn't fix with adding faces.
Note: Beginner...may seem like I know something... I don't know anything! Please be detailed when responding

I would go about it something like this - it's not "parametric" per se, but it's rather easy to implement so it might be a happy trade-off. Since you only need a small influence to the "dent", I would recommend omitting the subtracting of faces and shrink-wrapping, and instead use Proportional Editing.
First step is to isolate the section of the cylinder where you want the "dent" to be:

Then add enough loop cuts so the individual "cells" are as close to square shape as possible (I take it you've already done this):

Pick a vertex in the center of your "grid" on one side (preferably one of the "cardinal" directions for ease of making the shape later). Turn on Proportional Editing (O), and select one of the edit options from the  top - I recommend Inverse Square (I know "sphere" is selected in the photo - ignore it) however feel free to try different options and see what works best for your project.

Grab the vertex (G) and move it along whatever axis it's aligned to (so it can move towards the center of the cylinder). The size of the blue edit circle controls the size of the edit influence - you can adjust it by scrolling the Mouse Wheel. Move the vertex inwards:

Final shape looks like this (with subdivision surface and smooth shading):

Thank you so much for all this effort! This worked great for a very light dent, at a certain point the grid squares sort of convert to rounded rectangles with open holes past the rounded edges but that's okay as I dont need to make it deeper than that!


text:
Armature on character missing from viewport, when WGTS_rig collection set to Enable In Viewports, the armature shows but isn't posable
The armature doesn't show on the character, I've tried to unhide using alt+h to no av

The armature is greyed out in the outliner
 Enable in Viewports on the collection shows the armature, but no options for pose mode and moving the pieces don't affect the character, I cannot animate the character like this
 The character is still affected by the animation I made before

If you've used Rigify to generate the rig and correctly parented your object you're supposed to use the rig widgets to pose it not the armature bones. Also make sure you're using the correct widget on the arms and legs for the appropriate FK-IK setting on the N panel.

Thanks, your comment helped me think about it differently, I found an object icon of what looked to be a stickman in the outliner, then I went to edit model to reveal the rig  and from then I was able to enter pose mode and alt+h helped to reveal the widgets for the rig to solve the problem I had.


text:
fix hair object position on flower
I'm trying to make a Bog Labrador Tea flower and I don't know how to make it stick out of the target mesh with the angle of the face it's being placed on, also as a bonus I would appreciate if someone also knows how to have it evenly separated

hello could you please share your file? https://blend-exchange.com/


text:
How to Animate 2D Eyes on a 3D mesh with interpolation?
I want to use a 3D character with a 2D face, similar to Kirby, where using 3D eyes would clash with the character's design. I'm looking for a way to animate the eyes or mouth textures by interpolating between different texture frames, like using shape keys in 3D. I want to achieve this without manually creating in-between frames and plan to implement it in a game engine, specifically Godot.

For example, if each frame of an animation of Shaq only has a single pose, I want to be able to transition from one rest frame to another by choosing a frame in between and having it automatically interpolate the motion. If this isn't possible in Blender but can be done in an art program that generates in-between frames automatically, I'd also like to know about that option.


text:
Smooth icon, left bar 2.8. Doesn´t work like 2.7
Iam getting back to blender after some years (I was just modelling ocasionally for simple figures, getting back again).
I used to use "smooth vertex" on 2.7 to make cleaner and flatter faces on the mesh as I was modelling, It helped to maintain from the beginning a nice model for 3d print, or clean faces in any ways. The "smoothed" vertex located into a better position if required.
Now I can see the "smooth" icon on the left but I can´t select it. :(
What am I missing?

It sounds to me like you should consider using the Subdivision surface modifier.
if you're looking to keep sharp edges with subsurface, find the edges you want to be sharpened, then hit Shift + E  then drag outwards until a bright pink line appears and the edge becomes sharper.

Hi Colamarine! I am using Subdivision surface modifier. I am refering to the utility of the left icon of blender 2.7 tools/shadding/ smooth. It relocated a single vertex into a position to make a more regular face.

On 2.8 the same icon appears as unable, is grey. I can´t select it.

Lol, I should be doing something dumb. It was as simplier as to extrude. I went back to 2.7 and I can use the icon. On 2.8 I just can´t XD

Select the wanted vertices.
Select the smooth button on the left.
Then left click on the 3D view and drag the mouse left or right.
Additionally, the operator panel allows to set the smooth value manually.

Note: a long click on the smooth icon makes appear another operator which is 'randomize vertices'.

That´s it! Than you :)


text:
Errors when using bpy.ops.wm.open_mainfile
I'm running the following simple python code with no issues as far as the .blend file with the object I'm modifying is already open.
obj = bpy.data.objects['obj']
obj = C.scene.objects.active
obj.select = True
obj.rigid_body.type = 'PASSIVE'

However, if I add a line at the beginning of my code to open the file,
bpy.ops.wm.open_mainfile(filepath=task_path+ str(x) +".blend")

it opens the file and then I get an AttributeError after obj.rigid_body.type (object has no attribute 'type'). I've already spent several days trying different things. Could anyone help me to understand this? Thanks!

Perhaps the file you're loading doesn't have rigid body physics enabled for the object?

In the physics tab the object should have rigid body enabled. Or you can add bpy.ops.rigidbody.object_add() to your script to initialize it.

@gtzkw Thank you. That makes sense. I had that line (bpy.ops.rigidbody.object_add()) in my code before, but that gave me another error I wasn't able to understand: RuntimeError: Operator bpy.ops.rigidbody.object_add.poll() failed, context i incorrect


text:
Operator bpy.ops.rigidbody.object_add.poll() failed, context is incorrect
Here's a simple code that works fine as far as the .blend file with the object I'm modifying is already open.
obj = bpy.data.objects['obj']
obj = C.scene.objects.active
obj.select = True
bpy.ops.rigidbody.object_add()
obj.rigid_body.type = 'PASSIVE'

However, if I add a line at the beginning of my code to open the file using python,
bpy.ops.wm.open_mainfile(filepath=task_path+ str(x) +".blend")

I get the following error:
RuntimeError: Operator bpy.ops.rigidbody.object_add.poll() failed, context is incorrect
I'm sorry to ask the same (or similar) question twice, but believe me, I've been working on this problem for weeks, read everything online about the "context is incorrect" error and unsuccessfully tried multiple things to solve it. Nothing works and the problem seems to be related to opening the file using python (bpy.ops.wm.open_mainfile). Any clue about what's happening? Thanks a lot for your help!!

Related https://blender.stackexchange.com/questions/42956/python-operator-context-is-incorrect    and  https://blender.stackexchange.com/questions/14948/opening-a-blender-file-during-python-script-execution-without-changing-context     and  https://blender.stackexchange.com/questions/95072/execute-script-with-gui-context-object-has-no-attribute-active-object

Thanks @batFINGER I understand the problem now, I think. I'm trying to use a persistent handler but I'm not quite sure how. Any help appreciated. Thanks

Just in case this is useful for somebody in the future, here's what seems to work for me:
import bpy
from bpy.app.handlers import persistent

@persistent
def load_handler(dummy):
  obj = bpy.data.objects['obj']
  obj = C.scene.objects.active
  obj.select = True
  bpy.ops.rigidbody.object_add()
  obj.rigid_body.type = 'PASSIVE'

bpy.app.handlers.load_post.append(load_handler)
bpy.ops.wm.open_mainfile(filepath=task_path+ str(x) +".blend")


text:
How to Use Pillow (PIL) Inside Blender Addon?
I want to do
from PIL import Image

inside a Blender addon. But it throws this error at me:
ModuleNotFoundError: No module named 'PIL'

Thus I've tried to install Pillow via pip like this:
import subprocess
import ensurepip
ensurepip.bootstrap()
pybin = bpy.app.binary_path_python
subprocess.check_call([pybin, '-m', 'pip', 'install', 'Pillow'])

But this doesn't work, either.
What am I doing wrong? :)

Are you getting any error messages? What version of Blender are you using?

Looks like I was mistaken and pip isn't included on the Linux release builds by default. Might have misunderstood Ray in T71420. In that case it should work with ensurepip, which you would only have to run once. Does it at least find pip after running ensurepip?

ensurepip changes nothing. But it seems that pip is included in the snap version of Blender. But the import error that it can't find PIL persists

Again I forgot to tag you  @RobertGützkow

ensurepip.boostrap() and installing the package through subprocess works fine for me. Do you really not get any error message from ensurepip?

In a current version of Blender I could produce one particular problem. When ensurepip.bootstrap() is used followed by a pip install through subprocess, it fails to find a temp directory. This issue occurs on Linux and Windows.

See my answer here. You need to remove the environment variable PIP_REQ_TRACKER if you directly install a package with pip after running ensurepip.

@RobertGützkow I can't try it right now, but it seems really promising, thank you!

I finally had to copy my PIL package from C:\Program Files\Python37\Lib\site-packages\ and moved it into the Blender Foundation\Blender\2.8.2\python\lib\site-packages and everything started working fine.

That's the case because of the modification that you made to your Blender installation (see your other question). A clean and working installation of Blender comes with ensurepip, which allows to install pip, that can then install Pillow/PIL. The issue here is most likely that running ensurepip.bootstrap() sets an environment variable that makes a subsequent attempt to install a package with pip fail, because it tries to access a non-existent temp directory. This can be solved by removing the environment variable PIP_REQ_TRACKER.


text:
Python Multiprocessing Does Not Work With "concurrent.futures.ProcessPoolExecutor()"
As you can see in the image, baking textures, apparently is mainly a single-cored task. Thus I'd like to use multiprocessing to run many bakes in parallel. Which would save me a ton of time, because my cpu has a total of 12 cores.

Thus I've tried to use the ProcessPoolExecutor to process many bakes in parallel like this:
import concurrent.futures

with concurrent.futures.ProcessPoolExecutor() as executor:
    for obj in objects:
        executor.submit(bake, obj)

But when I execute the code nothing happens and I get a bunch of log outputs:
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
/run/user/1000/snap.code/gvfs/ non-existent directory
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
/run/user/1000/snap.code/gvfs/ non-existent directory
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
Read prefs: /home/flolu/.config/blender/2.82/config/userpref.blend
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
AL lib: (EE) ALCplaybackAlsa_open: Could not open playback device 'default': No such file or directory
/run/user/1000/snap.code/gvfs/ non-existent directory
/run/user/1000/snap.code/gvfs/ non-existent directory
/run/user/1000/snap.code/gvfs/ non-existent directory
/run/user/1000/snap.code/gvfs/ non-existent directory
found bundled python: /snap/blender/37/2.82/python
/run/user/1000/snap.code/gvfs/ non-existent directory
/run/user/1000/snap.code/gvfs/ non-existent directory
found bundled python: /snap/blender/37/2.82/python
/run/user/1000/snap.code/gvfs/ non-existent directory
/run/user/1000/snap.code/gvfs/ non-existent directory
/run/user/1000/snap.code/gvfs/ non-existent directory
found bundled python: /snap/blender/37/2.82/python
found bundled python: /snap/blender/37/2.82/python
found bundled python: /snap/blender/37/2.82/python
found bundled python: /snap/blender/37/2.82/python
found bundled python: /snap/blender/37/2.82/python
found bundled python: /snap/blender/37/2.82/python
found bundled python: /snap/blender/37/2.82/python
/run/user/1000/snap.code/gvfs/ non-existent directory
found bundled python: /snap/blender/37/2.82/python
found bundled python: /snap/blender/37/2.82/python
register_class(...):
register_class(...):
/run/user/1000/snap.code/gvfs/ non-existent directory
/run/user/1000/snap.code/gvfs/ non-existent directory
Warning: property 'release_confirm' not found in keymap item 'OperatorProperties'
/run/user/1000/snap.code/gvfs/ non-existent directory

Error: engine not found '-c'
/run/user/1000/snap.code/gvfs/ non-existent directory
/run/user/1000/snap.code/gvfs/ non-existent directory
Warning: property 'release_confirm' not found in keymap item 'OperatorProperties'

Error: engine not found '-c'
found bundled python: /snap/blender/37/2.82/python
register_class(...):
Warning: property 'release_confirm' not found in keymap item 'OperatorProperties'

Error: engine not found '-c'


text:
animation locations with python
I try to design a physics animation with python / bpy.
The simulation as such is fine.
But I try to read the coordinates of falling objects while
running the simulation. For this purpose I use bpy.app.handlers,
which are called each time the frames change.
But if I try to access the locations of the falling objects,
it seems, that the you not change (although the objects
are obviously falling).
So I could guess, I would have to bake the simulation for
the locations are updated??
But more important: if not location is the property associated
with the falling cubes in the animation viewport,
which field could I use to access the simulated positions
WITHOUT baking the physics simulation before??

Use matrix_world, e.g.
>>> C.object.matrix_world.translation
Vector((0.0, 0.0, -5.041865825653076))
>>> C.scene.frame_set(C.scene.frame_current + 1)
>>> C.object.matrix_world.translation
Vector((0.0, 0.0, -5.451406955718994))

Nice! Thank you. Works fine!


text:
Mapping voronoi cell local space align perpendicular to a spherical surface?
With blenders voronoi texture each cell has a local space. My goal is to use these voronoi cells to scatter a volumetric shader, like the volumetric gizmos below, with each volumetric cell instance oriented perpendicular to a spherical surface. The volumetric gizmos shown are each located within a voronoi cell and show the rotation of each accordingly.
I would ultimately prefer to use 3D voronoi as this method is seamless and does not create pinch points, which are present in my current work around. However, I am struggling to find a method that rotates each cells position to point the Z axis upwards from the surface. The references below show the basic 3D voronoi cell positions, with each of these cells local space oriented in accordance with the host objects local space.
3D view with volumetric gizmos:

Shader node tree for isolating cell local positions:

My current solution is far from perfect, utilizing voronoi that is radially wrapped around a sphere, it succeeds in aligning the cell positions perpendicular to the spherical surface; However, Significant problems occur, namely in a very obvious vertical seam and pinch points on the poles.
3D view of work around with volumetric gizmos:

Shader node tree for the work around system:

Any help would be appreciated, thanks in advance.


text:
rigging flexible hose connected between two objects
I have a hose between two objects, one end is stationary and the other end is connected to a cylinder that pivots, how can i make the hose flex and stay connected to both when the cylinder pivots?
I have searched every where for a solution to this but am unable to find one, as any tutorial i have seen doing this is on a different version of blender which dont seem to translate over to the newest version.
I can make the hose flexible on its own if i separate it from my model but cant find a way of connecting it at both ends, so i think im kind of on the right track but maybe overlooking something really obvious and simple?
Any help or a link to a v3.0 tutorial would be greatly appreciated

One approach is to use an armature of two bones and a hook modifier.  parent the columns and the curve to one bone and set the hook on the other.

Check out https://blender.stackexchange.com/questions/150637/how-to-create-wire-between-objects .  That's 2.79 IIRC, but nothing has changed in regards to that answer.

https://youtu.be/-2HCxy4Kh4E -> Polyfjord is - in my opinion - one of the best Blender tutorial makers at all. He explains it there pretty well.


text:
Weird material issue in shading view
I downloaded this 3D model from Sketchfab and it seems to be having some weird issue with the material.
The hands and body act kind of transparent but not the head or the shoes. (I don't really know how to word this issue so sorry if it's unclear)

hello could you please share your file or at least a part of it (upload and copy paste he URL it will generate): https://pasteall.org/blend/

https://pasteall.org/blend/c24a47d97a284dad9359ecd6520c1cb8

In the Material panel, under Settings, disable Show Backface:

This worked, thank you so much!


text:
How do I make empties following a path follow the entire mesh when its location is changed?
So I am currently trying to model a 3D printer from the reference https://www.3dwasp.com/en/giant-3d-printer-bigdelta-wasp-12mt/. I modelled the support on which the arms are mounted with geometry nodes with paths so I could then constraint empties on which the printer's arms are hooked to those paths. So far, everything has worked.
The problem is that I need to be able to move this 3D printer everywhere, and when I do so the empties stop being constrained to the paths. I tried with applying the scale, it doesn't change anything so I kept it the way it was. By adding an empty w/o a hook constraint, I can see that it does the same thing for a simple empty. I'm not really looking for a super complicated solution since this model is kinda roughly made and has a lot of space for improvement, but so far I'm mainly searching for a working solution.
Thank you !

In your file, you do it by not moving the empties with the follow path constraints.  You leave them where they are and move (almost) everything else.
Select your three "follow path" empties and your two geometry nodes prototypes and hide them.  Now create a new empty at the center of your structure.  We'll make this a "sphere" type empty to differentiate it from your other empties.  Now select all, shift select your new empty, and parent to that empty with keep transform.  You now have a "handle" for the entire structure that you can move, scale, and even rotate:

Notice the outliner.  The "path follow"s remain unparented.  They acquire their location not via inherited transformation, like the rest of the objects, but by their follow path constraints.


text:
Select the vertex of a path closest to another object with geometry nodes
So, let's say I have a straight path with 5 vertices and a sphere in my scene. What I want to do is to animate the position of my sphere and, through geometry nodes, select the closest vertex of the path to the sphere. Would that be possible ?
My complete idea and project is to have a 3D grid which scales proportionally to an object's location, with the scaling being local to the vertex.
I'm basically trying to have a working model of this animation: https://youtu.be/DYq774z4dws?t=265
I don't have much experience in geometry nodes, so my request may be impossible or hard to do, but I'm willing to put in the work to understand that :)) (I'm a student in physics, so if any maths explanations are required for me to understand, I should be fine)
Thank you !!

i think you could easily achieve this by using geometry proximity node

To make this animation, I think all you're interested in is the position of the target sphere, not its surface. This way just uses a common input parameter both to set the position of the target, and to tell the grid where it is.
The warp of the grid is a mix between the point-positions in the grid, and the position of the target, as a function of the distance between the points and the target...

You could, instead, bring the target in as an outside Object Info, if you wanted, and use its Position output...

Hey ! Sorry I forgot to answer this comment the last two weeks, but I tried it and it worked perfectly ! I could add a few changes as I liked, there were a few nodes I wasn't sure what they did but I looked it up and understood them. However, I'm not exactly clear on what you did concerning the panel "Set position to mix between Position and f(Distance to target), could you elaborate a bit more on the logic you used for that ? And exactly is the maths in there ?
Thank you for your answer and consideration !

@aidegare No problem!  The Mix is a linear interpolation between the point's own position (Fac == 0) and the position of the target (Fac ==1).  Fac is determined by some function of the distance between the undeformed point and the target. In this illustration, Fac is set to 1/( point->target distance) squared, put through a smoothing function in Map Range . It was determined purely aesthetically, and as an imitation of your reference, not as any attempt to represent genuine GR curvature ( which would have had to include the t of txyz spacetime anyway ..  8-\  .. )


text:
How to Convert Image to numpy array, then convert it back to image by script
I know this can be done with matplotlib or PIL, but I need it to be done in blender, without installing any other package.
I searched and tried following code in blender, but only get a black image as output.
import bpy
import numpy as np

image_path = "src.jpg"
output_image_path = "output.jpg"
output_image_name = "output.jpg"

image = bpy.data.images.load(image_path)
np_array = np.asarray(image.pixels)

# create output image
output_image = bpy.data.images.new(output_image_name, width=image.size[0], height=image.size[1])
output_image.file_format = 'JPEG'
output_image.filepath = output_image_path

# convert np array back to image
output_image.pixels = np_array.ravel()

output_image.save()

So, how to make this work?
Thanks.

Hi! I tried the same above and it worked without any problems... Maybe check your paths and filenames carefully, make sure you are looking at the right output file ?

Well, After I re-open my blender and change source image to another path, everything works. No change on the code.
So I leave this question here for anyone who need this code.