Develog
로그인

MMD모델을 유니티로 불러와 보자

정해양
정해양
∙2026년 8월 11일∙조회 109
Unity3DMMDBlender유니티
MMD모델을 유니티로 불러와 보자
본문 로딩 중...
5
정해양

무야호

댓글 0

일단 MMD가 무엇인가?

MikuMukuDance라는 2008년도에 만들어진 C++기반 프로그램으로 캐릭터 모델링을 애니메이션에 적용해 모델을 춤추게 하는 프로그램이라고 보시면 됩니다 이름에서부터 당연히 하츠네미쿠 모델링을 기반으로 춤추게 하려는 게 목적입니다

예시영상 해당 영상을 만드신분은 이 후 넥슨에 취업하셨다고 합니다

 

요즘으로 따지자면 유니티로 캐릭터 뮤직비디오 만드는 것과 동일하다고 볼 수 있습니다

참고로 이거 아시는 분들은 건강검진 받을 나이임으로 꼭 받읍시다

 

1. 시작부터 난관

 

일단 Booth에서 캐릭터 모델링을 공짜로 받아서 다운을 받습니다

그리고 다운을 받아서 파일을 살펴봅시다

 

....?

MMD 모델링은 FBX가 아닌 pmx/pmd 형식이라는 지금과는 호환이 되지 않는 파일형식을 씁니다 그리고 해당형식은 유니티에서 쓸 수가 없습니다

 

그렇다면 이걸 어떻게 해야하나

 

https://github.com/absolute-quantum/cats-blender-plugin

CATS 라는 Blender 플러그인을 이용해 캐릭터를 불러오도록 합니다

 

https://download.blender.org/release/

참고로 해당 깃 프로그램은 블렌더2.93버전을 이용해야 호환이 잘됩니다

 

2. 유니티로 불러와보자

Edit - Proferences - Add ons -Installs 누릅니다

Zip 파일인 상태로 install Add-on 해줍니다

그리고 체크를 해준다음 N 버튼을 누르면

맨 오른쪽 항목에 MMD Misc CATS 항목이 생성 되었습니다

ImportModel을 불러옵니다

마젠타가 나올 수 있으니 침착하게 FixModel을 눌러주시고 잘 불러온 모델을 확인해봅시다

아주 이쁜 캐릭터가 블렌더에 올라왔습니다

 

이제 파일을 내보내 봅시다

옵션을 이렇게 하고 ExportFBX를 클릭합니다

 

 

 

그리고 FBX를 유니티로 불러오면....!

 

 

.

.

.

세상일이 쉽지 않습니다

 

3.유니티에서 머테리얼을 적용하기

모델링을 제공할때 파일을 잘 보시면 내부에 Texture파일이 있습니다

해당 텍스쳐를 바탕으로

New Material -> 생성된 머테리얼 BaseMap에 해당 텍스쳐를 넣어줍시다

그리고 머테리얼을 슥슥 드래그 해주면서

올바르게 넣어주면 ?

....

 

 

캐릭터 모델링에 알 수 없는 음영이 생겼다

 

 

4.마지막 관문 : 트러블 슈팅

해당 음영의 정체는 표정관련 레이어 입니다

 

 

 

스프라이트가 따로 있는것이 아닌 바로 위에 겹겹이 있는 형식으로 투명도를 통해 표정을 바꾸는 형식이였던 것이고

즉 수치가 1이면 Idle 표정 0이면 Smile표정으로 그리고 나머지는 0~1사이 숫자로 변경하는 원리입니다

 

자세히 보시면 종이가 겹치듯 위에 올라가 있는 형태인걸 볼 수있습니다

유니티는 해당 정보를 Opaque (불투명)로 인식하여 텍스쳐를 그대로 내보내고 있는 상태입니다

 

그래서 Surface Type을 Transparent로 바꾸면?

 

 

이젠 완벽하게 유니티에 적용된 모습입니다

 

5.마치며

실무에서는 주로 FBX 포맷을 다루지만

에셋 스토어나 Booth 등에서 맘에 드는 MMD(PMX) 에셋만 존재하는 경우가 종종 있습니다.

이러한 포맷 변환과 유니티 적용 메커니즘을 알아두면

인디 개발이나 포트폴리오 제작 시 에셋 활용 범위를 크게 넓힐 수 있습니다.

 

새 글이 올라오면 Develog 알림으로 알려드려요

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요.

관련 글

[Unity] 제네릭의 컴파일

[Unity] 제네릭의 컴파일

ㅇㅇ

10월 7일42
[Unity] 제네릭과 가변성(variance)

[Unity] 제네릭과 가변성(variance)

제네릭과 가변성

10월 6일821
[Unity] IEnumerator 개요

[Unity] IEnumerator 개요

코루틴에이저포에버

10월 6일4
[Unity] 제네릭의 컴파일
Unity

NEW[Unity] 제네릭의 컴파일

ㅇㅇ

KYO
KYO
420
KYO
KYO
∙10월 7일
420
[Unity] 제네릭과 가변성(variance)
Unity

[Unity] 제네릭과 가변성(variance)

제네릭과 가변성

KYO
KYO
821
KYO
KYO
∙10월 6일
821
[Unity] IEnumerator 개요
Unity

[Unity] IEnumerator 개요

코루틴에이저포에버

KYO
KYO
400
KYO
KYO
∙10월 6일
400