Anthony C. Fang와 Nancy S. Pollard의 Siggraph 2003에 publish되었던 Efficient Synthesis of Physically Valid Human Motion은 spacetime constraints framework의 performance에 초점을 둔 흥미로운 paper이다. 이 paper를 C. Karen Liu Zoran Popovi´c의 Synthesis of Complex Dynamic Character Motion from Simple Animations와 함께 보면 상당한 유사점을 찾을 수 있는데, simple parameters를 constraints으로 하여 physically valid motion을 생성하는 것이 그것이다. 하지만 포커싱에서 큰 차이를 보이는데 전자는 constraints를 단순화 시킴으로서 퍼포먼스를 향상시키려 함이고, 후자는 단순한 constraints만으로 높은 퀄리티의 모션을 뽑아내는 것이 목적이다. 퍼포먼스 향상의 비결은 매우 단순한데,

- Constraints의 단순화를 통한 모델의 simplize : Ground Contact Friction과 Bar Contact Friction, 그리고 Flight Model에 단일 aggregate force & momentum을 사용함으로 equation의 수를 획기적으로 줄였다. 또한, mass-spring damper를 사용하지 않고 더더욱이 개별 joint에서 발생하는 momentum역시 생략해버려서 제어없이 발생하는 passive force는 없는 것이다. (결국 controller에서 모두 해결해버린다.)

- Joint Body의 Velocity와 Momentum계산의 복잡성은 이 2개의 속성이 다른 방향을 통해 결정된다는 것이다. (Velocity는 Base에서 끝으로 더해나가야 하고, Momentum은 끝에서부터 계산되서 Base로 와야 하기 때문에.) 하지만 간단한 꼼수를 이용해서 local position을 2개의 translation X로 분리하여 Fi를 local velocity, local momentum와 Fi+1로 이루어진 공식으로 유도할 수 있다. 결국 단방향으로 전체 F를 계산할 수 있기 때문에 O(N)으로 떨어지게 된다.



더우기, Appoximation없이 유도만으로 식이 생성되었기 때문에 Error가 없다. 하지만, 실 생활에서 주어진 조건에 따른 최적의 움직임은 여러개인데 반해서 이 방식은 결국 해를 구하는 Jacobian Matrix를 만들어서 일괄적으로 풀어버리기 때문에 해가 무조건 1개이다. 따라서 해가 1개가 될 수 없는 미묘한 움직임(그냥 서있기)은 제대로 작동하지 않는다. 또한, Joint에 Torque를 주는 만큼 Complexity는 증가하여(O(KN)), 모든 Joint에 Torque를 부여하면 O(N^2)이 되어 버린다.

1,4,6번째 그림이 조건이고, 나머지가 이를 이용한 결과이다. (Keyframe을 생각하면 비슷하다.)


Paper PDF 다운 받기

저자 웹사이트 가기
AND