2020. 5. 25. 14:02ㆍUnity/Unity [Tutorial]
* 설명 부록
unity version : 2019.3.6 f1
프로젝트 명 : 3D 캐릭터 기초 이동
설명
: 3D 캐릭터의 다양한 이동 로직을 만들어 봅니다.
기능
- 각 3가지 타입의 이동 구현
- 간단한 레이 케스트를 활용한 땅 충돌 로직
- Auto Rigging 구현
- 간단한 FSM (유한 상태 머신) 애니메이션 구현
준비 과정
1. 3D 모델
세일 기간에 샀던 로우 폴리 팩입니다.
근데 모델 리깅이 없어서 어떻게 할까.. 조금 난감한 상황이죠.
외부 프로그램으로 간단하게 리깅을 할 수 있지만
좀 더 간단한 방법은 없을까? 하던 중
'Auto Rigging'
을 위한 사이트가 있었습니다.
이번 프로젝트는 Auto Rigging을 활용한 작업이므로 뼈대(리깅)가 없는 모델을 사용하셔도 무방합니다.
*에셋 스토어의 'Space Robot Kyle'으로 작업하셔도 무방합니다!
임포트 된 모델을 살펴보면
뼈대를 위한 위치 값들이 표시되어있습니다.
리깅이라고 하는 이 위치는 사람을 표현하기 위한
각 뼈 부분의 위치를 나타냅니다.
머리, 팔꿈치, 발목 등등 이런 위치를 나타내죠.
그래서 위치를 표시할 Transfrom 컴포넌트만 들어있습니다.
이 리깅 된 모델 또는 리깅이 없는 모델
을 활용하여 캐릭터의 애니메이션 움직임을 구현하려고 합니다.
2. Auto Rigging
이렇게 리깅이 없는 모델을 준비한 후
믹 시모 홈페이지를 엽니다.
많이 들어본 어도브(Adobe)에서 제공하는 사이트죠.
간단한 회원가입만 하면 이용이 가능합니다.
우선 유니티에서
리깅 할 모델 > 마우스 오른쪽 클릭 > Show in Explorer
이 3D Object 파일을
Mixamo 사이트 > UPLOAD CHARACTER 클릭
3D 모델 파일을 Select character file에 드래그해줍니다.
잠시 기다리시면
이렇게 모델이 보이게 되는데
Next를 눌러주면
이렇게 각 위치를 지정해 주는 곳이 나오게 됩니다.
왼쪽에 보이는 '원' 들을 사진처럼 옮겨 주시면 되는데요.
하단 부분의
Skeleton LOD 설정 부분은
손가락의 정밀도를 나타내 줍니다.
제가 쓰는 모델은 손가락의 정밀도가 필요 없기 때문에
'No Fingers' 옵션으로 설정하겠습니다.
설정을 마치면 Auto Rigging이 되는데
'원'을 설정해 주는 부분에 따라서 실패할 수 도 있는데
조금씩 이동하면서 다시 리깅을 해주시면 됩니다.
조금은 뭉툭해진 모델이 리깅 됩니다!
리깅이 성공한 후
홈페이지 왼쪽에 애니메이션을 클릭하면
저의 캐릭터가 애니메이션에 따라 움직이게 됩니다.
(카포에라!)
오른쪽에는 각종 설정이 있는데
직접 조정하면서 차이점을 느껴보세요.
자! 맘에 드는 아무 애니메이션을 고르셨으면
Download 버튼을 누르고
각 부분의 요소를 설정해주시면 되는데
Format : 모델 포맷 설정
친절하게도 Unity 전용. Fbx가 있습니다.
For Unity로 설정하고
Skin : 스킨 포함, 미포함
현재 캐릭터의 스킨을 포함하여 다운로드하세요?
라는 설정입니다.
With Skin : 스킨을 포함
Without Skin : 스킨 미 포함
저는 With Skin 스킨을 포함하고 다운로드하겠습니다.
자 다운로드 버튼을 누르면 파일이 다운로드가 되는데
모델을 유니티에 넣어주게 되면
짜잔!
저희가 설정했던 애니메이션으로 모델이 완성됐네요.
하지만 좀 더 설정해줘야 합니다.
모델 속성(Inspector) 창에서
Rig > Animation Type > Humanoid
로 설정을 해주셔야 합니다.
그리고 간단한 Animator Controller를 만들어주고
다운로드하였던 모델의 애니메이션 클립을 넣어줍니다.
이제 오브젝트의 Controller를 만들었던 Animation Controller로 설정해주면!
유니티에서 또한 같은 동작을 하게 됩니다!
우와앙!
이제 이를 이용하여
Run, Walk, Jump, Dance 등등
기본 캐릭터 이동을 구현해보겠습니다.
# 흐름을 위해 나누어서 올립니다.