Version: 2023.1
언어: 한국어
휴먼 템플릿 창
오일러 커브 리샘플링

애니메이션 탭

애니메이션 클립 은 Unity에서 가장 작은 애니메이션 블록입니다. 왼쪽 달리기(RunLeft), 점프(Jump) 또는 기어가기(Crawl) 등 각각의 독립적인 모션을 의미하며 다양한 방법으로 조작하고 통합하여 실감 나는 애니메이션 결과물을 얻을 수 있습니다. 애니메이션 상태 머신, 애니메이터 컨트롤러, 블렌드 트리를 참조하십시오. 임포트한 FBX 데이터에서 애니메이션 클립을 선택할 수 있습니다.

애니메이션 클립이 포함된 모델을 클릭하면 다음의 프로퍼티가 나타납니다.

Animation Clip 인스펙터
Animation Clip 인스펙터

인스펙터 창의 Animation 탭에는 다음과 같은 5개의 영역이 있습니다.

(A) 에셋별 프로퍼티. 이 설정은 전체 에셋의 임포트 옵션을 정의합니다.

(B) 클립 선택 목록. 이 목록에서 항목을 선택하여 해당 프로퍼티를 표시하고 애니메이션을 미리 볼 수 있습니다. 새 클립 정의도 가능합니다.

(C) 클립별 프로퍼티. 이 설정은 선택한 Animation Clip 에 대한 임포트 옵션을 정의합니다.

(D) Clip 프로퍼티.이 설정으로 모든 애니메이션 클립에 대한 임포트 옵션을 정의합니다.

(E) 애니메이션 미리보기.여기에서 애니메이션을 재생하고 특정 프레임을 선택할 수 있습니다.

에셋별 프로퍼티

전체 에셋에 대한 임포트 옵션
전체 에셋에 대한 임포트 옵션

이 프로퍼티는 에셋 내에서 정의되는 모든 애니메이션 클립과 제약 사항에 적용됩니다.

프로퍼티: 기능:
Import Constraints 이 에셋에서 제약을 임포트합니다.
Import Animation 이 에셋에서 애니메이션을 임포트합니다.

참고: 비활성화하면 페이지의 모든 다른 옵션을 숨기고 애니메이션을 임포트하지 않습니다.
Bake Animations IK 또는 시뮬레이션을 사용하여 생성된 애니메이션을 순운동학(FK) 키프레임으로 베이크합니다.

이 옵션은 Autodesk® Maya®, Autodesk® 3ds Max® 및 Cinema 4D 파일에서만 사용 가능합니다.
Resample Curves 애니메이션 커브를 쿼터니언 값으로 리샘플링하고 애니메이션의 모든 프레임에 새 쿼터니언 키프레임을 생성합니다.

이 옵션은 임포트 파일에 오일러 커브가 있는 경우에만 표시됩니다.이 옵션은 기본적으로 활성화되어 있습니다.

이 옵션을 비활성화하여 원래 작성된 대로 애니메이션 커브를 유지하십시오.원본 애니메이션과 비교했을 때 리샘플링된 애니메이션에 보간 문제가 있는 경우에만 이 옵션을 비활성화해야 합니다.
Anim. Compression 애니메이션을 임포트할 때 사용하는 압축 타입입니다.
Off 애니메이션 압축을 사용하지 않습니다. 즉, Unity가 임포트할 때 키프레임 수를 줄이지 않습니다. 애니메이션 압축을 비활성화하면 고정밀도 애니메이션이 되지만, 성능이 떨어지고 파일과 런타임 메모리 크기가 커집니다. 일반적으로 이 옵션을 사용하는 것은 좋지 않습니다. 고정밀 애니메이션이 필요한 경우 키프레임 축소를 사용하고 대신 Animation Compression Error 값을 허용하는 것이 좋습니다.
Keyframe Reduction 임포트 시 중복되는 키프레임을 줄입니다.활성화되면 인스펙터가 Animation Compression Errors 옵션을 표시합니다.이는 파일 크기(런타임 메모리)와 커브 평가 방식 모두에 영향을 미칩니다.

Legacy, Generic, Humanoid 애니메이션 타입 릭에 적용됩니다.
Keyframe Reduction and Compression 임포트할 때 키프레임을 줄이고 애니메이션을 파일에 저장할 때 키프레임을 압축합니다. 이는 파일 크기에만 영향을 미치며 런타임 메모리 크기는 Keyframe Reduction 과 동일합니다. 이 옵션을 활성화하면 인스펙터에 Animation Compression Error 옵션이 표시됩니다.

Legacy 애니메이션 타입 릭에만 사용할 수 있습니다.
Optimal Unity가 키프레임 감소 또는 고밀도 포맷 사용 중에서 압축 방식을 결정합니다. 이 옵션을 활성화하면 인스펙터에 Animation Compression Error 옵션이 표시됩니다.

GenericHumanoid 애니메이션 타입 릭에만 사용할 수 있습니다.
Animation Compression Errors Keyframe Reduction 또는 Optimal 압축이 활성화된 경우에만 사용할 수 있습니다.
Rotation Error 회전 커브 압축에 대한 오류 허용치(각도)를 설정합니다. Unity는 이 값을 사용하여 회전 커브의 키를 제거할지 결정합니다.

이 값은 원래 회전 값과 감소된 값 사이의 최소 각도를 나타냅니다.

Angle(value, reduced) < RotationError
Position Error 포지션 커브 압축에 대한 오류 허용치(백분율)를 설정합니다. Unity는 이 값을 사용하여 포지션 커브의 키를 제거할지 결정합니다. 자세한 내용은 포지션 및 스케일 커브의 키 감소에 대한 오류 허용치 설정을 참조하십시오.
Scale Error 스케일 커브 압축에 대한 오류 허용치(백분율)를 설정합니다. Unity는 이 값을 사용하여 스케일 커브의 키를 제거할지 결정합니다. 자세한 내용은 포지션 및 스케일 커브의 키 감소에 대한 오류 허용치 설정을 참조하십시오.
Animated Custom Properties 커스텀 사용자 프로퍼티로 지정한 FBX 프로퍼티를 임포트합니다.

Unity는 FBX 파일을 임포트할 때 소수의 프로퍼티(예: 이동, 회전, 스케일, 가시성) 서브셋만 지원합니다. 하지만 extraUserProperties 멤버를 통해 임포터 스크립트에서 이름을 지정하면 스탠다드 FBX 프로퍼티를 사용자 프로퍼티처럼 사용할 수 있습니다. 그러면 임포트하는 동안 Unity는 ‘실제’ 사용자 프로퍼티와 마찬가지로 모든 명명된 프로퍼티를 에셋 포스트프로세서에 전달합니다.

포지션 및 스케일 커브의 키 감소에 대한 오류 허용치 설정

Unity가 애니메이션 압축 전략의 일환으로 포지션 또는 스케일 커브의 키를 제거할지 여부를 결정할 수 있도록 오류 허용치 백분율을 설정합니다.

Anim. Compression 프로퍼티를 “Keyframe Reduction” 또는 “Optimal”로 설정하면 Unity는 원본 커브를 특정 키프레임 제거 후의 커브와 비교한 후 다음 테스트를 적용합니다.

OriginalValue - ReducedValue > OriginalValue * percentageOfError

원본 값과 감소된 값 사이의 델타가 원본 값에 오류 허용치 백분율을 곱한 값보다 작으면 Unity는 키프레임을 제거합니다.

단, Unity는 세 개의 커브 컴포넌트 간 거리(즉 distance(x,y,z))와 각 컴포넌트(distance(x), distance(y), distance(z)) 간의 거리를 비교합니다.

이 예제는 Unity가 오류 허용치 10%를 사용하여 y축의 감소를 평가하는 방식을 보여줍니다.

y축에서 간단한 이동 애니메이션에 대한 포지션 오류 10% 정의
y축에서 간단한 이동 애니메이션에 대한 포지션 오류 10% 정의

키프레임 A의 값은 11.2입니다.

키프레임 A의 값은 11.2
키프레임 A의 값은 11.2

키프레임 B의 값은 11.1입니다.

키프레임 B의 값은 11.1
키프레임 B의 값은 11.1

최종적으로 감소된 커브의 모습은 다음과 같습니다.

최종적으로 감소된 커브의 모습
최종적으로 감소된 커브의 모습

키프레임 A가 감소하지 않으며 그 이유는 다음과 같습니다.

  • 원본 값과 감소된 값 간의 거리가 D = 11.2 - 10 = 1.2입니다.
  • 오차 범위는 E = 10% * 11.2 = 1.12입니다.
  • D > E

키프레임 B가 감소하며 11.1 - 10 < 10% * 11.1`이기 때문입니다.

  • 원본 값과 감소된 값 간의 거리가 D = 11.1 - 10 = 1.11입니다.
  • 오차 범위는 E = 10% * 11.1 = 1.11입니다.
  • D = E

이 방식은 차이가 별로 없는 높은 값을 사용할 경우에는 제한이 있습니다. 씬을 1000 단위로 이동하면 기본적으로 애니메이션은 동일하지만 0에서 매우 멀리 위치하게 됩니다.

차이가 적은 높은 값
차이가 적은 높은 값

이 경우 두 키프레임이 모두 감소합니다.

키프레임 A가 감소하며 그 이유는 다음과 같습니다.

  • 원본 값과 감소된 값 간의 거리가 D = 1011.2 - 1010 = 1.2입니다.
  • 오차 범위는 E = 10% * 1011.2 = 101.12입니다.

키프레임 B가 감소하며 11.1 - 10 < 10% * 11.1`이기 때문입니다.

  • 원본 값과 감소된 값 간의 거리가 D = 11.1 - 10 = 1.11입니다.
  • 오차 범위는 E = 10% * 1011.1 = 101.11입니다.

높은 값은 키프레임을 감소된 커브로 유지하기 위해 원본 값과 감소된 값 간에 훨씬 더 큰 차이를 필요로 합니다. 키프레임 A는 값이 1100이고 삭제되었지만, 키프레임 B는 값이 1112이고 유지되었습니다.

훨씬 더 큰 차이를 필요로 하는 높은 값
훨씬 더 큰 차이를 필요로 하는 높은 값

클립 선택 목록

이 파일에 정의된 클립 목록
이 파일에 정의된 클립 목록

Animation 탭의 이 영역에서 다음과 같은 작업을 수행할 수 있습니다.

임포트한 클립의 프로퍼티를 수동으로 변경하는 경우 소스 에셋이 변경될 때 Unity는 새 애니메이션 클립을 임포트하지 않습니다. 예를 들어 Animation 탭에서 새 클립을 생성하거나 클립 타이밍을 변경하면, Unity 외부에서 FBX 파일에 클립을 추가하더라도 클립 목록이 업데이트되지 않습니다. 신규 및 변경된 애니메이션 클립을 보려면 클립 목록에 새 소스 테이크 추가를 수행해야 합니다.

클립별 프로퍼티

선택한 애니메이션 클립에 대한 임포트 옵션
선택한 애니메이션 클립에 대한 임포트 옵션

Animation 탭의 이 영역에 다음과 같은 기능이 표시됩니다.

(A) 선택한 클립의 편집 가능한 이름.

(B) 애니메이션 클립 타임라인.

(C) 루핑, 루트 모션 추출, 커브, 이벤트, 아바타 마스크를 제어하는 Clip 프로퍼티.

이 에셋 내에서 정의된 각 애니메이션 클립에 대해 이러한 프로퍼티를 별도로 설정할 수 있습니다.

프로퍼티: 기능:
Area A
소스 테이크의 이름
Take name
소스 파일 내 소스 테이크의 이름입니다.소스 파일에는 Motionbuilder나 Autodesk® Maya®와 같은 외부 3D 애플리케이션에서 생성된 소스 테이크 세트가 포함되어 있습니다.

소스 테이크를 개별 애니메이션 클립으로 임포트할 수 있습니다.또한 프레임의 하위 세트에서 애니메이션 클립을 생성할 수도 있습니다.
Area B
타임라인 에디터 애니메이션 타임라인에서 시작 및 끝 표시기를 드래그하여 각 클립의 프레임 범위를 정의합니다.

클립 생성은 애니메이션 세그먼트의 시작 및 끝 지점을 정의하는 데 필수적입니다.루핑 클립을 정의하려면 첫 번째 프레임과 마지막 프레임이 최대한 일치하도록 시작 및 끝 지점을 자릅니다.또한 정밀도를 높이기 위해 타임라인을 확대/축소하고 스크롤할 수 있습니다.
Start 클립의 시작 프레임.
End 클립의 종료 프레임.
Area C
Loop Time 애니메이션 클립을 끝까지 재생하고, 끝에 도달하면 다시 재생을 시작합니다.
Loop Pose 모션을 자연스럽게 반복합니다.
Cycle Offset 반복 재생 애니메이션의 사이클 오프셋입니다. 애니메이션이 다른 시간에 시작하는 경우에 설정합니다.
Root Transform Rotation
Bake into Pose 루트 회전을 뼈대의 움직임에 베이크합니다. 루트 모션으로 저장하려면 비활성화해야 합니다.
Based Upon 기본 루트 회전입니다.
Original 소스 파일의 원래 회전을 유지합니다.
Root Node Rotation 루트 노드의 회전을 사용합니다.

Generic 애니메이션 타입에만 사용할 수 있습니다.
Body Orientation 상체를 앞으로 향하게 합니다.

Humanoid 애니메이션 타입에만 사용할 수 있습니다.
Offset 루트 회전에 대한 오프셋입니다(각도).
Root Transform Position (Y)
Bake into Pose 수직 루트 모션을 뼈대의 움직임에 베이크합니다. 루트 모션으로 저장하려면 비활성화해야 합니다.
Based Upon (at Start) 기본 수직 루트 포지션입니다.
Original 소스 파일의 수직 포지션을 유지합니다.
Root Node Position 수직 루트 포지션을 사용합니다.

Generic 애니메이션 타입에만 사용할 수 있습니다.
Center of Mass 질량 중심을 루트 트랜스폼 포지션과 맞춥니다.

Humanoid 애니메이션 타입에만 사용할 수 있습니다.
Feet 발을 루트 트랜스폼 포지션과 맞춥니다.

Humanoid 애니메이션 타입에만 사용할 수 있습니다.
Offset 수직 루트 포지션에 대한 오프셋입니다.
Root Transform Position (XZ)
Bake into Pose 수평 루트 모션을 뼈대의 움직임에 베이크합니다. 루트 모션으로 저장하려면 비활성화해야 합니다.
Based Upon 기본 수평 루트 포지션입니다.
Original 소스 파일의 수평 포지션을 유지합니다.
Root Node Position 수평 루트 트랜스폼 포지션을 사용합니다.

Generic 애니메이션 타입에만 사용할 수 있습니다.
Center of Mass 루트 트랜스폼 포지션과 맞춥니다.

Humanoid 애니메이션 타입에만 사용할 수 있습니다.
Offset 수평 루트 포지션에 오프셋.
Mirror 이 클립의 좌우를 반전합니다.

애니메이션 타입Humanoid 로 설정된 경우에만 표시됩니다.
Additive Reference Pose 활성화하면 애디티브 애니메이션 레이어에 기본으로 사용할 레퍼런스 포즈의 프레임을 설정합니다. 타임라인 에디터에 파란색 마커가 표시됩니다.
Pose Frame 레퍼런스 포즈로 사용할 프레임 수를 입력합니다. 타임라인의 파란색 마커를 드래그하여 이 값을 업데이트할 수도 있습니다.

Additive Reference Pose 가 활성화된 경우에만 사용할 수 있습니다.
Curves 이 섹션을 확장하면 이 애니메이션 클립의 애니메이션 커브를 관리할 수 있습니다.
Events 이 섹션을 확장하면 이 애니메이션 클립의 애니메이션 이벤트를 관리할 수 있습니다.
Mask 이 섹션을 확장하면 애니메이션 클립의 Avatar 마스킹을 관리할 수 있습니다.

모든 클립에 대한 프로퍼티

이러한 확장 가능한 프로퍼티는 임포트되는 모든 애니메이션 클립에 적용됩니다.

모든 애니메이션 클립에 대한 임포트 옵션
모든 애니메이션 클립에 대한 임포트 옵션
프로퍼티: 기능:
Motion 이 섹션을 확장하면 임포트한 모든 클립의 루트 모션 노드를 관리할 수 있습니다.
Import Messages 이 섹션을 확장하면 Retargeting Quality Report 옵션을 포함하여 애니메이션이 임포트된 방식에 대한 정보를 자세히 볼 수 있습니다.

애니메이션 임포트 경고

애니메이션 임포트 프로세스에서 문제가 발생하면 애니메이션 임포트 인스펙터 상단에 경고가 나타납니다.

애니메이션 임포트 경고 메시지
애니메이션 임포트 경고 메시지

경고 표시가 애니메이션이 임포트되지 않았거나 동작하지 않는다는 것을 의미하지는 않습니다. 다만, 임포트한 애니메이션이 소스 애니메이션과 약간 다르게 보일 수 있습니다.

자세한 내용을 보려면 Import Messages 섹션을 확장하십시오.

애니메이션 임포트 경고 메시지
애니메이션 임포트 경고 메시지

이 경우 Unity는 Generate Retargeting Quality Report 옵션을 제공했습니다. 이 옵션을 활성화하면 리타게팅 문제에 대한 자세한 내용을 확인할 수 있습니다.

그 외에 다음과 같은 경고 세부 정보가 표시될 수 있습니다.

  • 해당 파일의 기본 뼈대 길이가 소스 아바타의 골격 길이와 다릅니다.
  • 해당 파일의 뼈대 사이의 기본 회전이 소스 아바타의 로테이션과 다릅니다.
  • 소스 아바타 계층 구조가 해당 모델의 계층 구조와 일치하지 않습니다.
  • 애니메이션에서 이동 애니메이션은 무시됩니다.
  • 휴머노이드 애니메이션에서 중간 변환 및 회전은 무시됩니다.
  • 스케일 애니메이션은 무시됩니다.

위의 경고 메시지는 Unity가 애니메이션을 내부 포맷으로 임포트하거나 변환할 때 원본 파일에 있는 데이터 일부를 누락했다는 의미입니다. 이와 같은 경고는 리타게팅된 애니메이션이 소스 애니메이션과 정확하게 일치하지 않을 수도 있다는 것을 의미합니다.

참고: Unity는 constant 이외에 다른 사전 및 사후 외삽 모드(사전 및 사후 인피니티 모드라고도 불림)를 지원하지 않으며, 임포트 시 해당 모드를 constant로 전환합니다.

애니메이션 미리보기

애니메이션 클립 미리보기
애니메이션 클립 미리보기

Animation 탭의 미리보기 영역에 다음과 같은 기능이 제공됩니다.

(A) 선택한 클립의 이름.

(B) 2D 미리보기 모드 버튼(직교 카메라와 원근 카메라 간에 전환).

(C) 피벗 및 질량 중심 표시 버튼(기즈모 표시 및 숨김 간에 전환).

(D) 아바타 선택기(액션을 미리볼 게임 오브젝트 변경).

(E) 재생/일시정지 버튼.

(F) 미리보기 타임라인의 재생 헤드(앞뒤로 이동 허용).

(G) 애니메이션 미리보기 속도 슬라이더(왼쪽으로 이동하면 감속, 오른쪽으로 이동하면 가속).

(H) 재생 상태 표시기(재생 위치를 초, 백분율, 프레임 수 단위로 표시).

(I) 태그 표시줄. 여기에서 태그를 정의하고 클립에 적용할 수 있음.

(J) 에셋 번들 표시줄. 여기에서 에셋 번들 및 배리언트를 정의할 수 있음.


AnimationClip

휴먼 템플릿 창
오일러 커브 리샘플링