animation
- 애니메이션 계층은 애니메이션 키프레임 데이터와 샘플러 함수, 함께 연산해야만 하는 정렬된 그룹 애니메이션스 방식등의 엘리먼트들을 포함한다.
애니메이션은 한 오브젝트나 값의 시간에 따른 변화를 묘사한다. 공통적으로 애니메이션의 사용은 움직이는 듯한 환영(illusion)을 제공한다. 공통적인 애니메이션 테크닉은 키프레임 애니메이션이다.
키 프레임은 이차원(2D) 샘플링 데이터이다. 첫번째 차원은 입력을 불러드리고 일반적으로 시간이 되지만, 다른 실제 값이 될 수도 있다. 두번째 차원은 출력(output)을 부르고 애니메이티드 될 값을 나타낸다. 키 프레임 set과 보간 알고리즘 (Interpolation Algorithm)을 이용하여 키프레임 사이의 중간 값을 계산하고, 키 프레임 사이의 간격에 산출된 출력 값을 set한다. 키프레임들의 set과 보간 사이에 animation curve 혹은 function curve 라고 불리우는 2D 함수가 정의되며, <animation> 엘리먼트로 나타낸다.
Interpolating animation curve의 더 많은 정보는 챕터 4:프로그래밍 가이드의 "Curve Interpolation"을 참조.
-
속성 ( Attributes )
- id ( xs:ID ) - <animation>엘리먼트의 유일한 id를 포함하는 텍스트 스트링. 이 값은 인스턴스 문서에서 반드시 유일해야 함. Optional.
- name ( xs:token ) - 이 엘리먼트의 이름 텍스트 스트링. Optional.
-
관련 엘리먼트
- Parent 엘리먼트s - library_animations, animation
- Child 엘리먼트s - ( 아래 섹션에 자세히 설명)
-
Others - instatnce_animation
-
Child Elements
- <assert> - 메인 엔트리에 Description 되어있음 - (default) N/A - (Occurrences) 0 or 1
- <animation> - 관련 애니메이션들 계층의 형성 수용. 메인 엔트리 참조 - (default) N/A - (Occurrences) 0 or more (see"Details")
- <source> - 메인 엔트리 참조 - (default) N/A - (Occurrences) 0 or more (see"Details")
- <sampler> - 애니메이션의 보간 샘플링 함수 묘사. 메인 엔트리 참조 - (default) N/A - (Occurrences) 0 or more (see"Details")
- <channel> - 애니메이션의 출력 채널 묘사. 메인 엔트리 참조 - (default) none - (Occurrences) 0 or more (see"Details")
-
<extra> - 메인 엔트리 참조 - (default) N/A - (Occurrences) 0 or more
-
Details
-
<animation>엘리먼트는 한 animation tree를 구성하는 애니메이션 데이터를 묘사하는 엘리먼트들을 포함한다.
실제 타입과 복잡한 데이터는 자식 엘리먼트의 세부를 나타낸다.
자식 엘리먼트는 다음 룰을 따른다.-
<animation>엘리먼트는 반드시 적어도 다음중 한개를 포함한다.
- <animation>
- <sampler> 와 <channel>
- <sampler>와 <channel>은 반드시 함께 쓰여야 한다.
-
- <animation>들은 <animation_clip>엘리먼트들의 재생(playback) 타임의 scene에 적용될 수 있는 점을 참조 하지 않는다. 대신에 <animation_clip>의 playback detatails를 참고하라.
<animation_clip>의 "Details"는 애니메이션 타겟을 결정짓는 정보를 제공한다.
-
-
Example
-
Here is an example of an empty <animation> element with the allowed attributes:
<library_animations>
<animation name="walk" id="Walk123">
<!-- use appropriate id, source, target values -->
<source id="..."/>
<source id="..."/>
<sampler> ... </sampler>
<channel source=="..." target="..."/>
</animation>
</library_animations>
This next example describes a simple animation tree defining a “jump” animation:
<library_animations>
<animation name="jump" id="jump">
<animation id="skeleton_root_translate">
<source/><source/><sampler/><channel/>
</animation>
<animation id="left_hip_rotation">
<source.../><source.../>
<sampler>...</sampler><channel .../>
</animation>
<animation id="left_knee_rotation">
<source .../><source .../>
<sampler>...</sampler><channel .../>
</animation>
<animation id="right_hip_rotation">
<source .../><source .../>
<sampler>...</sampler><channel .../>
</animation>
<animation id="right_knee_rotation">
<source .../><source .../>
<sampler>...</sampler><channel .../>
</animation>
</animation>
</library_animations>
The next example shows a more complex animation tree, with some of the animations left undefined.
<library_animations>
<animation name="elliots_animations" id="all_elliot">
<animation name="elliot's spells" id="spells_elliot">
<animation id="elliot_fire_blast"/>
<animation id="elliot_freeze_down"/>
<animation id="elliot_ferocity"/>
</animation>
<animation name="elliot's moves" id="moves_elliot">
<animation id="elliot_walk"/>
<animation id="elliot_run"/>
<animation id="elliot_jump"/>
</animation>
</animation>
</library_animations>
-
이 글은 스프링노트에서 작성되었습니다.
'COLLADA Specification' 카테고리의 다른 글
[COLLADA 2.0 Animation] library_animations (0) | 2010.10.13 |
---|---|
[COLLADA 2.0 Animation] instance_animation (0) | 2010.10.13 |
[COLLADA 2.0 Animation] channel (0) | 2010.10.13 |
[COLLADA 2.0 Animation] animation_clip (0) | 2010.10.13 |
COLLADA Specification (0) | 2010.10.13 |