Guess I can finally share this! A spider shader I made for Tomb Rainder Reloaded. It uses world position, sine waves and vertex colors to animate the spider, all done on the vertex shader. Those are projectiles so they had to be cheap and not skinned. #VFX#madewithunity
First thing I do is make a dot product of the mesh rotation with the world position, so it increments the motion correctly and don't play it backwards when going up or left. I put that on a sine node and I use it to offset the mesh left and right...
Then I add a number to that motion value and repeat the sine to get a "future position". This way I can get a direction that I can use to rotate the mesh (took me a while to figure that out. There are some overlapping sines to give some extra motion on top of all that...
btw, I add those values to vectors so I wont calculate a bunch of sines with scalar values. The legs use sines to move back and forth, and up and down. They have color gradients to them, and each leg has a color channel that I add to the motion as delays to un-sync them...
lastly, but most importantly, the butt has some vertex color alpha painted on that to add some wiggly motion.
The mesh is also super optimized so we could afford many spiders on screen at once
oh, it's not rly the mesh rotation, but a vector (0,0,1) transformed from local to world space, which gives the forward vector
• • •
Missing some Tweet in this thread? You can try to
force a refresh