First WIP of scatter object displacement for MinerMancers. This will be for objects I don't want to destroy as you walk over / too near to them.

I'm using grass to test with for now simply because it's the easiest to make look OK - you can just flatten it and it looks fine. It'll get trickier for more substantial objects which will need to bend but not completely flatten - but the base principle is working at least

I'm not 100% sure I like this yet, but I'm trying to avoid having actual bones in these larger mushrooms and keep them in the instanced mesh. I don't want them to go pop like the smaller ones, and if I want them to bend out the way and animate properly I have to switch them for full skeletal meshes, and I really don't wanna. Push-aside is tough to look right with anything more complex than grass, so I give you: marshmallowy mushrooms that go flomp when you walk over them? 🤔

Yay, this is much better: big mushrooms getting pushed aside as a whole now using shader position offset. The problem I had with doing this before was the caps folding and crushing because per-vertex the calculation was non-uniform (fine for thin grass, no good for big mushies), but I realised I could use per-instance location data, so all the vertices in an instance can move by the same amount (scaled by height so they bend)

Thanks to @runevision and @bnut for prodding my brain yesterday

@sinbad @bnut Nice, this deformation looks great!

If it was me, I'd make the animation of it much faster, maybe even based on distance to player position directly without time-based animation. Most bendy things will bend back into their neutral state just as fast as you can stop pushing them. So delays give a feel of foamy mattresses or marshmallows, or like they're alive (well, like an animal with muscles, rather than plant). But also a matter of taste of course.

@runevision @sinbad @bnut Bounce easing might be fun sometimes. Byoyoyoyoing!