I noticed that when I use geometry nodes to scatter object instances they inherit the scaling of the parent object. I would like to compensate that by dividing the instances by the parent scale first, so initially they start with a unit scale. Now the problem is how to access the scale of the input geometry?
Geometry nodes offer the transform node, but that is an additive setter for position and rotation and a multiplicative setter for scaling. I did not find any getter for those values. There is none yet, right?
I tried using a driver on the transform node with
self
enabled, butself
points to the socket in that case, e.g.NodeSocketFloat
. Is there a way to access the processed geometry from within the driver usingself
? True, it works by copying the scale field of the object but that will work only on that particular object, I seek a general solution that would work for all objects with different scales using the same geometry nodes instance.I also tried to create a new input parameter for the modifier where I would feed the scale again by a driver using the
self
variable, but that also relates to the modifier. Is there maybe a way to access the underlying object from there?
If there is any other way to reset the scale of the instanced object, will be glad to find out.