목차
이슈
이전 캐릭터는 부위별로 메쉬가 나뉘어진 캐릭터+Armature 형태로 Shift를 누르고 함께 선택한 뒤, FBX로 내보내 Unity에서 불러왔었다. 이 캐릭터는 Unity에 잘 올라갔고, 재질도 문제없이 깔끔했었다. 이후 캐릭터 리깅+애니메이팅을 수정하고 다시 업로드했더니 재질이 이상하게 보이는 현상이 나타났다.
분명 똑같은 Texture와 UV를 사용했는데, 재질이 다르게 보이는 현상이 생긴 것이다.
이슈 발생 과정
- Game Rig와 Control Rig를 나눠 Game Rig 속 뼈의 Constraint를 Control Rig의 각 뼈로 설정해 연결
(이때 Game Rig는 Flat Hierarchy였음) - Control Rig 애니메이팅 후 Game Rig에 베이킹(Game Rig의 Constraint는 따로 지우지 않았음)
- 부위별로 나뉜 캐릭터 메쉬와 Game Rig를 함께 선택 후 FBX 파일로 Export
(애니메이션 베이킹 O, 선택한 오브젝트만 Export) - 유니티에서 FBX 파일 업로드
시도한 방법
기존(멀쩡한) FBX 파일에서 재질을 추출하여 적용
기존의 FBX파일에서 재질을 선택하고 Extract From Prefab > 이 재질을 이상해진 모델에 적용
재질을 추출해 사용해봤지만, 같은 텍스쳐+UV를 사용한 모델이라 달라지는 게 없었다.
캐릭터+Armature과 애니메이션을 따로 Export(내보낼 때 Animation Bake 설정 해제) - 실패
Armature에 Bake한 애니메이션이 원인인가 싶어 FBX export 설정에서 Animation Bake를 해제해보았다.
Animation이 없는 FBX모델에 같은 Rig로 만든 Animation을 Animation Controller로 연결해주려고 했는데, 달라지는 건 없었다. 애니메이션은 잘 재생되었지만, 재질은 변하지 않았다.
캐릭터 메쉬들을 한 덩어리로 합치기 - 성공
캐릭터 메쉬가 나뉜게 문제인가 싶어서 Blender 로 다시 넘어가서 모델들을 함께 선택 > Ctrl+J를 눌러 합쳐줬다.
한덩어리가 된 캐릭터 메쉬+Armature 형태로 내보냈고, Bake Animation은 해제했다.
(애니메이션을 베이크해도 잘 불러와진다)
애니메이션은 Animation Controller로 불러왔다. Animation도 잘 재생되었다.
결론
정확한 원인은 파악하지 못했지만, 한번 모델들을 합치니 오류 없이 기존의 재질을 적용할 수 있었다.
테스트해보니 저런 식으로 재질이 이상해졌다면 모델들을 한번 합쳐주면 해결할 수 있다. 만약 캐릭터 메쉬를 부위별로 분리해야 한다면, 한 덩어리로 합쳤다가 필요한 부분들을 다시 나눠 내보내면 오류 없이 텍스쳐가 잘 적용된다.
'UNITY > BLENDER-UNITY' 카테고리의 다른 글
[Unity] Blender에서 내보낸 Rig 뼈가 뒤집혀 보일 때(FBX Export 오류) (5) | 2024.06.27 |
---|---|
[Unity] Unity에서 FBX로 파일 내보내기 (0) | 2024.03.04 |
[Blender-Unity] Generic Rig를 이용해 캐릭터 아바타 생성하기 (0) | 2023.08.31 |
[Blender-Unity] FBX 파일 내보내기/업로드 프로세스 (0) | 2023.04.26 |
[최적화] Occlusion Culling 하는 방법, 이유 (0) | 2023.04.23 |