시작하면서
- 이번에는 보간을 이용한 애니메이션 기법에 대해 알아보자
Keyframing
- key frame1 에서 key frame2로 이동할 때, 점을 1:1 매칭을 통해, 이동에 대한 보간을 진행하는 방식
- 관절체인 경우, 각 관절의 각도
- 점 이라면 점의 위치
- 시간에 대해 보간을 이룬다.
- 여기서 같은 형태일 경우 쉽게 가능하지만, 모양의 변화가 일어났을 경우는?
=> 시간에 대해 모양을 바꿔줘야함
Keyframing a shape
- u에 따라 각 위치를 보간해주기
- 보간 직선으로? 곡선으로? 곡선으로 하면 부드러움.
- 곡선으로 보간하면, 시작, 중간, 끝의 기울기를 정해줘야함
Animation Language
- 동적인 표현을 위해 입력, 조건을 script로
방법
- Artist-oriented animation languages
모든 점에 대해서 위치를 제어해야하는 방법.. 간단하지만, 너무 노가다
- Full-featrued programming languages
C/C++/Java와 같은 script language. 위치 잡아주고 나머지는 적절히 따라 움직임
- Actor-based Systems
걸을때는 이렇게. 뛸 때는 이렇게. 미리 정해둠.
강체는 이제 다 되었음. 변화 물체가 문제
두개의 문제가 있지
- Correspondence problem
- Interpolation Problem
방법
- Object Modification
모든점을 바꾸는것이 아니라, 특징적인것만 바꾸기
warping을 점 단위가 아닌, 공간 전체로 움직이기
하나 움직이면 위치에 따른 비율로, 다른것도 같이 움직이게 할 수 있음
- 가까운건 많이, 멀리있는건 적게 움직이면 됨
장: 자연스러움. 원하는 공간에 위치시킬 수 있음
- Direct Manipulation
장: 제어하기 좋음
단: 부자연스러움. 전체적 모양제어는 어려움
- 2D grid-based deforming
공간을 움직이자!. grid를 변화함.
각 점을 보간하여 위치 지정
얼굴 deforming에 자주 사용됨.
- 2D skeleton-based bending
뼈대를 정의해서 움직이기. 거리의 비율 따라 같이 움직여
- Global Transformations
점 위치에 행렬곱으로. 점 어디 있느냐에 따라 변화
z에 따라 곱해지는 값이 다르다거나, 회전양이 다르다거나 그런식으로 변화를 줌
- Free-Form Deformations
비율에 따라 변형
Control points에 따라 변형. Bezier과 비슷
box 끝까지의 비율을 통해 정의 => box 형태 변형되면 따라서 변형됨
deform에 따라 animation 생성 가능 (ex.뱀 움직이는 것 처럼)
입과 같은 얼굴 표전 animation 생성에도 좋음
Skinning과정에서, 팔을 굽힐 때 box에 대한 거리 비로 나타남으로, 근육의 변화를 표현하기 좋음
결국 중요한 것은
- 점이든 부분이든, 1:1로 매칭하는 것
- 모양이 굉장히 다른 경우, 선택에 여지가 많아지면서 어려운 문제가 됨
Object interpolation
- Radial mapping
- 중앙을 관통하는 central axis가 공유공간을 지난다면, 쉬워짐
- 중앙에서 ray를 쏴서, ray만나는 위치로 서서히 interpolation 진행
중앙에서 다 slice해서 각각 보간을 진행해야함
단면에서 답을 못찾으면? 구에 mapping진행!
- Map to sphere
- 구에 투영시킨 후에, 거기서 2차원문제로 풀기
- 나눠서 동일한 개수의 삼각형으로 만듦
- Object subdivision
- Map the boundaries
Image Morphing
서서~히 모양, 크기, 색상을 바꿔가는 기법
before, after영역을 정해주면,그것에 맞춰 모양, 위치, 색상 바뀌어감
Feature based
- Feature를 정해주고, 이것또한 Feature에 대한 거리 비율로 바뀜(상대위치)
과정
- Parameterizing images: grid 또는 feature에 대해 지정해주기
- Intermediate image: 중간 이미지 만들기
- Auxiliary image: 색 보간을 위한 보조이미지 생성