Position(object) applied noise on Particles

7950925--1018063--seamlessNoise_01.gif
[static Mesh on left. Mesh render in Shuriken on right]

I used a revolved plane and project Voronoi noise + panning perlin noise to create distortion

I am applying both noises with Position{object} rather than a UV node so that its seamless
just like detailed by this thread

Position>Object → UV on noise nodes in shadergraph works great on static mesh
7950925--1018066--upload_2022-3-9_0-25-4.png
I really wanted to utilize the technique with particles

I can understand that the position expects a plane of existence otherwise it smears… but the panning speed I have and the simple noise (used to distort) is going bonkers on the particle and the scale seems a lot larger but in odd contrast the pan speed seems blown up exponentially.

how or what is happening? how could I normalize or correct this problem (without flattening the noise into a texture)
or perhaps re-project noise using a different way

Could it be related to the fact that shuriken particle data is always transformed into world space before it gets to the shader? (position, normal, tangent)

1 Like

Oh yah! I checked to see if particles and meshs are identical using World position input and they match 1:1

1 Like

ok thanks @richardkettlewell very helpful.

Work-around (afaik) is cross-product matcap technique - minimize screen swimming and projects view confined to object bounds

  • it works with mesh and billboarding alike, even with world-based rotation.

satisfactory test results so far, imho
7955296--1019170--matcapDistortion_01.gif
view based distortion remains seamless

  • partners with UV space operations
  • allows access to rotations
  • non-proportional scale to perturb ratio on local level
2 Likes

wow that’s really nice!

Super cool! I didn’t know there was a work around for this. Can you share a graph?

hey material capture is analogous to an old environment map ----locked to view around the object rather than world.

BGolus had a great crossProduct version here

I think I put it in ShaderGraph like this at the time (<-- this snip is makes the UV’s for noise/texture applying)

1 Like

Brilliant! Thanks mucho for the help!

1 Like