Game Programming/Game Engine

Unity3D :: MMD model import from unity (유니티에서 mmd 모델 가져오기)

VallistA2016. 8. 5. 17:55

MMD 는 MikuMikuDance의 줄임말으로써, 일본에서 만들어진 3D CG 동영상 작성 툴이다.

프리웨어로 오픈되어 있으며 특별한 제약이 없다. 다만 2차 창작된 모델에 대해서는 권리를 제작자들이 가지고 있으므로 조심해야한다.


이 MMD는 몇년간에 걸쳐서 수많은 서브컬쳐 계열의 사람들이 모델을 제작을 해서 배포한 것도 있고 서브컬쳐를 좋아하는 개발자들이나 그러한 소프트웨어를 개발해야 하는 사람들의 경우 MMD 모델을 써서 개발하는 경우가 많다.


물론 서브컬쳐 계열이 아닌 연예인 및 영화의 모델도 뿌려지는 경우가 많다.;

필자도 MMD에 쓸만한 모델이 있어서 사용을 하려고 했지만 MMD는 독자 규격을 가지고 있기 때문에 이 것을 다시 사용하기 위해서는 fbx 등으로 변환해주는 파일을 사용해야 했다.


Unity에서 찾아보니 Unity mecanim animation과 Prefab으로 추출하는 것들이 있어서 유용한 것 같아 블로그에 남기려고 한다.


1. Unity 에서 사용할 수 있는 MMD transfer library


1.1) MikuMikuDance for Unity


MikuMikuDance for Unity 홈페이지 

MikuMikuDance for Unity 동영상


1.2) MMD for mecanim


MMD for mecanim 홈페이지


대개 유명한 것은 이 둘인데 1.2) 의 경우 필자는 다뤄보지 않았다.

둘다 특이점은 Unity 5.x 버전 대로 할 경우 4.x 대에서 다뤄지는 함수를 사용하기 때문에 5.x 넘어가면서 Legacy가 되어버렸다.

그래서 변경을 좀 많이 해줘야하는데 이 과정은 매우 귀찮고 어떤 모델의 경우 함수를 다 바꿔줘도 제대로 Transfer 가 되지 않는다.


그러므로 Unity 4.x 대의 최신 버전을 다운받아서 해주도록 하자.


2. MikuMikuDance for unity 


MikuMikuDance, 즉 MMD는 앞서 말한 내용처럼 3D CG 동영상 작성 툴이기 때문에 독자적인 규격을 사용한다.

위의 2개의 프로그램들은 그 규격을 Unity mecanim 등의 규격으로 다시 작성해준 것이기 때문에 이 툴들에 들어있는 Wrapper 들에 대해서 사용을 해야한다. 


만약 transfer 한 다음에 프레임워크를 지울 생각이었다면 내부 소스를 뜯어서 자기가 커스터마이징 해줘야 한다.

왜냐하면 앞서 말했다시피 독자 규격을 Unity로 변환한 것이기 때문에 Wrapper가 있기 마련이기 때문이다.


먼저 홈페이지로 가서 Unity package를 다운받도록 하자.


MikuMikuDance for Unity 홈페이지 이동한다.


2.1) 유니티에 패키지 풀기.



<보기1. 오른쪽 상단 모서리 쯤에 있는 압축파일 중에 원하는 것으로 다운 받으면 된다.>


상단의 ZIP을 눌러서 필자는 다운받았다. 다운받게 되면.



<보기2. 사실 유니티 패키지가 나오진 않는다.>


이 폴더 전체를 유니티에 넣는다.


만약 5버전으로 했을경우



<보기3. 5.x 이상 버전대로 했을 경우 내뱉는 에러>


고치기 귀찮으니 그냥 설치를 하자...



4버전대에서 실행을 하고 파일을 넣은 후 유니티 에디터를 다시 껏다 켜주도록 하자. 

Editor 로드를 다시 한번 해줘야 trasnfer 기능이 활성화 된다.


2.2) Transfer 할 MMD 모델을 다운받자.


MMD 모델 (TDA)



<보기4. Tda 미쿠 유니티 안에 넣음>


위 사진과 같이 MMD 프로젝트를 넣었다.

여기서 우리가 사용해야 할 것은 pmx 파일이다.



<보기5. .pmx 파일 클릭시 켜지는 inspector>


개인적인 생각이지만 selection 풀리는 거 거슬림..

쨋든 저기서 Convert to prefab을 하게되면 프리펩이 생성된다. 



<보기6. pmx 파일을 프리펩으로 생성>


2.3) 모델 애니메이션 다운로드


애니메이션



<보기7. 애니메이션 버튼 누른다>



<보기 8. prefab의 애니메이션을 바꾼다>



바꾼 후 실행하면 애니메이션이 플레이 된다.



<보기9. 들어간 애니메이션 확인>




댓글

  • 화성토끼2016.08.06 22:10 모션 재생은 vmd 파일로 작성한 모션으로만 적용이 되나요? 포즈파일을 통해서 한다든가는 안되나요? 유니티 쪽에서 모션을 제작하거나 할 수는 없나요?
  • BlogIcon VallistA2016.08.08 15:12 신고 저도 그 부분에 대해서 현재 연구중에 있는데, 유니티 쪽에서 모션 제작은 가능합니다. Animator 파일로 일일히 지정하거나... 해주어야 할 것 같습니다.

    vmd 파일로 작성한 모션이 아닌 3DMAX 에서 작성한 Animation은 Unity 로 transfer 되기 때문에 사용할 수 있습니다.

    근데 저 모델 내부의 모델데이터와 매쉬 데이터에 맞추기 위해서면 전용 데이터가 필요한데 그 데이터를 맞춰주려면 저러한 프로그램이 필요합니다. 하지만 mikumikuDance for unity에서는 지원을 하지 않네요.

    MMD for mecanim의 경우 지원을 하는 것 같습니다.
댓글쓰기 폼

VallistA

병특이 끝나서 게임에서 웹으로 스위칭한 프로그래머.
프로그래밍 정보등을 공유합니다.

자고 싶습니다. ㅠㅠ

페이스북    :: 링크
카카오톡    :: kingbye1
Github      :: 링크

궁금한점 문의 주시면 답변드리도록 하겠습니다

VISITED

Today : 19

Total : 414,365

SNS

  • 페이스북아이콘
  • 카카오톡아이콘
  • 트위터아이콘