2023. 6. 4. 17:39ㆍ카테고리 없음
두번째 강의에서 모션(VMD파일)을 임시 모델(PMX파일)에 입히고 FBX파일로 추출하는 방법을 설명드렸습니다.
이번 강의에서는 블렌더로 추출한 FBX파일을 불러와, 애니메이션만 따로 추출하여 내 캐릭터에 입히는 과정까지의 결과물을 만들어보도록 하겠습니다.
우선, 제페토 캐릭터를 불러오기 위해서는 제페토 아이템 템플릿이 필요합니다.
유니티 아이템 프로젝트 다운로드
1. Unity 2020.3.9Unity는 반드시 2020.3.9 버전으로 다운로드 받으세요
2. ZEPETO Studio Unity Project File 3.2.7– 2023.03 updated
유니티 MMD 세팅하기
유니티 MMD 호환 패키지파일 다운받기
1. 사이트에서 스크롤을 내리면 MMD4Mecanim Beta 20200105 .zip 파일을 다운받아 주세요

2. Unity 2020.3.9 버전에서 추가를 눌러 다운받은 ZEPETO Studio Unity Project File 3.2.7 아이템 템플릿 프로젝트 파일을 추가해주세요

3. 아이템 템플릿 프로젝트 파일을 유니티로 엽니다
4. 다운받은 MMD4Mecanim Beta 20200105 폴더에 'MMD4Mecanim.unitypackage' 를 IMPORT해주세요


5. 아래와 같이 폴더가 불러와졌다면 유니티 MMD 세팅은 끝이납니다!

FBX 파일에서 애니메이션 파일 추출하기
이전 강의에서 모션(VMD파일)을 입힌 임시 모델 FBX파일로 변환하였습니다.
1. 이제 FBX파일을 유니티에 IMPORT 들고옵니다
(이때 유니티에서는 모션 VMD파일이 ANI파일로 변환되어 들고와집니다)
FBX파일을 유니티에 불러와주고 캐릭터옆에 화살표를 누르면 FBX파일에 포함된 모든 객체가 뜨게됩니다.
우리가 필요한 것은 모션파일(VMD -> 유니티에서 ANI로 변환됌)이기 때문에 이것을 FBX 그룹밖으로 빼내는 작업을 할겁니다.

2. FBX 파일을 누르고 Inspector 창에서 Rig > Animation을 Humanoid로 변경 > Apply 를 눌러줍니다.
3. 경고창이 뜨면 VMD를 넣은 임시모델의 본이 유니티에서 엇갈렸다는 에러가 뜹니다. 이럴때는 에러가 뜬 본을 다시 설정해주어야합니다. Configure을 눌러주세요


4. Configure를 누르면 Inspector창에서 어떤 본이 에러가뜨는지 알 수 있습니다
5. 오류가 난 hand 부분을 눌러서 적절한 본을 찾아서 넣어줍니다.
6. 본 수정이 끝났다면 Animation창이 활성화가됩니다. Animation 탭으로 이동해줍니다.
7. Animation탭의 Clips에 모션(VMD -> 유니티에서 ANI로 변환됌)파일이 뜨게되는데 이걸 클릭하고 하단에 이름을 수정해주세요.
8. Apply를 눌러 수정된 이름을 적용합니다.
(이 작업을 하는 이유는 이름을 변경해야 FBX 그룹 파일에서 애니메이션 단일 객체로 빼낼 수 있기 때문입니다.)


9. 저는 간단하게 mixamo.com이라되어있던 이름을 M으로 수정하여 Apply를 누른 결과 이름이 바뀐것을 확인할 수 있습니다.
10. 이제 이름이 변경된 Animation 파일을 Ctrl +C -> Ctrl + V 해주세요.
11. FBX 파일 그룹이 아닌 단일 객체로 빠져나온 것을 확인했다면 FBX파일에서 애니메이션 단일객체로 추출 완료됩니다.

제페토 캐릭터에 모션 적용하기
이제는 모션(VMD -> 유니티에서 ANI로 변환됌)이 준비되었으니 내 캐릭터를 불러와 모션을 적용해보도록 하겠습니다.
Loader 스크립트의 종류
첫번째, Zepeto Character Cunstom는 원하는 캐릭터를 불러올 수 있는 스크립트입니다.
1. Hierarchy창에서 Loader를 누르면 Inspcetor창에서 Zepeto Character Cunstom 스크립트가 뜨는걸 확인할 수 있습니다.
2. 여기서 Zepetoid를 검색하여 해시코드를 찾고 그 해시코드를 복사하여 Hashcode창에 입력합니다.
TIP. 만약 나는 혼자가 아니라 사람을 추가로 불러오고싶다면 Hierarchy창에서 Loader를 원하는 수만큼 복사 붙여넣기하여 생성해주세요! 각각의 LOADER에 다른 캐릭터의 해시코드를 입력하여 불러올 수 있습니다.


Loader 스크립트의 종류
두번째, Playground Controller는 불러온 캐릭터에 모션을 적용할 수 있는 스크립트입니다.
Playground Controller 스크립트 이전에 Zepeto Studio Loader 스크립트가 뜨는데 이 스크립트는 PLAY 시에 UI가 활성화되는 스크립트이기 때문에 체크박스를 해제해줍니다.
1. 단일 객체로 추출한 모션(VMD -> 유니티에서 ANI로 변환됌) 파일을 Playground Controller 스크립트의 Animation Cilp에 넣어주세요.
2.그리고 유니티 상단의 플레이 버튼을 눌러 캐릭터가 잘 생성되는지, 생성된 캐릭터가 모션을 취하는지 확인할 수 있습니다.


3. 이때 다수의 캐릭터를 생성했다면 캐릭터가 겹쳐서 나오게됩니다. 이걸 수정하기 위해서는 Game뷰에서 Scene뷰로 돌아가서 Hierarchy창에 생성된 제페토 캐릭터 LOADER > Zepeto Context를 선택하고 원하는 위치로 옮겨줘야 합니다


4. 원하는 위치에 캐릭터를 배치했다면 플레이 버튼이 아닌 ll 버튼을 눌러 수정된 상태에서 다시 PLAY해줍니다.

원하는 캐릭터가 생성되어 추출한 모션을 취하고있다면 성공입니다.