애니메이션 기법과 장면그래프 HyoungSeok Kim Multimedia Workshop 애니메이션 기법과 장면그래프 HyoungSeok Kim
기법의 종류 기본 기법 특수 기법 3차원 애니메이션 기법 양파껍질 효과 (Onion-skinning) 도려내기 효과 (Cut-out) 가감속 (Easy-out / easy-in) 반복 (Cycling) 특수 기법 찌그러짐과 늘어남 (Squash & Stretch) 보조액션과 중첩액션 (Secondary action & Overlapping action) 과장 (Exaggeration) 3차원 애니메이션 기법 키프레임 (Key-frame animation) 역운동학 (Inverse Kinematics) 모션 캡쳐 (Motion capture) 절차적 기법 (Procedural method) Dongeui University
양파껍질 효과 양파껍질을 투명한 cel에 비유해서 생긴 이름 프레임의 처음과 끝을 한 눈에 보기위한 기법 Director, Fractal Design Painter등에서 지원 Dongeui University
도려내기 효과 캐릭터의 일부분만 움직이는 단순한 동작 표현에 사용 움직이는 부분만 도려내어 다시 그리고 다른 부분은 배경으로 사용하여 합성 Macromedia Freehand등에서 지원 Dongeui University
가감속과 반복 가감속 반복 Key frame animation에서 사용 중간 동작이 key frame 으로 가까울 때 다가가면 천천히 감속 (easy-in) 멀어지면 천천히 가속 (easy-out) 반복 대부분의 동작이 반복적 예: 걷기 반복적인 동작을 한번만 그리고 반복시키는 기법 Dongeui University
찌그러짐과 늘어남 강조하기위한 기법의 하나 유연성이나 탄성, 관성 등의 표현에 사용 톰과 제리 등의 애니메이션에서 사용 Dongeui University
보조액션과 중첩액션 보조액션 중첩액션 과장 주액션에 더해지는 간단한 동작 보조액션을 주액션과 합성하는 방법 효율적인 전달을 위해 사용 모양, 크기, 동작 등을 과장하여 표현 Dongeui University
Key-frame Animation 전통적인 애니메이션 기법에서 도용 Computer animation에서도 널리 사용 특히, 사람이 연기하기 어려운 캐릭터의 동작 표현에 사용 Pixar의 Bug’s life등에 사용 Dongeui University
Inverse Kinematics 로봇 동작 계산에 사용된 기법 인간이나 로봇 등과 같이 계층적으로 구성된 구조체 표현에 적절한 방법 3차원 모델의 각 부분들을 하나의 모델로 연결 예: 몸통, 팔, 다리, 머리 한 부분이 움직일 때 다른 부분의 움직임을 수학적으로 계산 Dongeui University
Motion Capturer 자연스러운 사람 동작 생성에 사용되는 기법 동작을 손으로 그리는 대신 사람이 연기한 것을 기록하여 사용 연기자의 동작 기록을 위해 여러가지 센서를 사용 Magnetic tracker: 자기장 이용 Optical tracker: 마커와 함께 사용 Dongeui University
절차적 애니메이션 알고리즘을 사용하여 동작을 생성하는 기법 사람동작을 물리적으로 시뮬레이션 물, 나무 등의 모델 생성 Fractal Dongeui University
Scene Graph 개요 Traversal 변환 임의의 축에 대한 회전 Dongeui University
Scene Graph의 개념 root 공간상에서 상대적으로 연관성이 있는 물체들 예) 애니메이션 캐릭터의 관절 유사한 부분으로 구성된 물체 Directed acyclic graph로 표현 root Dongeui University
Scene Graph 애니메이션과 모델링에서 사용 Dongeui University
Scene Graph 상대적 위치 변환 물체의 좌표변환이 부모의 좌표에 상대적 로봇의 예 (오른쪽 그림) Shoulder는 base로부터 (0 1 0)로 위치 변환 upper arm은 shoulder로부터 (0 3 0)로 위치 변환 Elbow은 upper arm로부터 (0 3 0)로 위치 변환 fore arm은 Z축으로 90도 회전 후 (0 2 0)로 위치 변환 Dongeui University
Scene Graph Rendering Traverse Camera 좌표계로의 변환 이전에 모든 물체를 world 좌표계(WC)에 따라 정의하여야 함 Base 상에 있는 점(p) B: WC로 부터 정의된 Base 좌표계 WC에서 B•p로 표현 좌표변환 행렬을 stack에 저장 따라서 shoulder상에 있는 점(q)는 S: Base로 부터 정의된 Shoulder 좌표계 WC에서 BS•q 로 표현 Base 좌표계로부터는 S•q로 표현 Dongeui University
Key-frame animation & Tweening 일반적 경우 On traverse 그래프를 내려갈 때 stack에 “push” 그래프를 올라갈 때 stack에서 “pop” Stack에 있는 행렬의 곱이 현재 변환 행렬 (CTM) Dongeui University
극좌표계 P ( x , y z ) 두 개의 각과 거리로 표현 Z Y Q O X 각: , 거리: r = length(x,y,z) OQ의 길이 = r sin() 따라서 x = r sin()cos( ) y = r sin()sin( ) z = r cos() Z P ( x , y z ) X Y Q O Q : XY 평면에의 투사 (projection) : X 축과 OQ의 사이각 : Z축과 OP의 사이각 Dongeui University
임의의 축에 대한 회전 Z X Y O p1 p2 p1-p2를 축으로 회전 Dongeui University
임의의 축에 대한 회전 1. p1이 원점이 되도록 좌표 이동 2. Let p3 = p2-p1 p3의 극좌표 계산 (r, ,) 3. Z축으로 - 회전 결과: p3가 ZX 평면에 위치 4. Y축으로 - 회전 결과: p3가 Z 축에 위치 5. Z 축으로 회전 6. 단계 4-1을 역으로 적용 Dongeui University
임의의 축에 대한 회전 p3 Z Y O p1 p2 Z Y O Start Translate Dongeui University
임의의 축에 대한 회전 p3 p3 Z Z Y Y Rotate2 Rotate1 Dongeui University
임의의 축에 대한 회전 p3 After Steps 1-4 Now we apply the transformation we are after Invert steps 4-1 p3 Z Y After Steps 1-4 Dongeui University
Scene Graph 결론 모델 및 환경 생성을 위해 scene graph 사용 렌더링을 위해 현 좌표계로의 좌표변환 계산을 위해 사용 임의의 축에 대한 회전 애니메이션에서 관절에 의한 회전 계산에 사용 Dongeui University