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? 🤔
@sinbad You don’t want to try at least the simplest version of push aside you can think of (in shader, not bones) before deciding against it?
@runevision I already have that for grass and it didn’t look great for larger things. Might try some variations but the problem is the boundary. If you lerp it can fold and if you don’t it’s a hard edge. Only really works with very thin objects
@runevision you really need it to bend as a whole object and when something has lateral size you can’t do that on a vertex basis, it really needs a bone
@runevision hmm maybe I could use some per-instance data (2D position of the whole instance) and read that back in the shader…
@sinbad Yeah I was thinking using the 3D position of the instance. Then you’d be able to bend the object as a whole. I’ve done something tangentially similar for foliage lighting in the past, which required fake normals that knew of the object center.
@runevision yeah UE didn’t previously support per instance data (you had to pack everything into UVs or vertex colours) but looks like it does now, will dig into that tomorrow