06-04-2024, 08:31 AM
(06-04-2024, 08:22 AM)josemendez Wrote: Not really. What you describe is only the very last step. Softbody simulation works using shape-matching, which tries to match the current shape of the softbody to the original shape of the mesh. This involves preprocessing a lot of data about the original shape, which is stored in the blueprint.
Blendshapes modify the original shape of the mesh, prior to skeletal deformation. The reason is that you want to be able to alter the shape of the mesh and *then* have it animate, otherwise the mesh would blend towards the blendshape at rest.
So the desired order would be:
Original mesh -> blend shapes -> lerp(softbody simulation,skeletal animation, influence)
Note that skeletal animation does not happen either before or after softbody simulation, but at the same time. Then, the painted per-vertex influence is used to choose between both.
Now I'm even more confused.
> Blendshapes modify the original shape of the mesh, prior to skeletal deformation. The reason is that you want to be able to alter the shape of the mesh and *then* have it animate, otherwise the mesh would blend towards the blendshape at rest.
Yes, I understand this.
> Softbody simulation works using shape-matching, which tries to match the current shape of the softbody to the original shape of the mesh.
But... Shape-matching constraint should match the current shape of the softbody to the original shape of the softbody mesh, which is generated at the moment the user presses "Generate" in Blueprint editor, shouldn't it? It shouldn't take the skinned mesh, which is used for rendering and can be much much more higher-poly than the softbody mesh, into consideration.
But the blendshape works on skinned mesh. So why does changing blendshape have to affect the softbody, or more broadly speaking, affect the simulation in any way?