아래 내용은 본인 참조용이며, 잘못된 정보가 있을 수 있습니다.
0) 사용한 기기 및 세팅: Unity 2021.3.18f1 3D URP
0) 준비물: T-pose의 인간형 아바타, Umotion Pro (https://assetstore.unity.com/packages/tools/animation/umotion-pro-animation-editor-95991), generic animation file
아래 작업을 위해서는 유료 asset인 umotion pro가 필요하다.
0) Generic animation과 Humanoid animation의 차이는 Generic animation은 실제 적용했던 object가 아닌 다른 오브젝트에 적용했을 때 에러가 뜨면서 움직이지 않는다는 점이다. 반면 Humanoid animation은 Rig가 humanoid인 오브젝트라면 어디든 동일하게 적용이 가능한 범용 애니메이션이다.
1) T-pose의 인간형 아바타의 Inspector에서 [Avatar Definition > Create From This Model]을 선택하고 Apply를 누른다.
주의할 점은, 이 단계에서는 Animation Type이 Generic이어야 한다 (Generic Animation을 humanoid로 바꿔야 하기 때문에)
2) Umotion Pro를 Package manager에서 import한 후, 상단에서 [Window > UMotion Editor > Clip Editor와 Pose Editor를 모두 연다.
3) Clip Editor에서 [File > New Project > Generic]을 선택한다. Generic animation이 아닌 Humanoid animation을 사용하는 경우에는 Humanoid 옵션을 선택하면 된다.
4) 프로젝트를 생성하면 .asset 확장자를 가진 파일이 생성된다.
5) 1)단계에서 수정한 아바타 오브젝트를 Hierarchy에 가져다 놓는다.
6) Pose Editor에서 [Select a GameObject to animate]에 해당 아바타 오브젝트를 드래그 앤 드롭으로 집어넣는다.
7) 아래와 같은 창이 뜨면 Create Configuration을 클릭한다.
8) 아래와 같은 상태가 된 것을 확인한다.
a. 아바타에 bone이 보이는가
b. Clip Editor에 Animated Properties가 생성되었는가
9) Clip Editor에서 [File > Import Clips]를 선택한다.
10) [Add Clips]를 선택하여 아바타에 삽입하고픈 generic animation 파일을 선택한 뒤, [Import]를 클릭한다.
11) 아래와 같이 import에 성공했다는 창이 뜨면 OK를 클릭한다.
12) Clip Editor에 키프레임이 정상적으로 추가되었는지 확인한다.
13) Clip Editor의 하단에 위치한 Run을 눌러서 적용된 애니메이션이 제대로 작동하는지 확인한다.
+) 만약 추가로 애니메이션을 수정하고 싶다면, Pose Editor에서 [Auto Key > Update]로 변경 후 수정한다.
Off 상태면 수정을 해도 적용이 되지 않는다.
14) 애니메이션에 더이상 수정사항이 없다면 Export를 위해 Settings를 선택한다.
15) 아래와 같이 설정한다.
- File Format: Fbx Binary
- Write Mode: Update Existing File (이 옵션을 선택하면 새로운 file 대신 덮어쓰기가 된다)
- Destination File: 덮어쓰는, 혹은 기본 옵션이 되는 아바타를 선택한다. 여기서는 1)단계에서 사용한 그 아바타를 선택하여 넣으면 된다.
- Clip 이름을 바꾸고 싶을 경우 상단의 Clip에서 이름을 바꿀 수 있다.
16) clip이 여러개라면 Export all clips, 한 개만 할 거라면 current clip을 선택한다.
17) 아래 그림과 같은 창이 뜨면 Exporting이 성공한 것이다.
18) 애니메이션이 실제 run에서 적용되는지 확인하기 위해서 Pose Editor의 Select a GameObject to animate를 clear 한다.
19) update된 아바타의 inspector에서 [Animation > Import Animation]을 체크한다.
20) Clip에서 source take가 수정한 애니메이션으로 설정되어있는지를 확인한다.
21) 해당 애니메이션 클립을 복제하여 애니메이터 컨트롤러에 동일하게 넣으면 적용 가능
+) 왼쪽 팔의 위치를 수정한 후, 다른쪽 팔도 동일하게 수정하고 싶다면 clip editor에서 mirror하고 싶은 부위를 선택한 후, [Copy to Other side]를 선택한다. 그럼 반대쪽 부위에 수정사항이 동일하게 적용된다.
+) Humanoid로 아바타 타입을 바꿀 경우, 애니메이션을 미러링 할 수 있는 옵션이 생긴다.
'[Research] > Unity & VR' 카테고리의 다른 글
[Unity&Quest pro]컨트롤러가 인식되지 않을때 (1) | 2024.02.06 |
---|---|
[Unity] HMD에서 UI 요소가 보이지 않을 때 해결 방법 (0) | 2023.06.20 |
[Unity] Generic Animation Clip Mirroring 하는 방법 (0) | 2023.05.25 |
[Unity] Problems & Errors 해결모음집 (0) | 2023.05.11 |
[Unity] obj 파일(혹은 일반 오브젝트)을 fbx 파일로 export하는 방법 (0) | 2023.04.19 |