Geometry Nodes

Hey thanks for the help on this question earlier.

So I managed to add a radius to individual point indices but could only get it to work by converting each fillet to a mesh then joining everything back together with the join geometry node. This method gives bad topology.

is there a better way to fillet the corners without having to convert each fillet to mesh then joining everything back again?

See the result below and also the curve shape before the fillets are added.

A better look at the nodes

There are a lot of ways. This one moves the X coordinates of the vertices (the add node) but also multiplies by 0 all the vertices X less than 0 and by 1 all the vertices with positive values (the Greater Than node only outputs 0 or 1).

Yeah, no I don’t think it’s really strictly speaking rooted in ideology here. I was making a off-topic comment over there(and marked my own post as such) only remarking that broadly OSS projects can be categorized into those 2 camps.

In case of projects like blender there is typically someone like Ton with the final say on decisions like this. So can have the more liberal licensed projects but far fewer of them tend to have a “benevolent dictator for life” and they are also more likely to end up forked in such situations.

Anyways, I recon if Ton made the call it was probably to bring some never ending discussion or argument to end so the development could continue without this blocking it. At least this is what I’d expect.

The whole global variables(what does that even mean in this case? Object space? Modifier space? Surely graph space is the local, right? Normally GLOBALS are whole application wide, but that’s borderline ridiculous in this case I suspect) and scoping can be reevaluated further down the line for a following release just as well.

1 Like

Thanks for the clarification :slight_smile:

nd scoping can be reevaluated further down the line for a following release just as well.

Well, that’s assuming they fix their design flaws first, there is still some serious downside/inconsistencies in this restriction that they need to resolve in the short term. Might be easier to just go for the good old get/set attr.

The whole global variables(what does that even mean in this case? Object space? Modifier space?

Global space, in the context of the discussion, represents geometries spreadsheet data
Builtin globals, aka bultin attributes are allowed to be read/written within nodes, but not custom globals aka user named attributes.

Just replace the lower combine xyz with a Boolean AND node or simply a multiply node.

This is my hope too! We are getting to the level, where all of the needed ingredients for the proper hair system are almost there.


Quick test of the new instance transform nodes


That’s such a good “spawning” animation for game assets.


Thanks! This type of effect has become much simpler to set up now.
I’d love to have some “treat mesh islands as instances/points” node some day to simplify things further in some cases.


Guys i have some cool filed node groups for you
-Quaternion stuff (Euler to Quaternion, Quaternion to Euler, Quaternion Multiplication)
-Vector Transforms with reverse option
-MatrixWorld Converter


XYZW are quaternion elements, as you can see the conversion is faithful
i must say i do not understand quaternion well (like 99.99%) just followed formulas, should work fine :slight_smile:

Capture d’écran 2021-10-14 162102


this might need a context, the emitter object is moving, but at the same time we are instancing a particle in the local space of another object :slight_smile:

all here


I don’t get it.
Can you share a very simple scene to learn…

Sure, I’ll set up something later when I get home.
The motion effect is pretty much the same as the one I explained in this video a cuple of months ago:

The difference is that instead of using the mesh transform node in the nodetree, and applying the same nodetree for all objects, now you can disable the original collection of objects, bring it to a nodetree on a placeholder object via a collection info node, and use the transform instances nodes instead of the transform node. This is much cleaner since you don’t need to apply the same tree to a lot of objects.
(Would be even cleaner if/when we get collection/objects nodes so you don’t need to use a dummy object, but stil it’s already a lot nicer)


Hello everyone.
So I’m doing some experimentation with curve objects and I can’t just figure out a solution to this one problem.
A curve object has some control points and a spline (generated from the points). The set position node and random vector node can be used to randomise these points anywhere in 3D. However, I wish to randomise the points along their spline. Any idea how I can go about this? Curves are parametric so technically randomising the parameters of each of the points should produce what I want. The curve parameter node comes to mind. however, I’m not sure how to go about it or if it’s even possible in geo nodes. Another idea would be to randomise the points in 3D and then project them to a copy of the original spline. Maybe geometry proximity node can handle this? I’m not sure either as I have no idea how that node works too.

Edit: I believe the Trim Curve node does similar except it slides the start and end points along the spline

use the normal/tangent vector to drive your position randomization along one of these axis

1 Like

Thanks! that works. Although for extreme randomization it changes the shape of the curve drastically

Generally that’s what the curve sample node is for. Here’s a node group that moves a curve’s points along its path:


this might be a weird question.

Why are the Input_templates on geo nodes retuning None? in 3.0 compared to 2.93.


In 2.93 they offer information on the output data but in 3.0 none of it is offered.

1 Like

can`t do nothing with move points along curve
is it working like i wish?

wow! It worked like a charm! thank you!
I always used to imagine the Sample Curve node as sampling just one point along the curve and not the whole thing at once. I guess I still haven’t fully understood just how fields ought to work yet I guess

You need to connect the Position of Curve Sample node to the Position input of Set Position node.

Also if all you want to do is slide the points along the curve then remove the random value node(red highlight) and by changing the value of the add node you get that effect

EDIT: You need to have a Realize Instance node connected right after the object info for Set Position node to work correctly