How to let image texture take 3d object coordinate as input? #546
-
I'm planning to make a procedual landscape material. I am using object coordinate instead uv coordinate for image texture (landscape is also procedual, so we don't have uv). the result looks weird because one direction of object coordinate is ignored. Like below, z axis is ignored, so texture in z is scaled too much |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
So I believe the EVEE image texture node can receive a vec3 UV and handles the projection method which also requires the generated Normals to decide how the object coordinates being used in place of the UVs will map to the image. I am not sure if there is a built in way to do this right now but luckily Malt is amazing and flexible! I came across a video a little while ago meant for godot about cheap non triplanar mapping, it was helpful for me to get a better idea about some of this. here is a Malt node version of essentially that. But the downside is no fancy blending like in vanilla Evee. But we also can borrow some of the shader code from Blender's source and implement it as a Malt plugin perhaps? Hope this helps |
Beta Was this translation helpful? Give feedback.
So I believe the EVEE image texture node can receive a vec3 UV and handles the projection method which also requires the generated Normals to decide how the object coordinates being used in place of the UVs will map to the image.
I am not sure if there is a built in way to do this right now but luckily Malt is amazing and flexible!
I came across a video a little while ago meant for godot about cheap non triplanar mapping, it was helpful for me to get a better idea about some of this. here is a Malt node version of essentially that. But the downside is no fancy blending like in vanilla Evee.
But we also can borrow some of the shader code from Blender's source and implement it as a Malt pl…