Copying point animation from a static mesh to a moving one

   436   4   1
User Avatar
Member
3 posts
Joined: Dec. 2017
Offline
I have a face mesh (source) that is static and contains some mouth animation. I also have a destination mesh that is tracked to a live action plate of an actor and therefore moving in x,y,z in world space.

The project aim is to transfer the mouth animation of the source mesh to the corresponding points on the destination mesh.
Both meshes have the same number of points and the corresponding points on each mesh have the same index number.

I have been trying to use the notion of tangents space to 'extract' the local movement of the source mesh so that when applied to the destination mesh the movements respect the relative positions on the destination mesh.


So far I have:
1. Calculated the tangent space for both meshes with the polyframe node.
2. Calculated the movement in tangent space of each frame of the source mesh relative to the first frame with attribwrangle.
3. Copied 2 to the destination mesh with attribcopy.
4. Converted the tangent space displacement vectors to world space and applied them to the point positions of the destination mesh using attribwrangle

....and when I play it through the first frame is fine then the mesh explodes.

Is my project aim possible? Are tangent spaces the way to go for this?

Thank you in advance

-O
Edited by wingpilot - Feb. 20, 2024 18:21:38
User Avatar
Member
8555 posts
Joined: July 2007
Offline
wingpilot
Is my project aim possible? Are tangent spaces the way to go for this?

Yes, its definitely possible
1. Your process sounds like it should work if done correctly

2. You can also probably use Point Deform to capture the animated face with rest face and deform to the world space face

3. Or you can compute your displacement vector on the rest face towards animated one and use Attribute Reorient SOP to apply it to the world space one and then displace
Edited by tamte - Feb. 20, 2024 15:52:16
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
3 posts
Joined: Dec. 2017
Offline
Thank you very much for your input Tomas.

I didn't state it explicitly but the the destination mesh, that is tracked to the live action plate, is at a very different scale to the source geometry.

Would that have impact on the process or would my approach (if somehow corrected) and your suggestions work with the meshes being a different scale?


-O
Edited by wingpilot - Feb. 20, 2024 18:21:55
User Avatar
Member
8555 posts
Joined: July 2007
Offline
Yes, it would affect it, you can for example compensate scale by scaling the displacement vector by the square root of the ratio of point areas (Measure SOP) between rest and world space geo
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
3 posts
Joined: Dec. 2017
Offline
Ok, that's good to know.

Thank you for your insight!

-O
Edited by wingpilot - Feb. 21, 2024 06:34:52
  • Quick Links