Please help me check out the Maths of these nodes.
I’m combining the Shader Nodes and Geometry Nodes to create something.
This “Multiple Boxes” object is using Geometry Nodes to assign “Individual Box” object as instances on it.
Now, I use Shader Nodes for scaling, my intent is to scale the boxes larger along x and y axes (in other words, scale them horizontally). So, whenever that black line on the boxes is at (by sliding the red node here:
, the boxes will be scaled larger there.
Like this (for example):
The problem is, it doesn’t work out the way I expected:
Comparing the failed version and the desired version:
The desired version is done without Geometry Nodes, it’s just 5 boxes being copypasted manually.
The failed version uses Geometry Nodes, so I suspect that the problem comes from Geometry Nodes instead of Shader Nodes.
I think the problem is that the material is calculated to map onto the geometry (not the other way around), the shader is calculated after the geometry.
You should find a way to scale the instances in geometry nodes instead of trying to use displacement in the material.
My intent was not for scaling, scaling here is just an example. I initially wanted to transition between 2 materials (which also involves Vector Displacement), which is less effective to be used as an example and question. So, I still need to use Shader Nodes.
I still need help to fix my Geometry Nodes. I know Shader Nodes but Geometry Nodes is still quite new and unfamiliar to me.
I haven’t yet read your reply, but are you aware of this potential bug? I disconnected the Material Node in Geometry Nodes but the material is still applied to the instances:
It would remove the material on the instances as soon as I disconnected the Material Node 5 minutes ago, that’s when I would still able to remove the material. Now the material gets stuck with the instances.
But I don’t think it matters much, just wanted to inform you about it.
I opened your original file and the object you are instancing does have the material, to get rid of it get rid of the material in the “individual box” object.
Yes awesome, it is closer to what I want to achieve, the scaling now fortunately follows the black line.
But can you let them all scale along the Global X and Y axes? Each of them currently is scaling with respect to their own Local X and Y axes.
Actually I’m not sure if I need you to do that.
I can’t think straight now. Please pardon me, Imma take a 2 hours nap, it’s 1AM here. I’ll be back to discuss a bit later.
I was trying to see where my mistake could have been but both setups look the same.
Could you please point out what I did wrong and explain the intuition of it?
Yes, I’m aware, but what messed up the result was something in the Geometry Nodes setup.
I pointed out in my post that:
The desired version is done without Geometry Nodes, it’s just 5 boxes being copypasted manually.
The failed version uses Geometry Nodes, so I suspect that the problem comes from Geometry Nodes instead of Shader Nodes.
Oh that’s weird.
In the new file (ask-scale2.blend), I can’t find the things that you did, including “setting material at the end” and using “Object Texture Coordinate” in Shader Nodes.
The nodes look the same as the ones in my file, but somehow the result got right.
Could you please take a screenshot? I’m afraid that this might be a bug, again.