Animation

From WhiteWing
Jump to: navigation, search

Contents

Lectures

Mindmap

  • Skin Morphing
  • Animation Morphing
  • Animation Blending
    • Time Warping
    • Additive Animation
  • Procedural Animation
    • Inverse Kinematics
    • Passive Physics Based Simulation
      • Ragdoll
    • Active Physics Based Simulation
  • Crowd Simulation
  • Facial Animation

Style

Additive Animation

애디티브 애니메이션은 두 애니메이션 간의 차이를 계산하여 다른 애니메이션에 더하는 기법이다. 예를 들어 무기 재장전 애니메이션을 애디티브로 만들면, 이것을 대기 애니메이션, 전후좌우 걷기 애니메이션, 달리기 애니메이션에 사용할 수 있다. 이는 리소스 제작을 줄이기 위한 기법으로 당연히 각각의 상황에 따른 애니메이션을 하나하나 만드는 것보다는 질이 떨어질 수 밖에 없다. 하지만 여러가지 애디티브 애니메이션이 동시에 적용되는 경우를 상상하면 이 모든 조합의 리소스를 하나하나 만든다는 건 불가능에 가깝기에 애디티브 애니메이션은 필수적인 요소로 자리잡았다고 보아도 무방하다. 이 애니메이션 기술은 주로 FPS 게임에서 많이 사용되고 있다. 자세한 것은 Unreal Engine의 애디티브 애니메이션 소개 페이지[5]에서 볼 수 있다. Unreal Engine 3[5]과 Unity Engine[6]에서 모두 지원하고 있는 기술이다.

애디티브 애니메이션을 만드는 방법은 여러가지가 있다.

  • diff bone angle을 직접 넘겨 주는 방법
  • 두 개의 예제 자세를 넘겨주어 diff pose를 계산, 적용하는 방법
  • diff bone angle for phase를 넘겨 주는 방법
  • 두 개의 예제 동작을 넘겨주어 diff animation을 계산, phase 별로 적용하는 방법

애디티브 애니메이션의 사용 범위는 여러가지가 있다. Naughty Dog에서는 이를 노이즈를 주거나 사격 조준 자세 등에 이용했다.[1] 캐릭터의 성격 부여를 하기 위해 사용하기도 한다.

애디티브 애니메이션의 문제로는 다음 같은 문제들이 있다.

  • 본의 끝점 위치가 엇나갈 수 있다.
    • 하체에 애디티브 애니메이션을 줄 때에는 발미끄러짐 현상이 보일 수 있다.
    • 무기의 겨냥점이 엇나갈 수 있다.
  • 본이 다른 본을 교차하는 경우가 생긴다.
  • 물리 법칙을 심하게 위반하여 자연스럽지 않게 보일 수 있다.

Animation Retargeting

Edmond et al.[7]은 Delaunay tetrahedralization을 통해 생성한 interaction mesh에 spacetime deformation을 사용해 이것을 해소하는 방법을 제시하고 있다.

Cartoon Animation

  • Squash and Stretch
  • Anticipation(사전 동작)
  • Follow Through : 채찍과 같이 하위 관절의 동작이 상위 관절의 동작을 따라가는 것
  • Ease In and Ease Out : smooth velocity
  • Secondary Action : 머리카락, 가슴 등 동작의 흐름에 따라 변화되는 2차적 애니메이션. 이도 역시 Follow Through의 한 종류라고 생각해도 되지 않을까?
  • Exaggeration
  • Center of Mass
기본 법칙들을 최대한 응용한 게임으로는 Jack and Daxter를 예로 들 수 있다. 모션의 품질이 좋았던 이유는 애니메이션을 제작해 왔던 애니메이터들이 게임개발에 뛰어 들어, 애니메이션의 요소를 모두 살리면서 게임에서의 액션감 또한 살릴 수 있었기 때문이다. 파이날 판타지, 킹덤 하츠 등의 게임들은 모션의 품질은 좋았지만 여러 법칙을 사용하지 않은 채 동작만 부여했다. 이들 모션을 자세히 관찰해 보면 늘어나거나 구겨짐, 심한 왜곡, dynamic action들이 거의 없었고, 대부분 모션의 유연성은 제작의 염두에 두지 않아 보였다.[8]
필자의 경험으로는 후자인 맞는 사람의 모션에 비중을 두는 것이 더욱 타격감을 높이는 길이라고 생각한다. 때리는 캐릭터는 간단한 동작을 하더라도 맞는 사람이 크게 맞아 준다면 더 큰 힘이 느껴지고 그만큼 타격감을 높일 수 있기 때문이다. 게임이나 영화에서 타격감을 내기 위한 요소로는 다음과 같다.[8]
  • Motion : player and enemy
  • Frame : timing
  • FX : visual effect
  • Sound : foreground and background
  • Camera : view point, shaking and depth of field
오래된 영화에서는 때리는 느낌을 강조하기 위해 공격하는 순간 피격받는 자세를 취했다. 당시 영화의 대부분은 타격과 동시에 피격 포즈가 나왔다. 그 때문에 실제 타격은 없지만 타격이 있는 듯한 느낌을 주는 타격감을 극대화하려고 노력했던 것과 같다. 강하고 힘이 넘치는 타격감을 표현하고자 할 때에는 큰 반응을 묘사하는 피격 동작을 만드는 것이 좋은 타격감을 이끌어 내는 방법이라 할 수 있다.[8]

Animation Papers

  • The Cartoon Animation Filter[9]
    • http://www.youtube.com/watch?v=GjSQPaFTh4M
    • http://vis.berkeley.edu/papers/animfilter/
    • http://research.microsoft.com/en-us/um/people/cohen/TheCartoonAnimationFilter.pdf
    • "The human skeleton model we use has 43 degrees of freedom and we apply our filter independently to each DOF except the translation of the root node in the directions parallel to the ground plane. ... In all the examples we set the amplitude of the filter to be 3 and σ is dynamically adjusted for each DOF throughout the sequence."
    • 사실 멋진 듯한 수식이 있긴 하지만 결국 현재를 기준으로 한 앞 뒤 특정 기간동안의 힘(=acceleration) 만큼의 Anticipation과 Follow Through를 주는 것이다. 현재에서 미래까지의 가속도 convolution 만큼을 빼 주는 것은 Anticipation이라 할 수 있을 것이고, 과거에서 현재까지의 가속도 convolution 만큼을 빼 주는 것은 Follow Through를 주는 것이다.
  • General construction of time-domain filters for orientation data
Programmable Motion Effects.png


Wiggly Splines.png
  • Animating Oscillatory Motion with Overlap: Wiggly Splines[11]
    • Here we explore the range of Spacetime Constraints problems that give rise to quadratic optimization functions solvable with linear systems of equations. We find that they generalize traditional splines to encompass oscillatory solutions. These problems can be solved at full frame rates, giving animators a keyframe animation tool with built in knowledge of a physical model.
    • http://graphics.pixar.com/library/WigglySplines/WigglySplines.mov

Crowd Animation

  • Aqua : 물고기 군중
  • Afrika : 동물 군중

Quadruped Animation

  • Quadruped Animation, Skrba et al. Eurographics 2008
  • The Cheetah Couriers, Thomas Baekdal
  • Jak 3 Mission Walkthrough Part 31 : Jack & Dexter 3 게임 장면 중 하나인데, 사족보행 로봇이 걸어다니는 모습을 정말 멋지게 표현하고 있다. 기본적으로 거미와 같이 걸어가는 모습인데, 방향 전환이나 반동을 표현하는 것이 일품.
  • Afrika : 동물 군중 씬, 각각 개별 동물들의 움직임도 멋짐.

Jak Legacy Problems

References

  1. 1.0 1.1 Creating a Character in Uncharted : Drake's Fortune, Naughty Dog, GDC 2008
  2. Structure vs Style, Chris Hecker, GDC 2009
  3. Style Machines, Brand and Hertzmann, SIGGRAPH 2000
  4. Style Translation for Human Motion, Hsu, Pulli and Popovic, SIGGRAPH 2005
  5. 5.0 5.1 http://udn.epicgames.com/Three/AdditiveAnimationsKR.html
  6. http://unity3d.com/support/documentation/Manual/Character-Animation.html
  7. Spacial Relationship Preserving Character Motion Adaption, Edmond et al., SIGGRAPH 2010.
  8. 8.0 8.1 8.2 Creative Game Motion, 최석우, 한국게임산업개발원 게임아카데미
  9. The Cartoon Animation Filter, Wang et al., SIGGRAPH 2006
  10. Programmable Motion Effects, Schmid et al., TOG 2010
  11. Animating Oscillatory Motion with Overlap: Wiggly Splines, Kass and Anderson, SIGGRAPH 2008

Personal tools