text:
Dissolve Texture
I am trying to dissolve a texture. This should actually be a quite easy effect however I am not able to let the particles fade out individually and scale them at the same time.
In my example I am using a particle system and an explode modifier with the life attribute checked and a simple blend texture scaling the particles over time.
In this tutorial https://youtu.be/gD8qlNdEt6E?t=1390 a uv texture on the explode modifiert is being used but I can't get it to work when recreating it in Blender 2.8
How would one create a dissolve effect with scaling & fading of the particles of a plane with a texutre applied to it?

Likely a duplicate of https://blender.stackexchange.com/a/114310/442

I would always advise to read the documentation.
The section on UV map reveals the secret.  If set then the short, the U value will give the age of the particle ranging from 0 to 1.  The V value is fixed at 0.5
To make use of this a node setup which makes use of this is required:
Simple Fade

Please note that if you're using Eevee as your renderer then you need to enable alpha blending in the material settings, and ( as I found out after much befuddlement )  that you want to disable the Show Backface option.
For scaling please see the answer by @moonboots:
How to affect particle size over time?
To get this working with the explode modifier, enable the Size option.  Just remember to enable and flip the colour ramp in the texture settings.
Textured Fade
So you don't want just to explode objects of a single color, you want to blow up colored stuff too, no problem, just use multiple UV Maps.
One UV Map is used for particle info as above, the other is used to texture in the usual way.  The node setup uses multiple UV nodes:

Et voila, an explosion of fading colour.

In my case however I can't make use of moonboots answer since I don't emit an object with the particle system. I use an explode modifier to explode the particles of the plane with a texture on it. The problem I encounter when following @moonboots solution is that my texture gets repeated on every particle but I need the particles to display just a part of the texture (like in a puzzle).

Well I used it, and it seemed to work.  The emitter is the object you're exploding.

But it won't do your texture stuff, not sure about that one.  I'll give it some thought, however you did not mention it in your original question and therefore this answer should suffice.  You are welcome!

Appreciate your help, thanks. I reworded my question to be a bit more precise. And you're right it doesn't do it with a texture applied to it and that is the problem. Tried many different approaches but can't get it to work. It's driving me nuts! I can't believe something as simple seems to be that hard to create in Blender …

@UnknownUser, please see updated answer.

Thanks! Your fade affects the entire plane and if I wan't to address individual particles with the fade how would I go about that? Where could I plug my particle info (age/lifetime) node into? A simple add node doesn't seem to do the trick for me

Don't add, multiply ... alpha is a range 0 -> 1.0.  So if you add to another similar range you get 0 -> 2. TBH I don't know your exact use case, so unless you upload your file into the question using our upoad facility I can't really see what you are doing.  I just have an exploding monkey to test with.

For future reference, even a picture showing what you arw trying to do is helpful.  Remember that we are just other peeps on the interweb trying to interpret your question.

N.B particle node only works in cycles!

Let us continue this discussion in chat.


text:
How to spawn cylinders in geonodes to represent altitude difference between two surfaces?
I need a bit of help from those of you further down the geometry node rabbit hole. I am a civil engineer that is interested in seeing whether Blender's geometry nodes can visually represent cut/fill scenario in a different way to how 12D or Civil3D.
The geometry node setup intends to do the following:

Create a grid of cylinders

Have them originate from the existing surface and extrude +z for fill and -z for cut until they meet the proposed surface.

Colour the cylinders based on the relative distance from the existing surface to the proposed surface.

I have got it mostly completed but needed some help with a few elements

I am finding that the top and bottom faces of the cylinders are not colouring the same as the sides. I first thought this was due to shading however, the zoomed images below are with diffuse colour only. QUESTION: what can i do to ensure each cylinder is coloured the same.

I would prefer to be able to see the material colour in workbench and create an isometric diagram. When I select colour by material it doesn't seem to work. QUESTION: How do i present the cut / fill materials within the workbench render.

Blend file link -->

Some other questions:

If there is a better way of doing any of achieving this cut/fill presentation outcome please share your ideas.

I would love to be able to better control the colours ranges depending on the max cut/fill value.

Can you export the spreadsheets per chance? So i could get the z,y,z and cut/fill height in a excel/csv file.

Existing Surface

Proposed Surface

Cut / Fill (with top and bottom faces)

Cut / Fill (with top and bottom faces)

Cut / Fill (without top and bottom faces)

Cut / Fill (without top and bottom faces)

EDIT 01:
Hi all,
thank you for all your comments and input. I picked this up again recently. It is a bit of a mash up of various suggestions. It was really helpful to have this conversation.
Please find the latest iteration below

Blender 4.1

i like your question because you provide a lot of info, unfortunately your node tree image cannot be read....maybe split them in 2 or 3 and upload again?

to answer one of your questions: the color is different because you store your color on face domain: [1]: https://i.sstatic.net/TgJIS.png if you want to have a single color per instance, you have to save the color on instance domain. It might be, that your calculation of the cut height must be different then

@ojremary could you please upload your file to https://blend-exchange.com/
This way your post will not be broken in the future, because the file will not be deleted.

@AndréZmuda - thanks for letting me know. I have know uploaded the file and amended the post

@chris - Thanks for you comments. Does having the file available now available help?

@ojremary, for exporting to CSV you would need a script.

I took a shot as well, combined isHit with Z position to only raycast once per point per surface (twice per point):

I also moved coloring to the shader though arguably you may want to calculate it in geonodes for performance + this way you could use statistics to figure the range of colors…

In face orientation preview, all instances have correct orientation, I would think sometimes scaling them by negative single axis should result in wrong normals? Anyone cares to explain?
End Result From Above

Looking from above with a copy of the starting surface visible and solidified up:

Looking from above with a copy of the target surface visible and solidified up:

End Result from Below

Looking from below with a copy of the starting surface visible and solidified down:

Looking from below with a copy of the target surface visible and solidified down:

.blend
To get results as above, multiply resolution by 10 and divide radius by 10 (I didn't want weaker PCs to crash when opening the file).

Premature Optimization Is the Root of All Evil
Just to make sure if this optimization even made sense, I tested in another project:

Thanks for this insight :-) -  Every iteration node seams to create an iteration. There seems to be no internal optimization of the execution paths in geometry nodes.

Hey, @Markus. I've just made a version without raycasting at all, using Sample Nearest  of stored Z on the surfaces scaled to 0 in Z. It made me wonder... My method must be using a BVH-tree, as must raycasting? The main work must be in  constructing the BVH... Is GN clever enough not to throw it away, so 2 raycasts don't cost significantly more than 1?

@RobinBetts That's smart, as long as the surface doesn't have caves (which I think is a very reasonable assumption for OP's problem). Also consider a possibility that the BVH is generated for the object once, and since you dynamically change it, it regenerates it and surprisingly makes it slower (no idea if it actually happens).

@RobinBetts I made some tests: https://blend-exchange.com/b/q0Y4poAX/ enable and apply the modifier on the plane, then choose and enable a modifier on the cube. Raycast: 23639-26022 ms, small optimization using hit distance: 23384-23677 ms, nearest surface: 30076-31214 ms, I thought maybe capturing the attribute adds a lot, but when I added a "store named attribute" to raycast it didn't seem to add much: 23202-24010 ms https://i.imgur.com/jwyW81C.png https://i.imgur.com/0GFlvfn.png

@MarkusvonBroady Wow thanks! (Testing: just the sort of stuff i'm bad at). Difference: I scaled both source and target to Z0 before finding closest. I'm only picking up value at closest index, un-interpolated, so target can need subdivision in geometry to interpolate there, before sampling. I'll  check out your .blend further when I can give it proper time.

@RobinBetts this test doesn't specifically test the OP's case of having 2 surfaces, it just tests raycast against sample nearest surface, so the spawned grid for testing just lies on Z=0. No need to scale to Z0 then. As for sample nearest→sample index that's much better at 16271-16940 ms https://i.imgur.com/hfa6ffC.png , so even though it doesn't interpolate, wherever Blender starts to struggle that's definitely a nice optimization. One more thing, scaling to Z0 and storing an attribute can be applied on the surface. Then it's… 16195-16967 ms so no change… https://i.imgur.com/4RbJ18E.png

Also in the OP's case, you would sample once instead of raycasting twice (from one surface onto another), which is an optimization even in the case of the interpolation.

@MarkusvonBroady I might post it, when I get time.. (ready for improvement by you) .. Unless you go for one that way yourself.. you'd be welcome.

@RobinBetts No, I'm done, go for it :)

I will first explain a way to solve the color-problem. Below that, you will find a way to control the color ranges depending on the max cut/fill value.
What can i do to ensure each cylinder is colored the same
In this solution, I use cylinders instead of constructing them from pieces. This eliminates the varying colour:

How does it work
I realized it in three steps, as can be seen by the following node setup:

Create a grid and calculate the dimensions and positions of the cylinders.
Create, position and size the cylinders
Colourize the cylinders

I will explain these steps in more detail below.

Create a grid and calculate the dimensions and positions of the cylinders
The following image shows the nodes for creating the grid and calculating the dimensions of the cylinders.

We create the grid on z=0.
In the upper frame the distance to the Existing Surface is calculated in z-direction for every point of the grid. As you did, we expect the Existing Surface to be above 0. Thus we need only 1 raycast pointing upwards. The result is stored on the corresponding point by using the Capture Attribute node.
In the lower frame the distance to the Proposed Surface is calculated in z-direction for every point of the grid. The Proposed Surface may have points below 0. Thus, we use two raycasts - one up and one down.
When it comes to performance, it may be better to calculate the minimum or maximum z of both surfaces and place the grid below or respectively above this value. This way you could eliminate one Raycast node. But I did no check the execution times.
Or you may do it as Markus von Broady does in his solution and place the grid manually above or below.
Those points of the grid, that do not lie above or below the Proposed Surface get deleted.
Instead of deleting those points you could initially size the grid by using the minimum/maximum x- and y-coordinates of the proposed surface. When it comes to performance, this would surely be better. When you crank up the grid density in my example, most of the computation time is used by creating the grid and deleting unnecessary points.
Markus von Broady uses this approach in his solution. He takes the minimum/maximum of the Existing Surface. Which of the surfaces you take into account, the Existing Surface, the Proposed Surface or both, depends on your policy of how to cope with columns, that cover only one of both surfaces.
When you don't have a rectangular surface, that is aligned to x and y, you would still have to delete points or skip them on instantiation, even when right sizing the grid. But even then, under performance aspects it would be good to use the right size for the grid.
Create, position and size the cylinders
We create the cylinders with a depth/height of 1 and place them with the bottom on z=0 by rasing them by 0.5. When instantiating the cylinders, we scale them in z by their individual height. The height can be calculated by the absolute difference of ground-z and tip-z, which we calculated before.

Colorize the cylinders
For colourizing the cylinders, we split them up in fill- and cut-cylinders. Therefore, we use the difference between tip-z and ground-z, which is greater 0, if the tip is above the ground. After setting the corresponding materials, we join it together again and realize it.

Control the color ranges depending on the max cut/fill value
In the node setup below, the fill height and cut height are normalized by dividing them through there maximum. When multiplying this maximum with a factor, you can adjust this manually. You may expose this factor as an input parameter.
If you would like to control the fill height and cut height separately, you may use the difference between tip and ground instead of the calculated height. Thus, you can use the maximum of it for the fill height and the minimum * (-1) for the cut height.

Consider using Boolean Math: NOT AND node

@MarkusvonBroady, good hint, thanks - only, it should be NOT OR instead (True when both inputs are false) ;-)

Oh, you mean I made you realize an error? You probably want to delete if at least one ray misses? Because then you don't have enough data to present anything meaningful. In my case (coming shortly) I just add two and compare with 2, because I want both rays to hit, same thing in the end of the day.

Sorry, I am not sure, if I get you right. Do you talk about this (NOT A AND NOT B) nodes after the two raycasts? At that point, I only check, if the tip lies below or above 0. Thus, I really want to delete the corresponding point only in the case, that both of them don't hit.

Here https://i.imgur.com/gJFStvp.png you delete a point if there's no information to obtain because either raycast fails (there aren't two surfaces at the same XY). But the logic should be $¬ (A ∧ B)$, that is, not (isHit1 and isHit2). If both raycasts fail, you get 00, notting each gives 11, AND gives 1, the point is deleted. But if only one fails you get 01 or 10 (notting just swaps bits around, so in these two cases it doesn't matter), and then AND gives 0, so a vertex is not deleted if only 1 raycast hit (but you have nothing to calculate with just 1 surface?

Well, apparently my node formatting was not good and my description was to sparse. I improved both now. Hopefully, it gets clearer now, what I am doing and that I really want to delete when (\not A \and \not B)

... and you made me realize, that I create a cylinder with 0 height, when there is a position for the proposed surface and non for the existing surface. I think it depends on the use case, if you want to skip these or not.

source: Stack Exchange

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

sort: votes


text:
Slope arrows on a surface
Ultimately, I would like to display slope arrows on a surface (controlled by a grid) where the arrows follow the vector of the downward slope. I have tried following the link below - https://gamedev.stackexchange.com/questions/167347/how-do-i-find-the-downward-sliding-direction-of-a-plane however, have got stuck not being able to have the 'test axis' object rotate appropriately to show the direction of slope.
A stretch goal would be to have a stored attribute with the slope value at the grid point. From there I could either use the value to drive a colour range material or/and label each arrow with the value.

Current progress. I would like the green axis of all the objects pointing down the slope, perpendicular to the surface normal

(Blend file - Blender 4.1)

EDIT 01
Thank you everyone for your help! I think I have got to where I wanted
I have uploaded the file below

(Blend file - Blender 4.1)

To align the arrows along the slope, you can use a cascade of two Align Euler to Vector nodes.
The first creates the alignment along the slope (rotation on the Z axis only, so that the X points in the downward direction) and the second aligns the up vector according to the Hit Normal.
However, since you are sending the raycast from bottom to top, I first reverse the Hit Normal so that the Z-axis is pointing upwards.
Something like this:

(Blender 4.1.1+)

This is messing with my head. I can't visualize  why it works.. (later) OK, got it ..  X alignment to Object-Z x Normal-Z.

@RobinBetts Don't mess with my head! :D ...is there a reasonable suspicion as to why it should not work?

Maybe not for you... me.. everything goes clunk ... clunk ... clunk :)

this solution to calculate the slope consiste to add a Mesh Circle, with the same normal and position as the arrows, then select the lower point of the circle then calculate the incoming vector position and use it in order to get the good slope angle. I didn't try with your .blend so I don't know if you can adapt it.

The .blend:

Have a good day.

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


text:
Scaling Car Model
i have a car model and i want to convert my model to toy car like LNCLN WRKS models.
That is what i want...

When i am scaling my object in one direction, fender part of the car is also scaling like this...

but i want to scale my object in one direction when the fender and tire parts of the car remain constant like this...

Is there any way to solve it? Thank you for your support...

you have to separate the tires first so that they won't be scaled. But of course you have to remodel parts of the car as well like the fender

@Chris Thank you for your support...

Select everything in Edit mode then deselect the part that you don't want to scale?

@moonboots hello. i tried it but when i do this, the positions of unselected parts remain constant. other parts are getting closing in one direction. the unselected parts should be also get close in one direction...

There's no other soluction than to scale the parts you want, then move the unselected parts so that they are closer

As it has been pointed out in the comments, what you are trying to do here is not really "scaling". At least not scaling the whole car.
Scaling is defined as modifying or altering size of an object. So if your tyres are part of the object you are scaling, (of course) they are going to get scaled too.
One solution to your problem is to do as @Moonboots says which is separate the tyres to their own objects, scale the car separately and then reposition the tyres.
If somehow, you don't like that solution, or need some more "accurate" method, I can suggest you vertex parenting. It allows you to parent an object to one (or more) vetex of another object and you could do something like this :

This setup is very easy to do. You can see the documentation here.

Please note that, the model in the example is a very simlple model but for a complicated model (like a car in you case), things may not exactly look the way you want them after scaling so you may end up repositionning the tyres anyway.

Thank you very very much. That is what i trying to find. :)

You're welcome.


text:
How to make this edge flow?
While trying to create a face by poly-modeling it, I realized one of the loops wasn't flowing in the right direction, and I can't understand why this is happening. There are adjacent loops that flow on the correct direction, but I probably messed around too much on this specific loop and now the flow is gone. Why is this happening and how to fix it?
This loop is flowing on the desired direction.

This is the loop with the wrong flow, the blue arrow is the desired direction.

The "flow" is to start at one edge, and go towards the opposite edge (meaning, not connected to starting edge). Your blue arrow turns to a neighboring edge. Not that I present a good topology in the link (and that's why I don't post this as an answer; I really wished I was better at this than I am), but in principle in order to redirect the flow along your blue arrow, you would like to create edges in this fashion: https://i.imgur.com/gYfhsA6.png

The flow of your problematic loop is correct.
Note that you have a vertex with 5 edges there, a so called E-pole. I colorized it so you can see whats going on.

If you need to add another loop there then you must move the pole away in the right direction, like shown here (image source)

Really nice answer, IMO .. compact, clear, complete.


text:
Geometry Nodes: How to set curve line rotation to another curve's tangent?

Description:
In this scene, I want to create a series of vertical planes along a horizontal curve circle. These planes must be created using a vertical curve line node. They were turned into 2D planes with a 'curve to mesh' node, using a curve line node along the X-axis as profile.
The problem:
I am trying to get these planes to face inwards. They need to be oriented to the tangent of the curve circle (annotated in the 3D view). How do I achieve this?

Curve to Points node gives you Rotation output exactly for that purpose - just connect it to the instance rotation:

If this doesn't align the instances properly, you can either:

add an intermediary node Rotate Euler,
(better) just modify the Direction of the Curve Line.

If this still doesn't work for some reason, you could e.g. take the cross product (Vector Math) of node of the tangent and e.g. $<0, 0, 1>$ vector, and pass that to Align Euler to Vector node, to obtain a rotation aligned with Z axis…
You can also chain two Align Euler to Vectors, like I've done here:

Strangely, whenever the planes are pointed straight up, they become solid gray and lose their rotation. However, any other orientation works fine. Here's some screenshots: https://imgur.com/a/tskWy9o

@Thomas Gimbal Lock perhaps.


text:
Grease Pencil Fill Tool Changes from 3.4 to 3.5
I've been working with Blender for a few years now, mostly Grease Pencil. I absolutely love the tool and have never had a problem figuring out how to make things. But recently when I updated to Blender 3.5 the fill tool in grease pencil became almost unusable. I click inside the line work twice and it doesn't fill with the material. I know about gap closure etc. I can open the same file in 3.4 and everything with the fill tool works perfect. I just don't understand what changed. I've asked on a few youtube channels and on blenderartists.org. No answers so far. Does anyone have any ideas? Thank you!

The fill tool got quite changed for v.3.4 and quite frankly I haven't been able to make it fill like I did in v3.3 either. At best, I got new contour lines of the wrong color, using color attribute...

Looks like you need to click twice to get the fill performed.

Yes, first starts a modal to set the filling gap closure, second one does the actual filling. It's just not feeling right.

Thanks for your responses L0Lock and Josh. I actually didn't have a problem going from 3.3 to 3.4, I was still able to fill whatever outlines I needed. The problem for me started after I updated to 3.5. I am aware of different methods for closing gaps and I also know to click twice to fill. I'm still experiencing issues after many hours of troubleshooting. For now I will just go back to 3.4 where the tool works as expected. Thanks again for your input! Cheers!


text:
Why is inflate tool not working
I ham having an issue on the donut tutorial for the part where you apply inflate tool to the drips on the icing of the donut and it makes it more inflated. For me it was just “lifting” up the drips, and not inflating. I have seen the exact same issue as this one and the solution was to make sure solidify was on but that did not work for me. I am grateful for any help.
My file is at https://blend-exchange.com/b/Nssrv7Zx/

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

If the file is too big (>20 MB) you also can share the file via google/one drive, dropbox, wetransfer.com, or any other file hosting service and post the link here.

I have now edited my post to have the donut in it if you want to check that out

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

I have solved my problem. I added the solidify modifier to the list but I didn’t know you had to click “apply” for it to actually work.


text:
Strange shading errors for seemingly normal topology in cycles
This model seems to have normal topology (all quads and there are no n-gons) My first thought would be the very narrow quad at the front of the boat, but making the front wider didn't do anything. I am shading smooth but it looks even worse shaded flat.

Could you try and clear Custom Split Normals ? Otherwise, could you provide your Blender file using https://blend-exchange.com/ ?

thanks but none of those worked. I added the blender files to the question. Also thank you gordon for fixing the image.

Smoother shading with a few tweaks

I was able to get better shading on your boat model with the following changes.
Join the boat to a plane, then go into edit mode and delete the plane mesh. This resets the transforms and gets rid of any strange object data that may be hanging around. Sometimes this helps when clearing Custom Split Normals fails to improve shading.
Delete the existing material and create a new one. The shading got a lot smoother when I switched to a Principled Shader instead of a Toon Shader. If you still want a toon look, look up tutorials on NPR shader setups.
Use smooth shading with Autosmooth checked. This automatically splits the mesh on the sharp edges, giving you smooth shading on the side of the boat but keeping the hard creases defining the top and bottom.

Add edge loops around the sides of your the boat. Shading is better when quads are closer to square.
Add environment and lighting. Most of your shading problems should be solved now, but it's very difficult for single Point Light to flatter your model. Try using a Sun Lamp or Environment Texture and a ground plane to get some more life into the shading of your model.
Water

World

UPDATE I realized in these tweaks i forgot to check face orientation. I believe your boat surface has backfaces pointed out. use Shift-N to recalculate the normals.

I tried everything and basic google search finally helped me, the issues are:
Long quads that 'break' at an angle turn into triangles causing this shading, if you triangulate the mesh manually and change the Quad Method to Longest Diagonal or Fixed Alternate you can see these triangles change direction.
The problem is that everything is converted to quads, this is only seen with 'broken' quads.
Related and answered: Fix triangular lighting artifacts


text:
One of two uvmaps is not showing image
I have defined 2 uvmaps on one object. I assigned different materials with the same color but different images. For some reason only one is showed up - why?
As you can see, the 1st UV works just fine:

But the other one on opposite site does not show up at all!

Here is my test file.

You have not plugged anything into the Vector input of the Image Texture node. Without any input, it uses the default UV map which is set to Active Render, in your case this is the one named "g1" (and it can always be only one single map be set to active).

To use different UV maps for different textures, you can for example take a UV Map node, select the desired map there and plug it into the Vector input of the Image Texture node:

Yes, that made the job nicely, BUT now it shows just red rectangle in the Preview panel in the material tab - why? Before it was showing the image with correct red bg (you can see it on the image in my question post).

@fafa Honestly I don't know how the material preview handles different UV maps and me personally never care much for those previews - as long as I have setup the materials correctly and they are working when I render my scene, that's the only thing important to me. I just made a test: I created a third UV map just with default unwrapping which has ALL faces unwrapped over the map. If I plug this in, the preview looks like before. I guess it has something to do with the preview not really being the actual object and having some kind of default UVs for showcasing, too. But I don't know.

No problem, to be clear it is not important for me as well but I just wanted to know what is going on with the preview. But I have another problem regarding exporting to Collada, gonna make new post - gee this Blender! ;-)


text:
Eevee's "Shader to RGB" equivalent for Cycles
Is there any sort of way in Cycles to simulate what node "Shader to RGB" does for Eevee?
That is accepting closure (green) input and outputting it as color (yellow)?
BTW I am not using Blender, just a separate renderer called Eyesight which is basically a clone of Cycles renderer, thus what I would like to see is some solution in "one go" made out of nodes that are accepted in Cycles (hoping this does make any sense to you ppl).

Render the scene once, change your material to look up window coords on your render and use that lookup as your shader->RGB, render the scene again.

Ehm, what please??? I do not understand at all what are you saying...besides, I am looking for "literal" solution, that is made directly from existing nodes acceptable for Cycles, as I am not using Blender as such, only a renderer based upon its Cycles renderer.

There isn't a shader equivalent to that in Cycles, mainly because in raytraced renderers like Cycles, each object impacts each other in the scene (while in raster engines like Eevee each of them are basically independent). It's not technically impossible if the devs wanted, but it wouldn't be efficient. You can bake your shader into textures and then redo a shader with these, or edit your shader in compositing.

More info: rendering - Why is 'Shader to RGB' possible in EEVEE, but not in Cycles? - Blender Stack Exchange

So basically it cannot be done as it would be almost impossible to edit that Eyesight renderer materials all written as a XML file, sad and bad for me, what a pity! :-(

You can't directly do it. Now I don't know What Eyesight allows, but in blender you can render the light in cycles and do the RGB operations you seem to want in the compositor by exporting a whole bunch of Arbitrary output layers to the compositor. If Eyesight has a compositor, you may be able to do something similar or you may find the pipleline you're looking for by switching to blender. Hopefully that was some food for thought.

thanks for the comment but unfortunately Eyesight is nothing more than GUI-less CMD-like app, basically just a render window where you cannot do anything like that, you just pass parameters to it and it renders your stuff in one go. Anyway I already solved it quite differently by editing Eyesight's XML file containing all the materials shader nodes and their connections - it was quite a challenge but I made it.


text:
Blender material glare fx
Can we somehow achieve glare effect (like that radio active material small thick glow around the object) on an object using just Cycles material nodes (this is my 2nd I guess better formulated approach with this question)?
Something like the "glowing" laser sabres on this image:

I understood it can be achieved thru Glare effect in the Compositor, but I am curious/wonder if it can be done purely as a Cycles material somehow only with Cycles nodes.
For example I know I can add emission node and it would kind-off like shine, but that is not the same: it is like a light casting itself on other objects and producing shadows + there is no visible thick glow around the object.

Please show an reference image. As it has been said before you can achieve a Glare effect through the Compositor, if it does not satisfy you, explain why, in what way you want to make something different

OK, will update my question with a picture

https://blender.stackexchange.com/questions/15669/glow-with-depth-in-blender https://blender.stackexchange.com/questions/24701/a-tube-of-light-in-a-volume-shader


text:
Exported .dae file has no image references
I created simple object with 2 textures and wanted to export it as Collada .dae file.
After export I found out that the node in the .dae for image references is completely empty like this + there are no images being exported with the file either (I have checked "Copy" under Texture Options for Collada file export):
<library_images/>

I am using Blender v3.6.4 on Win10 x64.
This is my test file:

Does this answer your question? .fbx export why there are no materials or textures?

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

@GordonBrinkmann no, it does not, as I said I have COPY checked in texture options for the Collada export

Having never used that exporter, I don't know whether this section in the Blender manual helps?

@JohnEason no, it did not help: the only image option there-COPY checkbox under texture options - I already used by default...IDK but I am starting to think that this might big a bug in the 3.6 version.


text:
Hide mesh light source but keep the light it EMITS using EEVEE?
I've made a mesh that has an emission shader and I'd like to hide the mesh but keep the light that it emits. Is it possible? I know it's possible in cycles. But I wish to know about EEVEE.
I've tried using the 'hide from render' ( in the outliner ) button but it doesn't work.

You can do it with a shader like this - This will exclude the object from visibility, but will allow the cast lights and shadows to operate. However, since you are using an emission object to cast your "light", you will need to bake the lighting from it using an Irradiance Volume, before it will show up in the render. Also - remember to set the Blend Mode to Aplha Clip.

To get the full effect, make sure to enable "bloom" in Render Properties.

Alternatively you can Bake Indirect Light (as proposed) and after that disable the Mesh-Light object from rendering :)

It doesn't seem to work with a mesh, unless I'm doing something wrong?
[Inline Link] (https://imgur.com/pVWLMvl)

Did you bake the lighting? If so, how big is your irradiance volume?

Yes I baked indirect lighting.The irradiance volume is: [link] (https://i.imgur.com/CwgHyJp.png) Thanks

That's weird... I don't know what to tell you. All I did was make a scene with a plane and a cube. I gave the cube that shader and added an irradiance volume. All I did with the volume was to.increase the X, Y and  Z resolution to 12. Then I baked and that was the result I got. I'm not sure why it's not working on your end.

I don't know, it might be an extension that's conflicting. I'll try on a different computer. I'll accept your answer as it does clearly work just not on my system at the moment. Thanks for you help.

Hey no problem. I'll keep an eye on the question - if you try on a different system later, and it's still not working, let me know, and I'll keep looking into it.

Thanks also to vklidu. I did read about this yesterday and tried it but it didn't work but that must be because of something on my system causing a problem with baked indirect lighting.

I've found the problem, irradiance volumes don't work with 100% metallic materials. If I change the BSDF metallic slider to less than 100% it works but 0% metallic works the best.

What do you know... now I learned something too! Glad you found the problem - I'll remember this going forward.


text:
.dae and fbx export both don't export animation?
Ok Im trying to export an animated mesh to Unity, and Ive tried fbx 7.4 and 6.1, and dae. Here are my dae settings, fbx is just the standard:

No matter which (dae gives the best result) the full animation doesn't export - just the first half. The animation is all bones scaling from 0 to 1. I have no shapekeys.
What could be the problem?
EDIT: the error I get In Unity is:
transform.localRotation assign attempt for 'Bone' is not valid. Input rotation is { NaN, NaN, NaN, NaN }.
UnityEditorInternal.InternalEditorUtility:ProjectWindowDrag(HierarchyProperty, Boolean)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
EDIT: now works in a viewer but in Unity I get (it is supposed to be a full tree):

I recommend using FBX. Try these settings, note the last section for animation is for the simplest application if your using frame ranges and not NLA tracks. Make sure you timeline 'end' includes all your keys an your not using an alternate start/end.

Follow up - it appears to work in an fbx viewer but not in Unity. Check my edit - any ideas?


text:
Mark seam and clear seam in one button
I have been looking for a way to do this for a long time (mark_seam (True\False) and mark_sharp (True\False)) with one button in my pie menu.
I managed to achieve some kind of result. I found how to do one button bevel and crease.
How to determine if the seam is on only selected edges?
import bpy
import bmesh

obj = bpy.context.object
me = obj.data
bm = bmesh.from_edit_mesh(me)
bw = bm.edges.layers.bevel_weight.verify()
cr = bm.edges.layers.crease.verify()
#se = bm.edges.layers.seam.verify()           ???
selected = [e for e in bm.edges if e.select]

if any(e[bw] == True for e in selected):

    bpy.ops.transform.edge_bevelweight(value=-1)

else:

    bpy.ops.transform.edge_bevelweight(value=1)

bmesh.update_edit_mesh(me, True)

Could you clarify what your question is. Preferably with a question sentence (with a question mark) at the start or end of the post?


text:
Trying to edit the nose, but zooming in will display the vertices behind it
The first one in the clip, I can get close to the nose just fine, but the second one, if I try to zoom in... then it displays like that?
How to fix that?
Maybe you can check what's going on, you can download it here.

Maybe try to change the Clip Start of your scene in the 3D view Properties panel (activated with N, on the right of your 3D view window) > View > Clip

Try to change the Clip Start of your scene in the 3D View Properties panel (activated with N, on the right of your 3D View window) > View > Clip > Start.


text:
How to temporarily hide armature for other mesh?
I'm trying to make a fight animation between this two.

But I'm having hard time positioning their body because the armature of the other one is being mixed to the armature of the other.
How do I hide the armature of the other one temporarily so I can position the other one properly?
I don't want to completely hide the mesh, only its armature, so I can see them both while working with only the armature of one guy being shown.
.blend file.

you could hide it or put it on another layer?

@moonboots I don't want to completely hide the mesh, only its armature, so I can see them both while working with only one armature.

yes I meant switch your armature to object mode and hide it or put it on another layer, then bring it back when you have finished

Hiding the top object will only hide the skeleton, not the mesh.
If this is what you want to accomplish, Just click the hide button and you should be good!


text:
Blender 3.6 dae export window differs
I have Blender v3.6.4 and according to this official Blender manual link for v3.6 Collada (.dae file) export window should look like this:

But for some reason in real Blender v3.6.4 that window looks way different lacking many texture options compared to the manual version, see:

Can anyone explain to me what's going on here?!
You see: I am having trouble exporting textures when exporting to dae and those missing options seem like they could actually help to export those textures. Or are they accessible somewhere else? But why are they showing the export window options for .dae looks like that in their official online manual then? Mindboggling...

I see the same dialog. Suggest you report it as a bug via Help > Report a Bug in Blender including the link to the Blender manual section.

Investigating further, that manual page is the same right back to Blender 2.83 and every version of Blender that I've tried from 2.83 to 3.6.4 has the same options on the file selector. In fact the image in the manual appears to be a drop-down menu looking at the top of the image so I've no idea where that came from!

On the off chance that you are exporting model to SL then its,   1: in Blender's Collada export options panel > enable the Copy option. This saves a copy of the image texture to the same folder that you save the .dae file to.   2: In the SL mesh uploader > Upload Options tab > enable the Include textures option. This will tell the uploader to search for an image texture in the same folder as the .dae file and include it in the upload.

@3fingeredfrog 1.) have no clue what SL stands for, 2.) as you can clearly see I HAVE COPY CHECKED (!!) yet no texture (image) is exported with the .dae nor there is any reference inside the dae file for the texture (library_images tag is completely empty inside the dae file)


text:
Change order of object's UV segments
Let's say I have a model consisting of 3 UVs.
This is how they are created by default by typing "U" and selecting the top most option "Unwrap":

But I would like to "reorder" them in a specific order/sequence, where the 1st part would be the last one.
Now, of course, I know I can move them around but that would not guarantee the exact "touching" of their edges (sorry, I do not know how to describe this more correctly): that is the every next UV section would start exactly where the previous one ends - the way it is now.
BTW this is one UV, not 3 separate ones: I'm having these separated by seams edges so the Blender knows they should be separate segments of one UV.
Can anyone tell me if there is some sort of intelligent way how to reorder UVs and yet preserve the way they would still follow one another as I described above (that is: there would be absolutely no gap in between them exactly as it is by default, cos when I am reordering their positions manually it is never that, there always is some tiny micro empty space between them.

I don't think you can match their UV coordinates perfectly. I once tried to match the coordinates of UVs without a shared mesh vertex using a script, but I remember that very small differences were automatically created.

Ah, so it is prolly unavoidable you say?


text:
How to correct glass IOR deformation?
Let's say I have a 3D model of a truck with frontal glass (semitrans plastic), with an object - driver - behind it.
Now everything glass-wise looks OK as it should except one very important thing: the glass deforming objects behind it is totally unrealistic compared to a real thing (real brick build LEGO model).

I was able to get that deformation right by manipulating several material attributes incl. IOR value which is the main key to that deformation. But as you can see I lost the feel of a glass/semitrans plastic: those glass edges looks now like a cheap thin plastic sheet instead of a glass.

So my question is: is there some way how to correct that IOR deformation afterwards with some other node(s)?
As for some sort of code/blend file example: you can use/create any known simple glass Cycles node material out there as this is not question about exactly reproducing my stuff, but rather to answer if we can somehow correct the IOR deformation of the glass after the correct IOR was applied with the IOR itself being intact so that we do not lost the glass feel, we just want to somehow correct the deformation it produces - hope you do understand what I mean here.
As some of you asked for actual real LEGO bricks comparison, I am posting here also now extremely simple example, just a curved canopy and minifig torso - see for yourself how unrealistic that distortion on "normal looking glass" is (1st image; IOR = 1.49) compared to the real stuff (2nd & 3rd - with flash - real image) and then my attempt (4th image; IOR = 1.09 + other material attributes changes as well accordingly to look at least a bit like a glass as changing only the IOR value was not sufficient enough to achieve what I did...yet I would still go even lower but then it was basically nothing like glass anymore, really) that has corrected that deformation but unfortunately it looks now much less like a glass + most important discovery: with real LEGO brick there is almost no visual deformation whatsoever!!!:
1st angle

2nd angle

3rd angle

BTW I need a Cycles solution, if possible Cycles v1.9 as that is the version I am using (and I cannot update to newer as the program rendering this is not my own, it is a product of 3rd party, and it's simply using that version).

You should set correct IOR value for the material. Plastic is actually similar to glass - around 1.5. There are different kinds of plastics and glass and both may have variations in IOR. You can lower it, a bit if that looks more realistic. Then you should deal with the edges separately with volumetric shaders.

Also are you sure the result is incorrect? It might not look right only because you concentrate on it too much and don't usually notice it in real life. What does your reference look like?

I am AFOL (older LEGO enthusiast) having huge inventory of real LEGO bricks at hand, so I can recreate anything I do as CGI and compare, and the real life LEGO bricks do not distorting object behind the glass this terrible hard as on the 1st image, they do it the way you see on the 2nd image. If there would be really need for a real life LEGO bricks example I think I can make a picture, although I do not see why that should be significant regarding if I can provide it or not: you simply have to believe me that the 2nd image as for the deformation is correct one, 1st one is totally off.

Try reading a few hundred questions here and we'll see if you still believe everything people say... :D It might be good to have a picture to compare it to while working for yourself and to post it here so people can help better in any case.Most of us don't have the reference and don't know how it looks. IOR controls refraction, so if you adjust it until refraction looks realistic, you should leave it and work on other issues that still seem unrealistic to you. Edges get darker because of volume absorption, lighter because of volume scattering.

Regarding image example I'll update/change those for the real thing (it'll be another simple model: just a glass and a minifig); as for the other things: as I already said: t's absolutely unimportant what glass material you use for your test as the question is elsewhere, that is if we can make somehow correction to IOR deformation afterwards, thus you really do not need to see anything as it is irrelevant...well, unless one did not understand the question. :-D Regardless what image I use it'll not change anything slightest in the question which is not made around any specific image.

There is nothing to fix in the refraction. It's calculated correctly for the given IOR. Maybe the forms of the actual piece are different. Like the bevels on edges might contribute to how refractions work...

You should make sure surface normals are correct.

There is most definitely no problem with the surface normals - checked with the Blender + see my updated post with real life images now. :-)


text:
Realtime auto keying framing on the timeline don't work as expected on blender 2.81
Hello blender masters.
I'm trying to track and save on the timeline the facial movements of a character using OPEN CV and two custom python scripts that I found here :
https://www.youtube.com/watch?v=RY_eErKlilw
I'm using blender 2.81. This is how it works : after having loaded and ran the two python scripts I go in object mode and I click on the last icon located on the left of the screen,called "Open CV animation". As soon as I do that,a new icon called "OpenCV animation" appears on the right of the screen,under the Active Tool tab. After that I click on "Capture" and a new window appears. It is the OpenCV output window that shows that it starts tracking the face movements of the man on the source video. At the same time I open the tool manycam and I load inside it the video of the man who is talking. Good.
The 3d character that's inside the 3d view of blender starts moving,reacting to the facial movements of the man who is talking. Now,what I want to do is to save on the blender time line the facial movements of the 3d character in realtime,as soon as they are created. The problem is that when I'm on object mode and I click on "auto keying" no keyframes are added.

I tried also to click the "auto keying" button even when I'm on the pose mode,but also,no keyframes are added to the timeline. Can you give me some suggestion ?
I have attached a recorded video to show you what I do. thanks.
https://drive.google.com/open?id=1hDZ4qIlagSGhSum_mz1L0W0IHhBWZoJm

If you need to record an animation on the fly, you have to start the playback first. So that time goes on in Blender's point of view and it can record what you each frame passing by:

Without that, time isn't involved, only the frame under your playhead can be keyed, and it will only do so when a transform is validated (like when you move your object somewhere and release your mouse button to confirm).
Hopefully this is just what you need.

watch this : https://drive.google.com/open?id=1eRFSVhp2o4r3N99d7b1Cv8-WBAl_3FDt ; it seems that it worked,even if I don't see that it added the yellow diamonds on the time line. do u know why ?

If I don't see the keyframes added,I can't slow down the animation.

Weird weird... Maybe look at the Nonlinear editor or the outliner in action editor mode, to see if the animation was recorded in an action that is not loaded in the timeline but still playing.


text:
Can I use images rendered with blender for commercial use?
If I make a scene and then render it with BR or Cycles, am I allowed to use that image in a commercial project? Do I need to include any copyright notice or license?

Also see the FAQ: http://www.blender.org/support/faq/

Short answer Yes.
Just as you own what you draw with a pencil, you own works you make with Blender(no difference).
To quote from blender.org

Your artwork
What you create with Blender is your sole property. All your artwork – images or movie files – including the .blend files and other data files Blender can write, is free for you to use as you like.
That means that Blender can be used commercially by artists, by studios to make animation films or vfx, by game artists to work on commercial games, by scientists for research, and by students in educational institutions.
Blender’s GNU GPL license guarantees you this freedom. Nobody is ever permitted to take it away, in contrast to trial or “educational” versions of commercial software that will forbid your work in commercial situations.

Meaning anything you make in Blender (images, scripts, add-ons, models, entire scenes, materials, textures, and so on) is yours, and you can do anything with it, without any legal notices at all.

A general note about Open-Source, not specific to Blender.
You don't have to get into details of each license.
Any OSI approved License assured you can do what you like with works created from OpenSource software. This is part of the Open-Source, definition as defined by the OSI,
http://opensource.org/osd
Points 5 and 6.

No Discrimination Against Persons or Groups

The license must not discriminate against any person or group of persons.

No Discrimination Against Fields of Endeavor

The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

I have seen that and I get it. But it doesn't say anything about any copyright notice or something like that. Does it mean it's not necessary?

@Alex correct no legal notices at all. You own anything you make.

Also note that cycles is under the apache 2.0 license, but this doesn't change anything.

It doesn't say anything about them because they are not needed.

@gandalf3: So if I render it with cycles does that license apply?

@Alex no, the cycles code is licensed Apache 2.0, but anything you render with it is your and you can license it any way you want.

@Alex, Cycles being Apache 2.0 licensed - is a detail. Cycles used to be GPL but that didn't make any restrictions on work rendered with Cycles (Just as Blender Internal is GPL and doesn't restrict artists).

@Alex, it seems as if you're trying to find some limits/restrictions where there are none, with regards to restricting your artistic use of software. In fact - Blender could use any OSI approved OpenSource license, and the situation would be no different (edited answer to include this). http://opensource.org/licenses/alphabetical

To expand a bit on David's answer -
The GPL license used by blender is applied to the source code used to create blender, it only forces you to share modifications you make to the source code if you create a modified version of blender that you wish to share.
The GPL does not affect the data (the blend files) used by blender or output generated (our artwork) by blender.
The data and artwork you generate when using blender is fully owned by you and you can choose to use or share it under any terms you wish.
Similarly you will also find that most of the data used to create the open movies created by the Blender Institute are released under the Creative Commons Attribution license (CC-BY), this means you are free to use the models used for the short movies as long as you give credit for their creation "by The Blender Foundation" and not claim them as your own.
Disclaimer - this is an explanation of my understanding and not to be taken as legal advice. Get proper legal advice if you are unsure of how the licensing terms affect your usage.

that's basically correct. Just as you can use images created in Photoshop without paying a license fee to Adobe per image, you can use content created in Blender without giving it away for free and handing over ownership to the Blender Foundation.

GPL applies to the original code itself in this case Blender, even then all you can do is claim you made Blender or remove its licensing etc..
I think its pretty straight forward like any open source project. You can assume you can't make use of anything that comes out of the box with Blender and go on claiming it as your own, if it has a license behind it for example. For anything that doesn't you can assume is your derrived work and you can claim it under whatever license you desire.

Blender is a Free tool, Open Source and free, you choose what you do with it, this doesn't mean that you can copy someone else's artwork, If you draw a character with copyrights using a pencil, and use this drawing in a commercial, this is illegal, but it's not the pencil that's going to sue you, it's the entity that holds copyright of that character. So as David said, Blender is a free tool, just like a free pencil, it belongs to everyone who wishes to use, what you do with it, is your responsibility.
If you're asking whether you can use images rendered using Blender, that was done by someone else, well then the answer is no, because those images are that person's/studio's/company's/entity's property, you have to check their license, Blender has nothing to do with it.
I'm not a lawyer, and this is not a legal advise, but as a matter of fact, it's no secret that there are thousands of Blender artists using blender for commercial uses, Developers working on add-ons posting them for free or selling them, scientists, students...etc. And Blender Foundation is making this available to everyone for free, with no obligations.

[NOTE: I am not a lawyer on any part of the internet, including especially, Blender Stack exchange, nor in any other jurisdiction, and what I write following is a statement of my own personal, informed, but non-professional opinion]
I see a deficit in both Sambler's and David's answers. If you want to use Blender to create an infringing work—Blender models of Thomas the Tank, Mickey Mouse, and model of a French's mustard bottle are but three of a myriad of infringing works—you must first have permission of the everyone who controls the various intellectual property rights to that object. Without prior permission from the IP rights holders, the Blender license does not convey any shield or indemnity against infringement. And in the event of infringement, sambler's statement,

The data and artwork you generate when using blender is fully owned by you and you can choose to use or share it under any terms you wish.

is also likely to be false.
So I'd submit that David's "short answer" should be changed from "yes" to maybe.

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


text:
How can I make a line of vertices round?
I have a straight line of vertices and I don't know how to make them be arranged in a circular shape such as the top part of a dome.
Can anybody help me?

do you want to bake just one line of vertices round? Or do you want to take a flat edge, and bridge the edge in to a round edge?

Well, either way would be good. I just need to create a semi-circular shape.

If you don't mind not using the original vertices, I would add a circle (ShiftA >Add circle) in edit mode, so that it's added straight into the current object.
If you want to keep the existing verts, you could try using the To sphere operator (AltShiftS), or the circle operator in the bundled loop tools addon (you will have to enable in User prefs > Addons).

In the above example I first rotated one of the end verts with proportional editing enabled (O), to give it a semi-circular shape. This makes it easier for the circle operator

It should be added that, when using LoopTools > Circle across a Mirror Modifier, the routine will use only the one side as input, so the results will not be as expected.

@Ben good point; in that situation you can put the 3D cursor in the actual center of the sphere (e.g. by selecting two opposing vertices and snapping the cursor to selected (shift+S)), then set the cursor as pivot (numpad .). To sphere at least will then be centered as expected, I'm not sure about looptools (and am currently on mobile, so I can't test atm)

I will give it a go, if that works out, it would really sweeten my day!

Loop Tools does not seem to give a hoot, but To Sphere works just as advertised!

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


text:
Follow path constraint deforming mesh
I have rigged a mesh and then I've added a curved path I'd like it to follow. Next, I've added a path constraint to the armature and everything works fine except for one thing: when the mesh rotates to follow the path's curve it is heavily distorted towards the curve's direction.
Does anyone know how I could fix this?
Thank you.

did you check the FOLLOW CURVE option in the constraint? cause it should be unchecked

I fought this today and found the issue was one of the axes of my path was scaled to something other than $(1.0,1.0,1.0)$, which I assume happened from my resizing the path. Any objects that followed the curve got the path's scale applied to their geometry. To fix it I did Object -> Apply -> Rotation & Scale on the path, and my troubles went away.

Exactly what I had. Your answer solved it! thanks a ton!

enabling Follow curve option  in the follow path constraint force the mesh to deform according to the path "like a curve Modifier does" :

to follow the curve without a distortion :

add an empty with a follow path constraint on the same path
adjust the offset of the follow curve of the object  " 1.00 or according to your path"
add a locked track constraint to the object and set the target to the Empty object
keep adjusting the offset till you get a nice result

I would like my mesh to rotate in the direction of the curve, but if I check follow curve it just deforms in that direction. Do you know if there is any way that it could rotate without deforming?

follow curve should be unchecked

In docs it says follow curve only owner's rotation is modified by the curve. Why the deformation?

IMHO this is not the issue with OP's question.


text:
How to integrate Zbrush with Blender for long run animation projects?
I have years of experience with Zbrush though I am learning blender right now.
I would like to model characters in Zbrush bring them into Blender for animation.
Please let me know what is the best work flow for it. If you can share any tutorial or link for it, even that will help.
I have not found any book which can let me know about this process.
There are many for zbrush and max/ maya but not blender.

Q. How do I move a sculpt from ZBrush to Blender?
A. These workflow methods assume that you have everything set up properly for the GoB 2.72 add-on on both the Blender and ZBrush side, it is working as it should and you have confirmed this with prior testing.
Method 1 – Pre-open Blender before sending from ZBrush to Blender using GoZ

Open Blender and enable the GoB 2.72 add-on
Optional: Clear the Blender scene for simplicity sake.
Open ZBrush and select the SubTool that you want to transfer to
Blender.
In ZBrush, go into Geometry choose the subdivision level that you want and then
delete the lower subdivision levels.
In ZBrush, make sure that Blender is the current GoZ application and then press
GoZ.
In Blender, press the green GoB import button.
Note: You can have this toggle button enabled beforehand and the
subtool will auto import when GoZ in pressed in ZBrush.

Method 2 – Open Blender after sending from ZBrush to Blender using GoZ

Open ZBrush and select your SubTool that you want to transfer.
In ZBrush, go into Geometry choose the subdivision level that you want and then
delete the lower subdivision levels.
In ZBrush, make sure that Blender is the current GoZ application and then press
GoZ.
Open Blender and enable the GoB 2.72 add-on.
In Blender, press the green GoB import button and the mesh will
import.

(workflows tested and working with Blender 2.77a)

Thanks for the tip with deleting lower subdivision levels. Just tried GoB out and was wondering how to get my subdivisions in ZBrush over.

By default Zbrush wont detect Blender.
You will need to install the plugin manually that GiantCowFilms suggested.
However the link posted only includes the blender side. For the zbrush side you will need to download another link. It comes with instructions on how to install.
This video from CGcookie has instructions and links on how to get it working.
Using the GoB Zbrush Applink with Blender

Here is a plugin for blender that allows for a very good degree of integration between z-brush and blender.

I am not sure Goz detects Blender. It never detected it before. I will try rechecking it.

I have checked Goz not detecting Blender.


text:
how to get the center point of a letter?
I am using this GN setup here:

result:

but unfortunately i cannot get the bounds of my different convex hulls...
I tried attribute statistic -> no values
and i tried bounding box -> no values (aka all zero)
So how do i do that?
here the result of the bounding box of my convex hulls in the viewer:

You could solve this as follows:

It seems a bit sophisticated, but I don't think there is a way with less nodes, since Bounding Box can't provide values in case of instances.
Only when you convert the instances into geometry you get processable information.
Therefore I choose the "detour" via curves here.
By scaling the height to zero and then applying Convex Hull, I get several lines after the realization, which I convert to curves with Mesh to Curve.
These curves then only need to be resampled to two points.
By dividing the single segments I get the center point, which I can filter out with Endpoint Selection.
The point determined in this way is then the center point of each individual letter.


text:
how to copy a curve in geometry nodes
I have a beziercurve and i want to copy that curve with geometry nodes.
Unfortunately my knowledge of geometry nodes is limited so i don't know why this doesn't work.
Can anybody show me how this works? And/or why mine doesn't?
Node tree:

result:

blend file:
sorry, had to use dropbox, blend-exchange doesn't work for me right now:
https://www.dropbox.com/s/1wphst0tkj1rvbh/copy%20curve%20probl.blend?dl=0
Of course Robin is right, instancing would solve the described problem.
But...
the "end goal" is to concatenate two curves....so that the position and handle positions of the end of one curve is the same as the other curve start position. So i thought this "easy" case would help solving that ;)

I'm being dim. I'm not getting why instancing the curve on a point, and realizing the instance, won't do.

the "end goal" is to concatenate two curves....so that the position and handle positions of the end of one curve is the same as the other curve start position ;) and that's why instancing won't help.

Not working, I think, because Capture Attribute passes attributes down the green geometry branch it is on, between different states of that Geometry. You need to Transfer Attribute s between independent geometry branches.

I don't know if this is what you're after.. it takes a single-Bezier-spline curve as input on an (arbitrary) modified object, and 'manually' generates a copy of the input curve:

It generates an 'any-old' curve with the same number of points, and then transfers all the necessary attributes by index.
Blend-File Here, Blender 3.2a

Blend-Exchange  must be playing up at the moment? 3.2a, because I don't want to hack earlier versions of Blender to do what later versions will do anyway,, I lose track of where ele it might work :)

thank you! didn't know that difference of capture and transfer ;)

@Chris np! I can't remember where I first heard the difference phrased that way, but it sure helped understand what's going on. :)


text:
rigging in combination with GN
I want to control my IK target (cube) with GN.
Unfortunately if i move my cube by GN the rig won't move with it. If i move the cube manually, it works, the rig moves with it.
Looks like i am still too tired or still don't understand some basic principles here...

So what do i have to do that i can control my rig via GN?
I tried: setting the GN before and after the armature modifier...won't work too :( and of course like here in the pictures move the cube by its own GN

So we have an IK structure, with a cube, but that structure only responds to transformation of the cube-- moving it in object mode-- while our GN modifiers are instead deforming the cube-- moving the vertices inside its existing object space, without changing the actual orientation of that space.  And we want the IK to respond to the deformation.  What can we do?

IK is always going to work on the transformation, but we can make another bone that captures the deformation.  So we'll start by adding a new bone in our armature, that's unparented to anything, and we'll designate this new bone as our IK target instead of the cube.
Now, we need a way for the bone to acquire the location of the cube's actual vertices.  We can do that by creating a vertex group and assigning all of our vertices in Cube to that vertex group.  I'll call that vertex group "o" for origin.
Then, we'll give our new IK target bone a copy location constraint, targeting the cube, and we'll specify "o" as the vertex group.  When it sees that the constraint is using a vertex group, it won't copy the location of the object; instead, it will copy the weighted, average location of vertices assigned to "o":

This is assuming we only care about location for our IK target, which is usually the case.  If we care about rotation as well, we can create two new vertex groups on our cube but only assign some of our vertices to these groups, then damped track and locked track these vertex groups in the same way that we copied position from "o":

So we're rotating our cube in a GN transform node, and our new IK target is acquiring that rotation, first by pointing its -Z axis at the face we marked with vertex group "z", then by rotating about its Z axis to point its X axis at the face we marked with "x".
This technique can be used in nearly any situation to get deformation into a bone's transform.  You will often see people using "child of" or "copy rotation" constraints with vertex groups in lieu of the damped track+locked track I recommend, but that won't always work, because vertices don't really have rotation-- the rotation of a group of vertices is ambiguous.

thank you for your long answer. Maybe i am too dumb to understand your answer....but are you sure you answered on "I want to control my IK target (cube) with GN." ? because i don't see any IK Target in your answer or how the ik target and therefore my bone would move with it....i understand your answer as...how can i move my whole object with gn...but i might miss it because my knowledge is limited. A blend file with an ik target which will be steered by GN would would help me a lot. Thanks anyway.

I misunderstood your question, yes.  I'll edit this to a different answer.

great, works like a charm! Thank you!!

Watch the origin of the cube when you change transform node translation values: It doesn't move.  But IK uses the origin of the object, not the position of the mesh, so you would need a geometry node that moves the origin.  It doesn't current exist (see this post on right click select,) but it is being discussed for future reference.
You don't need geometry nodes to move the cube procedurally, of course. You could use custom properties and drivers, or several other approaches.

Yes, I know, but I would like to use GN to do that, so I just hope the node will come soon

Me too. It would allow a lot of cool procedural rigging; especially for things like GN generated cables.

Nice catch with the moving origin point - never noticed that! +1


text:
why does my pole target need 180 degrees to work right?
Rigging beginner here:
It looks like that i don't understand the pole target.
I have this very simple rig setup:

The cross is my IK Target, the sphere is my pole target.
If i now move my cross...nothing happens.

If i now give bone1 an angle...it doesn't use the pole target...

Ok, i just found out, if i set the pole angle to 180 degrees, it works, as i would have expected.
Can somebody explain me why it need 180 degrees? is there a hidden logic?
i bend the 2nd bone to the left, and i hoped it would "correct" that because the sphere is on the right. But it didn't do that.

It's not clear how you bend Bone.001 and what you were trying to do. It's the IK bone (here Bone.00) that will point towards the pole target. Also, once you switch to Pose mode it may rotate the wrong way, in that case you need to correct the Pole Angle

i updated my answer, sorry for the confusion.

If you make some "initial" rotation in +X direction, it will correspond to 0 pole rotate.

Armature can contain more than 2 bones. For example, one points forward, second - backwards. And the pole will rotate the whole structure:

although it's a bit confusing that the "first" move decides, how the pole target is influencing the behaviour. For beginners (like me) it would be easier, if it just bends to the pole target. And depending on the pole angle it could rotate. But...what do i know? ;)

It can contain more than 2 bones. For example, one points forward, second - backwards. And the pole will rotate the whole structure.

Thanks! Now it makes sense to me!

It always helped me to think of the pole vector as defining a plane.
This plane defined by a triangle of

the first joint
the IK target
and the pole vector

You can imagine that plane swinging through space as the pole vector moves and you can predictably position, say, knees and elbows on a character when using IK on a limb.


text:
inverse kinematics with bone constraints only work, if i stop cursor movement and release mouse button
Is it normal, that my inverse kinematics movement which is restricted by a bone constraint only works, if i release the mouse button?
e.g. -> movement restricted to x rotation. I can move with IK in any direction, so it "ignores" my constraint. If i release the mouse button, the position will be corrected.
video here: https://youtu.be/KavMfJzCESE
blend file:

The IK constraint you have isn't doing anything, because it doesn't have a target specified.  It may be affecting the other bones via auto IK, or via those bone's constraints.  It looks like there are a lot of problems with the rig you're showing, but I can't be certain of all of them without a file.  If you have a jump on confirming a bone transform, have a high suspicion of a dependency loop-- open a console window and look for dependency cycle warnings.

ok, I added my blend file. But obviously my constraint does something, because it works after releasing the mouse button ;) I cannot see any error in python console. It is my first rig, so i am bloody beginner here....

Okay, so after seeing the .blend, I was wrong in my comment.  (Because there have apparently been some changes made to how Blender handles IK.)  However, these changes made to Blender aren't really great changes, and I'm still going to recommend doing it the old fashioned way.
So, first, let's explain what's going on.  You are moving the chain via IK.  The IK algorithm doesn't know about the limit rotation constraints that you've set for the IK bones, so while you're moving it, it's not using any these constraints.  However, at the point that you confirm, it's then evaluating those constraints and so changing the bones' transforms.
Limiting the angles of IK with limit rotation constraints is, well, kinda hacky.  Hopefully obviously here.  (Limit rotation is a deceptively hard constraint to use well anyways, for reasons that are spectacularly math-y, particularly in world space like you're doing here.)  It looks like Blender devs have tried to make it work, but it doesn't work well.
A much better way to get the IK you want is to delete these constraints and use IK angle limits and locks.  You can see these by selecting a bone in pose mode and then looking at properties/bone/inverse kinematics.  In this particular case, we want to lock Y and Z axes for all of the bones:

Note that these are no longer world-space limits on your rotation, like you had with your constraints, but I'd bet a lot of money that you didn't want them world-space anyways.
With this setup, it works fine for me-- but I'm still wary of the unusual structure.  It's typical with an IK setup to designate a target for the IK constraint, but if this works for you, that's fine.  The more typical way to do this would be to put the IK constraint on Mid, give it a chain length of 2, duplicate and unparent Upper and designate this duplicate as the target of the IK constraint, and finally give Upper a copy rotation constraint targeting the duplicate.  (Which could be followed by a limit rotation if you wanted.)

Great, thank you! This works fine for me!


text:
Transformation constraint question
There are 2 cubes cube A and cube B. And cube B has a transformation constraint. target object is cube A. please see the picture.

cube B needs to move faster than cube A when it moves in positive X location but it needs to move with cube A when it moves in negative X location, but this constraint setting moves cube B at the same speed as cube A. Besides that cube B's default X location is set to X 10 when transformation constraint is active. it needs to be X 0. What should I do to make cube B move differently in negative and positive location?

you can do this with this script:
import bpy
from mathutils import Vector

def changePosition(frame):
    # triggered by a frame change, any code inside here gets run.

    a = bpy.data.objects['Cube A']
    b = bpy.data.objects['Cube B']

    fcurve = a.animation_data.action.fcurves

    x = fcurve[0].evaluate(frame-1)
    x1 = fcurve[0].evaluate(frame)

    deltaX = x1 - x

    if deltaX > 0:
        b.location = b.location + Vector((deltaX * 2,0,0))
    if deltaX < 0:
        b.location = b.location + Vector((deltaX,0,0))

    print("delta is", delta)

    return 0.0

bpy.app.driver_namespace['changePosition'] = changePosition

def my_handler(scene):
    changePosition(scene.frame_current)

bpy.app.handlers.frame_change_pre.append(my_handler)

Note: You have to "reset" your cube b after the end of your animation because it won't be resetted automatically.

Basically the script reads the animation information of cube a, checks whether the delta x movement is positive or negative and adds then 2 * x (in case of positive) or x (in case of negative) to cube b  x position.
result:

nice. thank you

Glad I could help. Loved to figure it out


text:
I cannot see the real time render in viewport
I don't know why after saving my first project in blender I save that file and then when I open nextday the real time rendering is stop working in my viewport. I search many saying try clrt+alt+b I try but nothing happened.

please provide blend file

When you re-open blender you are in solid mode by default. Press Z in the 3D viewport and select either "Material Preview" or "Rendered" from the pie menu.

@Chris We should be encouraging new users to explain their questions thoroughly  in text/screenshots before reaching for blend files as a last resort.  See this meta post.

there may be a pause button in the top right corner

Sorry it my foolish mistake. I am new in blender. Later I found that when we open blender it by default in solid mode. If we need real time rendering then we need to switch to rendered mode that what I forgot to do.


text:
Blender weird behaviour when scaling
I am pretty new to blender and it looks like i have "killed" some default settings. I have no idea how to fix this.
i just marked an object, press s to scale...and just some axis are scaling but not the sphere!? what happened? what did i do!?
movie here:
https://www.dropbox.com/s/cet24v9jfekajud/sphere_not_scaling.mov?dl=0

on the top righ of your 3D view > Options, you've enable the Transform > Affect Only > Origins option, it allows you to move the object's origin

thank you! you saved my day!!!


text:
is there a quick exact way to connect two cylinders with different size?
I have this two cylinders and I want to connect them to one part.
So I want a plane to lay down on their surface (or just connect them) so that they touch only the surface/tangent of the cylinder like pic2.
Is this somehow easy and exact possible?
my current solution is: i use a plane and try to lay it like i want to find the exact face i need to bridge the faces. But i cannot believe that such a great tool like blender hasn't a better solution than this. (pic3)

select faces. right-click and click on bridge-faces

if i select faces and do bridge-face the error appears: select at least 2 edge loops

ah, sorry, it wasn't one object - my mistake

that is one part of the solution, thank you Mohammad. But how do i know the tangent face? I tried also with face snapping...but did not work at all

you should select faces you need to connect. its up to you.

i know, but i asked whether there is a quick exact way to do it. I didn't meant manually.


text:
how to follow a list of splines one after another
i try to follow a list of splines with a "emitter mover" - one after another.
I did this with animation nodes (image below)
result: the first spline works well and moves along the first spline.
the second "jumps" to the starting point of spline 2 and stays there instead of moving along the spline.
the third "jumps" to the starting point of spline 3 and stays there instead of moving along the spline.
what am i doing wrong?
update: i know, how to connect splines - i don't want that to use, because i need them "splitted"

After playing a while with the nodes you have used, I discovered that the Object Action Output Node expects to start with frame 1 for each subsequent action. You might put a math-node with Modulo selected between Time Per Char Node(b)  plus * *(a) and the Frame input from the Object Action Output Node to get what you want.


text:
shortcut for changing radius of circle select
Is there any chance (or add-on) so that i can change the circle radius of "circle select" quickly?
Really great would be e.g. holding control and just moving the mouse up and down.

I am searching for a mouse/trackpad solution because i am working on a Macbook (no Numpad ♂)

Either scroll the mousewheel or there's an addon described here.

unfortunately i am on a macbook - if you know a workaround for scrolling...pls tell me. The add-on would be great if it would work with touchpad/mouse move

Use Numpad + and - buttons

Always say what machine you're using! You should know that by now @Chris! :^) Does a Macbook have a numpad? - The addons I found seem to suggest that's how they work as Christopher says.

@JohnEason: you are totally right. Of course i have no numpad. And of course i am searching for a mouse/trackpad solution

@Chris While looking at videos of addons, I've realised that you can change the Select circle radius from the N panel on the Tool tab which might be of use to you! I've always used the scroll wheel under Windows so I'd never thought to look there before.

On a trackpad, try to swipe with 2 fingers to increase and decrease the circle size.

@Blunder: I tried this so many times. it never worked. I have no idea why it works now. Maybe because of the keymap change. But i am happy i can now change it via trackpad which is for me the most elegant and quick solution

I don't think it's a good idea to do it with mouse movements because this is needed for the selection of geometry, e.g. Here is another solution with two shortcuts:
Add two KeymapItems in Preferences > Keymap > View3D Gesture Circle:

Single steps:

Add New > select Add in PropertyValue > (default mapping = Keyboard, default event = A, nothing to do) > expand KeyMapItem > tick Repeat

Add New > select Subtract in PropertyValue > (default mapping = Keyboard, nothing to do) > click event (button right) > press S on keyboard > expand
KeyMapItem > tick Repeat

In screenshot I have disabled the old Add/Subtract items with events Numpad +/-and Wheel Up/Down if they do not work for you.
In Circle Select Mode now, if at least one vertice is selected and LMB is hold, the selection radius can be changed with A for add and S for subtract. Tested in 2.9.3 and 3.3.0

Thank you for you answer. I really hoped for a similar functionality in sculpting. You just press F and then you can size it with your mouse. That's very fast and intuitive - i think. But anyway you got my right answer click - until someone can show me a better/easier solution ;) But your answer is very useful to me because it is a strong improvement for me.

Wow! I didn´t know about this function. The mousewheel doesn't work in sculpt mode and I needed to change the radius also by properties. Till now. And in fact it´s very pleasant and works in particle edit mode as well. Thank you very much for this clue.


text:
Circular distribution of objects getting weird
I have this python script which perfectly distributes my cylinders on a circle.
def create_circular_array(number_of_objects, radius, name):

    # angle = radian / numbers_of_ob
    angle = 2 * math.pi / number_of_objects

    halfPi = math.pi / 2

    # loop number_of_ob
    for i in range(number_of_objects):

        new_Name = name + '_' + str(i)
        bpy.ops.mesh.primitive_cylinder_add(radius=1, depth=2, enter_editmode=False, align='WORLD', location=(0, 0, 0), scale=(0.1, 0.1, 1))
   #     bpy.context.active_object.name = new_Name

        bpy.ops.transform.rotate(value = halfPi, orient_axis='Y', orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(False, True, False), mirror=True, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)
        bpy.ops.transform.rotate(value = math.pi * 2 - angle * i + math.pi / 2, orient_axis='Z', orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, True), mirror=True, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)
        bpy.data.objects[i].location[0] = math.sin(angle*i)*radius       # x = sine(angle*i)*radius
        bpy.data.objects[i].location[1] = math.cos(angle*i)*radius       # y = cosine(angle*i)*radius
        bpy.data.objects[i].location[2] = 0

create_circular_array(16, 2, 'inner')

But...
If I uncomment this line
#     bpy.context.active_object.name = new_Name

Everything is messed up. The coordinates and angles are wrong.
What am I doing wrong here!?
and yes, i want to rename my newly created objects. So it is not a solution for me to delete or comment out that line.

Python is very dependent on the text indentation to structure the code. Adding the comment character (#) where you have is not aligned with the indentation and so it will be effectively ending the loop at that point.
Instead, comment the line immediately before the text (#bpy.context....) so as to maintain the indentation.
The other problem you have is that you are indexing the objects directly using 'bpy.data.objects[i]'. This results in the 'location' not being set on the correct object - since it's the position in the list of all objects in the scene - not just the ones you have created. Furthermore, since the objects are effectively stored in name sequence, changing the name is changing the position in the list and so you are changing the wrong object each time.
The solution is to stick to using the active_object - since that's the one you have just created on this iteration of the loop.
Here's the amended code :
import bpy
import math

def create_circular_array(number_of_objects, radius, name):

    # angle = radian / numbers_of_ob
    angle = 2 * math.pi / number_of_objects

    halfPi = math.pi / 2

    # loop number_of_ob
    for i in range(number_of_objects):

        new_Name = name + '_' + str(i)
        bpy.ops.mesh.primitive_cylinder_add(radius=1, depth=2, enter_editmode=False, align='WORLD', location=(0, 0, 0), scale=(0.1, 0.1, 1))
        bpy.context.active_object.name = new_Name

        bpy.ops.transform.rotate(value = halfPi, orient_axis='Y', orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(False, True, False), mirror=True, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)
        bpy.ops.transform.rotate(value = math.pi * 2 - angle * i + math.pi / 2, orient_axis='Z', orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, True), mirror=True, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)

        #This bit changed to use 'active_object' instead of indexed in the objects list
        bpy.context.active_object.location[0] = math.sin(angle*i)*radius       # x = sine(angle*i)*radius
        bpy.context.active_object.location[1] = math.cos(angle*i)*radius       # y = cosine(angle*i)*radius
        bpy.context.active_object.location[2] = 0

create_circular_array(16, 2, 'inner')

And here's the result :

Thank you very much! i learnt a lot!!!

Vectors Matrices and Shared Mesh.

FWIW have added an approach that will be a lot quicker, use one operator call, and create only a single mesh
A single operator call, creates the cylinder at the scale and applies the 90 degree rotation about Y to its mesh.
This object is then passed to our create array method with a center, radius, how many to create, and optionally the collection to link them to.  This way can create Suzanne's or any object to "array".
As default it creates 40 about the point (1, 2, 0) with a radius of 1. To make same with question code would use 40 x 3 = 120 operator calls. See
Python performance with Blender operators
which can get horribly slow for a lot of copies.
The initial object is moved to the center point plus the radius in x.  A matrix is calculated that will rotate it an nth' of 360 degrees around z axis.
Matrix math to translate, rotate, scale with respect to a pivot point in Object mode
A copy is made, it shares the mesh of the original, and the alignment. The matrix is applied (multiplied) to its matrix world rotating it 360 / n degrees.  It is then copied and repeated until there is no more and we are back to first.
Duplicating a mesh object
import bpy
from mathutils import Matrix, Vector
from math import pi

context = bpy.context
scene = context.scene

def circular_array(
        ob,
        n,
        center,
        radius,
        revs=1,
        matrix=Matrix(),
        coll=bpy.context.scene.collection):

    center = Vector(center)

    ob.matrix_world.translation = center
    ob.matrix_world.translation.x += radius
    angle = 2 * pi / n
    name = ob.name
    ob.name = f"{name}_0"

    M = matrix @ (

        Matrix.Translation(center) @
        Matrix.Rotation(angle, 4, 'Z') @
        Matrix.Translation(-center)
        )
    for f in range(1, revs * n):
        ob = ob.copy()
        ob.name = f"{name}_{f}"
        ob.matrix_world = M @ ob.matrix_world
        coll.objects.link(ob)

# Test Call

# create our object to array
bpy.ops.mesh.primitive_cylinder_add(
        location=(0, 0, 0),
        scale=(0.1, 0.1, 1),
        rotation=(0, pi / 2, 0),
        )

ob = context.object
ob.name = "Tick"
# array ob 40 times about (1, 2, 0) with radius 2)

circular_array(
        ob,
        40,
        (1, 2, 0),
        1,
        )

Matrices
To further prattle on about matrices have put a matrix into the transform mix.
S = Matrix.Diagonal((1.01, 1, 1, 0.9))
R = Matrix.Rotation(28.6 * pi, 4, 'Y')

circular_array(
        ob,
        50,
        (1, 2, 0),
        1,
        matrix = R,
        revs = 10,
        )

Bringing a scale matrix into the equation would have a spriral effect.

Thank you very much for your answer batFinger. Unfortunately i do not understand it. But that is my fault because i have just a few days experience with Blender python and i am pretty proud i made it that far (from my - i have no idea what i am doing - point of view ;). Hopefully i do understand your answer in a few weeks when i am diving deeper into that very amazing topic.


text:
Some vertices are still showing in object mode
I'm not sure why these vertices (color green) still showing even in object mode.
You can download the file if you want.

Include screenshots into the question body please using tools of the site so that after certain time links do not lead to 404 page

You only have 3 faces, therefore some edges are floating and are visible in Object mode. You need to correct this.


text:
rendering GPU load is decreasing
Dont know where is problem, render image for 8 min, gpu max load, compute 100%, card temperature 70 degrees during render. And 5 min later same image, card compute 100%, but card temperature only 60 degrees, less power draw and render time 20 min... How is it possible?
edit: I found if I restart blender, first render take always 8 min. and if not restart every next render take 2x more time.. Its some bug?

It's possible that your card is decreasing the clockspeed because of high temperature.
You can use msi-afterburner (its free) to see all parameters of your gpu.
Maybe if you are rendering with gpu and cpu, the gpu doesnt render everything (stays cool) and cpu is slower (it takes longer).


text:
Particle hair dont follow mesh in animation
i have animated mesh with hair particle system. When I render any single frame along all animation so all looks good. But when I want render animation hair don't follow mesh..
Any idea why? Blender 3.0.1
edit: when i bake dynamics it also looks good, but i don't want dynamics..

maybe move the Armature modifier above the ParticleSystem modifier?

I don't have armature.. Hair mesh is Child of another armature bone..


text:
Pivot to Center Of Mass/Volume in pie menu error
I have the Pivot to Center Of Mass and Pivot to Center Of Volume functions inside a pie menu:
import bpy
from bpy.types import Menu, Operator

class RP_MT_TransformEdits(Menu):
    # bl_label is displayed at the center of the pie menu
    bl_label = 'Transform Edits'
    bl_idname = 'RP_MT_TransformEdits'

    def draw(self, context):
        layout = self.layout
        pie = layout.menu_pie()
        # Here should be every function for the pie menu
        # Order the lines in different order for different pie order
        # Pie order: west, east, south, north, north-west, north-east, south-west, south-east
        pie.operator('object.center_of_mass', icon = 'SNAP_VOLUME')
        pie.operator('object.center_of_volume', icon = 'OUTLINER_OB_SURFACE')

class OT_PivotToCenterOfMass(Operator):
    #needs to be lower case and underscores as word separation
    bl_idname = 'object.center_of_mass'
    bl_label = 'Pivot to Center Of Mass'
    bl_description = "Set the object's origin, by either moving the data, or set to center of data, or use 3D cursor."

    def execute(self, context):
        bpy.ops.object.origin_set(type = 'ORIGIN_CENTER_OF_MASS', center = 'MEDIAN')
        return {'FINISHED'}

class OT_PivotToCenterOfVolume(Operator):
    #needs to be lower case and underscores as word separation
    bl_idname = 'object.center_of_volume'
    bl_label = 'Pivot to Center Of Volume'
    bl_description = "Set the object's origin, by either moving the data, or set to center of data, or use 3D cursor."

    def execute(self, context):
        bpy.ops.object.origin_set(type = 'ORIGIN_CENTER_OF_VOLUME', center = 'MEDIAN')
        return {'FINISHED'}

classes = (RP_MT_TransformEdits,
           OT_PivotToCenterOfMass,
           OT_PivotToCenterOfVolume,
           )

def register():
    for cls in classes:
        bpy.utils.register_class(cls)

def unregister():
    for cls in classes:
        bpy.utils.unregister_class(cls)

if __name__ == '__main__':
    register()
    bpy.ops.wm.call_menu_pie(name = 'RP_MT_TransformEdits')

When I try to use one of the functions I get the following error:
Error: Python: Traceback (most recent call last):
  File "\Text", line 46, in execute
  File "C:\Program Files\Blender Foundation\Blender 3.0\3.0\scripts\modules\bpy\ops.py", line 132, in __call__
    ret = _op_call(self.idname_py(), None, kw)
TypeError: Converting py args to operator properties: : keyword "type" unrecognized

But running either
bpy.ops.object.origin_set(type = 'ORIGIN_CENTER_OF_MASS', center = 'MEDIAN')

or
bpy.ops.object.origin_set(type = 'ORIGIN_CENTER_OF_VOLUME', center = 'MEDIAN')

from the text editor works fine.
Why do I get this error?

Changing the id_name for each class to something unique instead of having the same as the operators in Blender fixes it:
import bpy
from bpy.types import Menu, Operator

class RP_MT_TransformEdits(Menu):
    # bl_label is displayed at the center of the pie menu
    bl_label = 'Transform Edits'
    bl_idname = 'RP_MT_TransformEdits'

    def draw(self, context):
        layout = self.layout
        pie = layout.menu_pie()
        # Here should be every function for the pie menu
        # Order the lines in different order for different pie order
        # Pie order: west, east, south, north, north-west, north-east, south-west, south-east
        pie.operator('test.pivot_to_center_of_mass', icon = 'SNAP_VOLUME')
        pie.operator('test.pivot_to_center_of_volume', icon = 'OUTLINER_OB_SURFACE')

class OT_PivotToCenterOfMass(Operator):
    #needs to be lower case and underscores as word separation
    bl_idname = 'test.pivot_to_center_of_mass'
    bl_label = 'Pivot to Center Of Mass'
    bl_description = "Set the object's origin, by either moving the data, or set to center of data, or use 3D cursor."

    def execute(self, context):
        bpy.ops.object.origin_set(type = 'ORIGIN_CENTER_OF_MASS', center = 'MEDIAN')
        return {'FINISHED'}

class OT_PivotToCenterOfVolume(Operator):
    #needs to be lower case and underscores as word separation
    bl_idname = 'test.pivot_to_center_of_volume'
    bl_label = 'Pivot to Center Of Volume'
    bl_description = "Set the object's origin, by either moving the data, or set to center of data, or use 3D cursor."

    def execute(self, context):
        bpy.ops.object.origin_set(type = 'ORIGIN_CENTER_OF_VOLUME', center = 'MEDIAN')
        return {'FINISHED'}

classes = (RP_MT_TransformEdits,
           OT_PivotToCenterOfMass,
           OT_PivotToCenterOfVolume,
           )

def register():
    for cls in classes:
        bpy.utils.register_class(cls)

def unregister():
    for cls in classes:
        bpy.utils.unregister_class(cls)

if __name__ == '__main__':
    register()
    bpy.ops.wm.call_menu_pie(name = 'RP_MT_TransformEdits')