04
14

유니티로 휴머노이드나 제네릭 애니메이션에 본 rig ik를 조정해서 새로운 애니메이션을 만들 수 있는 에셋이 있습니다.

해당 Animation Designer에 관한 제대로된 한글 설명이 없어서 직접 작성해봅니다.

> 에셋 페이지

https://assetstore.unity.com/packages/tools/animation/animation-designer-210513

 

Animation Designer | 애니메이션 도구 | Unity Asset Store

Use the Animation Designer tool from FImpossible Creations on your next project. Find this & more animation tools on the Unity Asset Store.

assetstore.unity.com

 

 

 

 

#1 시작하기 및 기본 설정


먼저, Animation Designer를 실행하기 위해 씬(Scene)에 Animator 컴포넌트 달린 모델을 배치합니다.



그 후 유니티 상단 메뉴의 Window > FImpossible Creations > Animation Designer를 선택하거나

Animator 컴포넌트에서 마우스 오른쪽 버튼을 클릭하여 창을 엽니다.

스켈레톤 정보 가져오기 위해서 사진 속 Prepare Armature 버튼을 클릭하여 모델의 스켈레톤 정보를 수집합니다.


본(Bone) 확인: 루트(Root)와 골반(Pelvis) 본이 자동으로 올바르게 선택되었는지 반드시 확인해야 합니다.

Work With Clip 에서 작업할 애니 클립을 선택하면 모델이 해당 애니메이션의 위치로 이동하며 미리보기가 가능해집니다.

 

이제부턴 선택한 애니메이션을 수정해줄겁니다만 그전에 어떤 기능들이 있는지 한눈에 보여드리겠습니다.

 

 

세팅 (Setup): 림(Limbs) 설정을 위한 기본 단계입니다. 자동 림 감지(Auto limb detection) 알고리즘을 사용해 캐릭터의 뼈 구조를 파악하거나, 모델의 T-포즈(T-Pose)가 정확한지 확인하고 수정할 때 이 탭을 사용합니다


탄성 (Limbs - Elasticness): 소스에서는 이 탭의 기능을 'Limbs'의 핵심이자 엘라스틱니스(Elasticness) 설정으로 설명합니다. 

근육의 움직임을 시뮬레이션하여 모든 뼈의 동작에 탄성을 부여함으로써 애니메이션을 더 생생하게 만듭니다

뼈 수정 (Modificators): 애니메이션 전체 또는 특정 구간에 본(Bone)의 변화를 주는 탭입니다.

예를 들어 척추 뼈를 선택해 회전 오프셋(Rotation Offset)을 주거나,

커브 창을 열어 시간에 따른 변화 값을 직접 애니메이팅할 수 있습니다

IK (Inverse Kinematics): 역운동학 설정을 담당합니다.
팔이나 다리에 IK를 적용해 발이 바닥을 뚫고 들어가지 않게 고정하거나, 골반(Pelvis)의 높낮이 변화에 맞춰 다리가 자연스럽게 굽혀지도록 조절할 때 사용합니다

모핑 (Morphing): 모핑(Morphing) 탭은 기본 애니메이션(예: 달리기) 위에 다른 애니메이션(예: 공격)을 합성하여 새로운 복합 동작(예: 달리며 공격하기)을 만드는 핵심 기능입니다

 

각 탭은 서로 유기적으로 작동하며, 예를 들어 엘라스틱니스 효과는 뼈 수정(Modificators)에서 설정한 움직임에도 자동으로 영향을 주어 더욱 자연스러운 결과물을 만들어냅니다

#2 모디피케이터(Modificators)를 통한 수정

Modificators 탭에서는 애니메이션 전체에 적용될 변화를 줄 수 있습니다.
회전 오프셋(Rotation Offset): 특정 본(예: 척추)을 선택해 회전 값을 조정할 수 있습니다.
커브(Curve) 활용: 커브 창을 열어 시간에 따른 오프셋 값을 상세하게 애니메이팅할 수 있어 정교한 수정이 가능합니다.

 

Add Job for a Bone 눌러서 뼈를 선택 후 해당 뼈의 각도 오프셋을 줄 수 있습니다. 각도 오프셋 주는걸 위의 그래프로 특정 타이밍에 맞게 설정 할 수도 있습니다.

 

Additive Rotation (가산 회전): 기존 애니메이션의 회전 값 위에 새로운 회전 값을 더하는 방식입니다.

예를 들어, 가슴의 회전이 너무 심할 때 이를 억제하기 위한 보정 값을 더하거나, 공격 동작 시 몸의 무게감을 표현하기 위해 특정 본에 추가적인 회전을 줄 때 사용합니다

 

Override Rotation (교체 회전): 기존 애니메이션의 회전 데이터를 무시하고 설정한 회전 값으로 완전히 대체합니다.


Additive Position (가산 위치): 기존 애니메이션의 위치 값에 오프셋(Offset)을 더해 위치를 이동시킵니다.

캐릭터의 전체적인 위치를 미세하게 조정하거나 특정 본의 위치를 보정할 때 유용합니다

 

Override Position (교체 위치): 기존 애니메이션의 위치 데이터를 무시하고 지정한 위치에 본을 고정시킵니다.

 

Elastic Rotation (탄성 회전): Animation Designer의 핵심 기능인 엘라스틱니스(Elasticness) 효과를 특정 본의 회전에 적용합니다.

근육의 움직임처럼 물리적인 탄성과 부드러운 반동을 자동으로 생성하여 애니메이션을 더 생동감 있게 만듭니다.

 

Look At Position (주시): 특정 본(주로 머리)이 항상 지정된 위치를 바라보도록 만듭니다. 예를 들어, 몸이 심하게 흔들리는 걷기 애니메이션 중에도 캐릭터의 시선은 정면의 특정 지점에 고정되도록 하여 안정감을 줄 수 있습니다.

 

#3 강력한 기능: 림(Limbs) 설정

Animation Designer의 핵심은 'Limbs' 기능에 있습니다.
 이를 사용하기 전에 자동 림 감지(Auto limb detection) 알고리즘을 활용하는 것이 좋습니다.
T-포즈(T-Pose) 확인: 정확한 감지를 위해 캐릭터는 올바른 T-포즈 상태여야 합니다.
 설정이 잘못되었다면 모델을 드래그하여 수동으로 지정하거나 자동 수정을 실행할 수 있습니다.
엘라스틱니스(Elasticness): 근육의 움직임을 시뮬레이션하는 기능입니다.
 활성화 시 뼈의 움직임에 탄성을 부여하여 더욱 생동감 있는 동작을 만들어냅니다.

 

#4 역운동학(IK)과 골반 애니메이션

IK(Inverse Kinematics) 기능을 사용하면 더욱 사실적인 움직임을 구현할 수 있습니다.
다리 IK(Leg IK): 거대한 캐릭터가 걸을 때의 무게감을 표현하고 싶다면 다리 IK를 활성화하세요.
 이를 통해 골반(Pelvis)을 움직여도 발이 바닥을 뚫고 들어가지 않게 조절할 수 있습니다.
골반 움직임 최적화: 캐릭터가 발을 내디딜 때 골반이 살짝 내려가도록 커브를 조정하면 훨씬 자연스럽습니다.
 여기에 골반 전용 엘라스틱니스 효과를 추가하면 움직임이 자동으로 부드러워집니다.

 

#5 결과 내보내기 및 저장

 

작업한 내용을 저장하고 싶으시면 해당 ADesigner 탭 상단의 Save를 눌러 작업 파일을 저장해줍니다.

 

그리고 작업한 애니메이션 파일을 내보내기하는 방법은 다음과 같습니다.

 

 

사진 속 Save As New Animation Clip을 눌러 애니메이션 파일을 저장해줍니다.

 

저장 옵션에 대해서 더 수정하고 싶으시면 아래 Additional Export Setting 탭을 열어줍니다.

젤 아래 버튼은 각각 Save As Generic / Save As Legacy: 유니티의 리그(Rig) 타입인 'Generic' 또는 'Legacy' 방식 중 프로젝트 구조에 맞는 형식을 선택하여 저장할 수 있습니다

 

루프 설정들
Loop Additional Frames: 이 기능은 매우 중요합니다. 엘라스틱니스(Elasticness) 같은 동적인 효과를 적용하면 애니메이션의 시작과 끝이 맞지 않아 루프가 튀는 현상이 발생할 수 있는데, 이때 추가 프레임을 블렌딩(Blending)하여 매끄럽고 심리스(Seamless)한 루프 애니메이션을 만들어줍니다.


Optimize New File: 슬라이더를 조절하여 생성될 파일의 정밀도(Precision)와 용량(Filesize) 사이의 균형을 맞춥니다

 

상세 내보내기 옵션 (Additional Export Setting)
Set Root Motion Original + Baked: 애니메이터의 루트 모션 정보를 어떻게 처리할지 결정합니다
Copy Events / Copy Curves: 기존 원본 애니메이션에 들어있던 애니메이션 이벤트(Events)나 커브(Curves) 데이터를 새 파일에도 그대로 복사할지 여부를 선택합니다
Hips and Legs Precision Boost: 골반과 다리 부분의 움직임을 더 정밀하게 계산하여 내보냅니다.
Export with Loop: 애니메이션의 루프 여부를 자동으로 감지하거나 강제로 설정합니다.

 

기타 설정 (Rare Export Settings)
Bake Root Individually / Root Motion Tangents: 루트 모션의 탄젠트 값을 설정하거나 개별적으로 베이킹하는 등 특수한 상황에서 사용하는 고급 옵션들입니다

 

심리스 루프(Seamless Loop) 수정: 엘라스틱니스 효과 때문에 애니메이션 끝부분이 맞지 않아 루프가 부자연스러울 수 있습니다.
이 경우 추가 프레임을 블렌딩(Blending)하여 이음새가 없는 매끄러운 루프 애니메이션을 완성할 수 있습니다.

 

 

COMMENT