How do I add random vertical movement (via the material) to a bunch of tiles.

Hi guys. I’ve made this little island scene using hexagonal mesh objects. they have all been placed manually via duplication (ie every one is a separate game object.

My question is - how can I add random vertical movement to the water tiles to create a wave effect.
I first tried Simple Grass wind in the WPO slot, but it made the water behave more like jelly, bending all as one continuous surface.

Currently, I have a Time > Sine > Multiply combining with a Constant3Vector, which is giving me the up/down movement i need, but it is moving all tiles the same amount in the same time cycle.

Is there some way i can combine a noise texture and a panner? i think that might give me nice wave movement.

I’m also getting some flickering on the tiles when they reach their apex, if the wave height is too high. is this a side effect of the WPO node?

many thanks

Mike.

in this case you could probably use the actor position and throw the wave math into a node group that runs infront of a vertex interpolator, so the wave is only computed per vertex.

ideally this should be instances and you should have a per instance wave transform in the vertex shader. it does the same math, but it’s more logical and instances are faster.

1 Like

Hey thanks for the response! If its only computed per vertex, will that give me the same result as using simple grass wind? Ie the whole surface wobbles a bit like jelly? I maybe didnt clarify that the intended effect would be the tiles moving up and down, resulting in something similar to the way the island itself is shaped. Random movement would be fine, but if there was a ‘rolling wave’ effect somehow that would be great!

With regards to instancing, i absolutely did this the least efficient way - i placed everything in max (so i could snap the corners together) then imported the whole scene. my content browser has about 400 items in it, so technically the water hexes arent even duplicates, but rather hundreds of unique meshes!

Can i convert these to instances? Would i just have to take one from the content browser and manually place it again in the engine scene? (My knpwledge of instancing begins and ends with the foliage brush!)

Cheers!