Golevka / deformation-transfer

An implementation of Deformation Transfer algorithm in ANSI C
287 stars 110 forks source link

Deformation and translation? #4

Open sjoerd-dijkstra opened 7 years ago

sjoerd-dijkstra commented 7 years ago

Hey,

When transfering the deformation with 'samplerun.sh' it seems not only the shape deformation is transfered, but also a vertex translation to all vertices which was not in the original deformation.. Am i doing something wrong, or how can i avoid this? See screenshot of the first two out*.obj. These models should be in the same place i assume?

deform

Thanks!

Sjoerd

Ayangdanny commented 6 years ago

I also encountered this problem, do you solve it?

Ayangdanny commented 6 years ago

What I want to do is Face Animation,If the Deformed face blendshapes are not in the same place,it can not be used in fitting Step, I confused how to make the deformed mesh in the same place?

seanwen86 commented 5 years ago

@Sjoerdie @Ayangdanny , Hello, Have you guys figured out how to deform face blendshapes while maintaining them at their original positions?
Any suggestions would be appreciated. Thanks in advance.

best regards, Sean

JobAtom commented 3 years ago

@Sjoerdie @Ayangdanny , Hello, Have you guys figured out how to deform face blendshapes while maintaining them at their original positions? Any suggestions would be appreciated. Thanks in advance.

best regards, Sean

Hello, I am wondering if you find a solution or any suggestions for this global transform result?

sjoerd-dijkstra commented 3 years ago

Hi @JobAtom , @seanwen86 ,

While it is some time ago i used the tool for facial animation, I remember solving it by finding the global translation with a calculation. Looking at the article the global translation is actually part of the deformation transfer equation described by Sumner and Popovic.

As far as i remember this Deformation Transfer algorithm in ANSI C solves the actual deformation, but not the translation. Looking at the article all vertices should have the same translation so I presume the global translation for all vertices is equivalent by determining the distance of two arbitrary vertices that have the same index between the source and target mesh.

e.g.

distance = VertexSource0 - VertexDeformed0

Reference:

image