How do I setup Noise in material that follows object?

I am working on a material effect that uses the built in noise. I have it doing what i want it to but I have one issue: the noise does not stay with the object when it moves, its world based.
I remember seeing you demo something like this on your original elemental demo on the “jade knight” but it wasn’t in the elemental demo you released ( this demo was the original one you showed us at GDC few years back )
any tips or examples of the noise following the object its applied to?
Thanks much!
here is what i have so far:

1 Like

spectacular!
That worked! Thanks so much for the fast response!

Instead of “Absolute Worldposition” try placing the BoundingBoxBased_0-1_UVW material function. What that does is return local space normalized to be within the object bounds. It should allow you to move the object and have the noise remain fixed relative to the object.

To match the tiling you will probably have to multiply the result by whatever your object size is. Your could even use one of the provided objectscale nodes or just use a scalar parameter and specify the scale.

3 Likes

I have the same problem, but I use a skeletal mesh which itself is getting deformed, so even the local space changes constantly and so does the noise. The character should be able to move around (change absolute position) and have an animation played (changes local position) but the noise should still stay at the same size. How would I do this? :slight_smile:

For something more complex like that, you may need to bake out a unique texture containing the normalized local space positions of your mesh and then perform the noise by using the texture map as the positions. I saw a presentation at siggraph on how the dreamworks guys did the rippling alien characters from home and they basically baked out a tangent space direction map and then performed all the math in tangent space. very interesting stuff. It’s basically like flowmaps but as simple as having a second UV layout that is tweaked and baked to a texture (or stored on the actual verts themselves).