목차
개요
지난번 게임 엔진을 위한 리깅 스터디를 하면서, Game Rig와 Control Rig를 분리해 게임에 직접 내보낼 Game Rig와 IK나 Constraint를 적용한 Control Rig를 따로 만들고, 애니메이팅하고, 애니메이션을 Baking해 엔진에 업로드해보았다.
결론부터 말하자면 처음에 나는 Hierarchy를 이용해 귀와 꼬리가 달린 동물 캐릭터를 Rigging했고, Game Rig에 애니메이션을 베이킹해 FBX로 내보내는 것 까지는 순조로웠다. 하지만 Unity에 내보내고 나니 Hierarchy가 이상했던 건지 애니메이션이 블렌더에서 편집하던 것과 다르게 꼬인 채 나오는 모습을 볼 수 있었다.
**Game Rig와 Control Rig가 뭔지 궁금하다면 아래 글 참고
**Game Rig를 편리하게 생성하고 애니메이션 Bake를 도와주는 Addon 소개
작업 과정
[1번 워크플로우]
처음에는 애드온튜토리얼 영상의 1번 워크플로우대로 진행했었다.
이 작업방식은 Squash&Stretch에서 생기는 형태변형을 최소화할 수 있지만, 뼈 계층구조를 잘 정리해야 한다.
- Game Rig 생성
- Hierarchy 편집(뼈 편집. Parent 시키기, 연결되는 부분은 Parent>Connected로 연결)
- Control Rig 애니메이팅
- Game Rig에 베이킹 후 FBX로 내보내기
- 유니티에 업로드 후 Rig에서 Generic > Avatar는 Create from Model 선택
(귀와 꼬리가 달린 캐릭터라 Humanoid로 하면 귀, 꼬리 뼈 인식이 안됨) - Animation Controller에 애니메이션 넣기
- 테스트씬에 캐릭터를 올려두고 Animation 윈도우에서 애니메이션 확인
하지만 유니티에서 테스트해본 결과 Hierarchy가 꼬였는지 뼈들이 제대로 움직이지 않았다.
[2번 워크플로우]
다른 애니메이션들도 다 비슷한 상황이라... 튜토리얼의 2번째 워크플로우를 시도하게 되었다.
이 방식은 Squash&Strech 기반의 애니메이팅에 적합한 방식으로, 계층구조를 포기하는 대신 캐릭터 뼈들을 더 자유롭게 움직일 수 있다.
1번 워크플로우와의 차이점은 Game Rig 생성 옵션이다. Game Rig를 생성할 때 Flat Hierarchy를 선택하고, Constraint Type을 Copy Position&Rotation에서 Copy Transform으로 바꿔줘야한다.
이렇게 하면 Unity에 넘겼을 때에도 계층구조를 잘못 인식하지 않게 되기 때문에 아까와 같은 오류가 뜨지 않는다.
결론
작업을 하면서 느낀 점은 리깅에는 많은 공부가 필요하다는 점과 세상에는 튜토리얼이 정말 많다는 점이었다.
특히, CGDive채널의 영상을 보면 Control Rig를 생성해서 각 게임 엔진에 내보내는 방법이 매우 자세하게 나와있었다. 앞으로는 이 채널을 보면서 공부하려고 한다.
사람 이외의 크리쳐나 동물 애니메이션을 Unity에 불러올 경우, Generic Rig를 사용하게 될 텐데 이번처럼 계층구조를 제대로 지키지 않으면 Unity에서 수정이 어려워서 힘들 것 같다. 다음에는 Rigify를 이용해 리깅하는 법과 내보내는 방법을 공부해보고자 한다.
'UNITY > BLENDER-UNITY' 카테고리의 다른 글
[Unity] Unity에서 FBX로 파일 내보내기 (0) | 2024.03.04 |
---|---|
[Blender] FBX로 내보낸 캐릭터의 재질이 이상해 보일 때 (1) | 2023.09.01 |
[Blender-Unity] FBX 파일 내보내기/업로드 프로세스 (0) | 2023.04.26 |
[최적화] Occlusion Culling 하는 방법, 이유 (0) | 2023.04.23 |
[Package] MeshSync로 블렌더-유니티 실시간 연동하기② - 적용하기 (2) | 2023.04.22 |