The approach is is fairly simple, and it looks a bit awkward on simpler models that have fewer vertices. You can see in the screenshot that the orange platforms only have about 6 verts per edge, so the curve doesn’t look very smooth as it deforms.
I thought I might be able to add Tessellation to the shader, to give it more verts to work with. But I’m not sure how to combine them. My shader currently assigns a value to the “Position” of the “Vertex” portion of the shader. But Tessellation is a sibling to Position. I can add tessellation to my shader, but I can’t feed the tessellated verts into my logic that determines vertex position.
Is there a way to assign a proper Position value for tessellated verts?