본문 바로가기
Unity

[Unity] MMD4Mecanim 튜토리얼 (기본편) 완전번역 + dll 없음 오류 해결 및 게임 뷰 해상도 관련 안내

by RucA 2024. 5. 3.
728x90
반응형

유니티를 배우기 시작한 가장 큰 이유(?) 중에 하나이자 만약 본업으로 못하더라도 취미로 하기 위해서, 3D 캐릭터 모델 PMX/PMD파일 + VMD파일을 FBX파일로 변환해 유니티에 올릴 수 있도록 해주는 MMD4Mecanim의 일본어 튜토리얼 메뉴얼을 번역해본다. (일본어 공부도 할겸) 이후 이를 활용한 게임이나 영상을 개발하는 과정을 조금씩 올릴 예정이다.

 

MMD4Mecanim 파일 및 메뉴얼과 관련 여러 프로그램 및 정보 사이트를 먼저 올리고, 오늘은 여기에서 MMD4Mecanim의 공식 메뉴얼 중 튜토리얼 기본편을 번역하며 최신 버전으로 실습한 내용을 정리해 올린다.

Stereoarts Homepage

 

Stereoarts Homepage

 

stereoarts.jp

 

 

개요


유니티로 MMD의 각종 모델링, 모션 데이터를 취급하기 위한 컨버터(Converter) 및 스크립트(Script) 군(群)

 

 

MMD의 모델 데이터 및 모션 데이터 사용에 대해


모델 데이터 및 모션 데이터에 동봉되어 있는 설명서 등에 쓰여있는 이용규약을 반드시 통달해, 준수할 수 있도록 해주세요.

 

공개, 배포를 목적으로 하는 게임 및 콘텐츠로의 이용에 대해, 이용규약에 명시적으로 허가되어 있는 경우를 제외하고, 작품 내에서의 사용 및 데이터를 포함한 상태에서의 배포를 시행해도 좋을지, 반드시 모델이나 모션 데이터의 제작자에게 확인해주세요.

※ 많은 모델이나 모션 데이터는 영상 및 정지화면에서의 사용을 전제로 하고 있으며, 그 이외의 사용을 전제로 하고 있지 않습니다.

 

クリプトン・フューチャー・メディア(회사 이름) 주식회사에게 권리가 있는 캐릭터를 사용해 창작활동을 하는 경우, 반드시 가이드라인을 통달해 주시기를 부탁드립니다.

 

ピアプロ(회사 이름) 캐릭터 이용에 대한 가이드라인

https://piapro.jp/license/character_guideline

 

piapro

piapro(ピアプロ)は、聞いて!見て!使って!認めて!を実現するCGM型コンテンツ投稿サイトです。

piapro.jp

 

상용이용에 대해, 이하의 항목에 해당할 가능성이 있기에, 충분히 확인해 주시기를 부탁드립니다.

(직접 계약을 맺지 않는 경우에 한해, 원칙적으로는 NG인 것들이 대부분입니다.)

  • 법인에 의한, 영리·비영리를 불문한 모든 이용
  • 개인 또는 법인명이 없는 단체에 의한, 유상 ·무상을 불문한 영리를 목적으로 하는 이용
  • 상품 ·상금이 걸린 콘테스트로의 출전 및 유상 이벤트에서의 전시

 

공서양속(공공 질서와 선량한 풍속)에 반하는 표현에 대해, 충분히 배려를 부탁드립니다.

(이용 가능 여부은 모델의 권리자의 판단 및 가이드라인에 준합니다. )

  • 예를 들어, 가족이 모여 시청을 하는 경우, 노골적인 표현 묘사를 하는 것에 의한 곤혹, 혐오의 느낌을 품지 않도록 주의를 해주세요. (민방련[일본 민간 방송 연맹]의 방송기준에서 일부 참조)

 

 

스크린 샷에 사용되고 있는 모델 및 모션 데이터에 대해


각종 화면(을 통한) 설명을 위해, 이하의 모델 데이터 및 모션 데이터를 사용하고 있습니다.

 

[piapro3Dモデル]【MMD】よ式初音ミクv1.3.0【モデル配布】

MMD用のモデルデータ『よ式初音ミク version1.3.0』です。 zipファイル解凍後、同梱の「よ式初音ミク_使用前にお読みください.txt」を参照し、利用規約に同意してからご利用ください。 ...

piapro.jp

 

WAVEFILE fullver. モーション - BowlRoll

hinoの作品です。

bowlroll.net

 

 

PCL 크레딧


이 작품은 piapro(위의 회사) ·캐릭터 ·라이센스( http://piapro.jp/license/pcl/summary )에 의거해 クリプトン・フューチャー・メディア(회사 이름) 주식회사의 캐릭터 [하츠네 미쿠]를 그린 것입니다.

 

 

유니티로의 설치


배포 페이지에 있는 MMD4Mecanim의 압축파일을 풀면, 이하의 파일이 전개됩니다.

  • 기타 : 각종 보조 스크립트 등(옵션)
  • MMD4Mecanim.unitypackage : 유니티의 프로젝트에 등록하는 패키지 파일
  • Readme.txt : 툴의 설명서, 이용규약

 

  • 프로젝트 작성

유니티를 실행해서 메뉴의 File > New Project에서 신규 프로젝트를 작성합니다.

 

MMD4Mecanim : 유니티 프로젝트 생성(파일>새프로젝트)
유니티 3D 프로젝트 생성 : 파일 > 새 프로젝트

 

MMD4Mecanim : 유니티 프로젝트 생성(유니티 허브)
유니티 3D 프로젝트 생성 : 유니티 허브

 

  • MMD4Mecanim의 등록

압축 해제한 파일에 있는 MMD4Mecanim.unitypackage을 더블클릭(또는 드래그&드롭)해서, 유니티에 등록합니다.

 

MMD4Mecanim 등록
MMD4Mecanim 등록

 

임포트 패키지 다이얼로그가 표시되므로, Import 버튼을 눌러 등록합니다.

 

MMD4Mecanim 패키지 임포트
MMD4Mecanim 패키지 임포트

 

 

모델·모션 데이터의 등록


  • MMD4Mecanim의 등록

배포 페이지에 있는 파일을 압축 해제해서, 드래그&드롭으로 유니티의 프로젝트 창에 등록합니다.

 

3D모델 파일 등록
3D모델 파일 등록

 

3D모델 파일 등록 완료
3D모델 파일 등록 완료

 

  • 이용규약의 확인

모델 파일과 같은 폴더에 있는 자동생성된 파일 ~.MMD4Mecanim을 클릭하면, 모델의 설명과 이용규약의 확인화면이 표시됩니다. 이용규약을 반드시 확인해서, 내용을 잘 이해한 다음 "동의합니다(Agree)" 버튼을 눌러주세요.

※ 모션 파일에 대해서는, 익스플로리(파일 실행기)에서 파일을 열어 직접 확인해 주세요.

이용규약 확인 및 동의
이용규약 확인 및 동의

 

(내용을 이해한 다음, 체크박스를 모두 체크하고 Agree 버튼을 눌러 진행합니다.)

 

 

모델·모션 데이터의 변환


  • PMX/PMD + VMD의 FBX로의 변환 설정 창을 열기

이용규약에 동의한 후, 이하와 같은 PMX/PMD 모델에서 FBX 모델로 변환하기 위한 설정 페이지가 열립니다.

모델 자체의 스케일 값이나, 동시에 변환하는 VMD 모션의 설정도 여기서 진행합니다.

(일본어 튜토리얼 pdf의 설명 중에는 walk라는 vmd가 있었지만, 현재 다운 받은 파일에는 없어 위에 있는 vmd 예제인 wavefile을 다운받아 진행했습니다. VMD 파일을 드래그&드롭하면 함께 변환된다는 점에 주목합시다)

 

PMX/PMD + VMD에서 FBX로 변환
PMX/PMD + VMD에서 FBX로 변환

 


저는 여기서  dll없음 오류가 떠서 해결한 과정을 따로 포스팅했습니다.

https://suspiciously-useful.tistory.com/34

 

[오류] VCRUNTIME140.dll, VCRUNTIME140_1.dll, MSVCR100.dll 없어 코드 실행을 진행할 수 없습니다.

유니티(MMD4Mecanim)를 진행하던 중 process를 누르니 다음과 같은 오류창이 떴다. 구글링을 해보니 Microsoft Visual C++ Redistributables를 재설치한 후 PC를 재시작하라고 해서 바로 진행했다.https://www.microsof

suspiciously-useful.tistory.com


 

변환후, 생성된 모델을 열면, 이하와 같이 Inspector 창에 설정화면이 열립니다.

 

3D 모델 설정 창
3D 모델 설정 창

 

 

씬(Scene)과 애니메이션의 구축


  • 씬으로의 오브젝트 배치

모델을 프로젝트(Project) 창에서 씬(Scene)이나 위계(Hierarchy) 창으로 드래그&드롭해서, 씬에 배치합니다.

 

3D 모델 배치
3D 모델 배치

 


+) 다음과 같이 씬 뷰는 멀쩡한데 게임 뷰의 해상도가 깨진 것처럼 보이는 경우가 있다.

유니티 게임 뷰 해상도 깨짐 현상

 

이 경우, 게임 뷰의 Free Aspect를 4K로 바꾼 후 스케일을 조정해 주면 된다.

유니티 게임 뷰 해상도 깨짐 현상 해결


 

  • 애니메이션 컨트롤러(Animation Controller) 설정

프로젝트 창에서, 우클릭 > Create > Animator Controller을 선택해서, 비어 있는 Animator Controller을 생성합니다.

 

우클릭 > Create > Animator Controller
우클릭 > Create > Animator Controller

 

생성된 Animator Controller을 씬 위의 모델의 Animator > Controller의 항목에 드래그&드롭합니다.

(위에서 제가 한 것처럼 vmd를 넣으셨다면, 자동적으로 애니메이터 컨트롤러가 생성되어 있습니다. 자동으로 생성이 안되는 경우도 있으니 안내 사항을 따르시면 됩니다.)

 

Animator > Controller
Animator > Controller

 

등록한 Animator Controller더블클릭해서, 애니메이션의 상태 전이도를 엽니다.

그 상태에서, 모델에 포함된 모션(걷기.vmd)를 상태 전이도에 드래그&드롭해 등록합니다.

 

상태 전이도에 모션 드래그&드롭
상태 전이도에 모션 드래그&드롭

 

등록 후, 이하와 같은 상태가 된다면, 설정 완료입니다.

여기서 일단, 메뉴에서 File > Save Scene을 선택해서, 씬을 보존(저장)해 둡니다.

(유니티 최신 버전의 경우 씬의 저장은 해당 씬 오브젝트를 우클릭 한 후 Save Scene 입니다)

 

씬 저장하기
씬 저장하기

 

 

씬의 미세 조정과 재생


 

이후에는, 기즈모(Gizmo)를 사용해서 광원이나 카메라의 각도·위치를 조정해, 캐릭터를 보기 쉽게 합니다.

편집 후, 재생 버튼을 누르면 씬이 재생됩니다. 

※ 재생중에 위치나 각도를 편집해도, 정지 후에는 원래대로 돌아오는 것에 주의

 

기즈모 툴 & 씬 재생
기즈모 툴 & 씬 재생

기즈모 툴은 위에서부터 각각 시점이동, 오브젝트 이동, 오브젝트 회전, 오브젝트 확대축소, 모든 기능 통합

 

 

[작성자의 결과물]

MMD4Mecanim 튜토리얼(기본편) 완료
MMD4Mecanim 튜토리얼(기본편) 완료

 

 

보충


MMD4Mecanim의 거대한 작동의 흐름은, 이하와 같이 되어 있습니다.

 

MMD4Mecanim 작동의 흐름
MMD4Mecanim 작동의 흐름

 

1. MMD 데이터

2. PMX2FMX

  • PMX/PMD + VMDFBX로 변환시, 유니티에 임포트 가능한 형식으로 변환
  • Mecanim에 적합할 수 있도록 뼈대(본, Bone) 조정
  • Bullet Physics에 있는 머리카락이나 치마의 거동을 재현(모션에 焼きこみ : 용어로 추정)

3. MMD4Mecanim

  • MaterialShader의 초기 설정
  • 표정 모프를 위한 보정 스크립트
  • 플러그인 판 Bullet Physics에 따른 리얼타임 물리충격의 재현

4. Mecanim 대응 모델

  • Animation Type : Generic 또는 Humanoid로 초기화
    • Generic : VMD의 재현성 중시, 단 Humanoid 모션은 재생 불가
    • Humanoid : VMD 이외에도, Mecanim(Humanoid) 모션에 대응

 

  • 제한사항

Mecanim(Humanoid)에서의 VMD 재생은, 아직 불완전한 부분이 많아 모든 모션에서 정상적으로 재생 가능하다고는 보장할 수 없습니다. 그럴 경우, Animation TypeHumanoid가 아닌 Generic으로 선택해주세요.

 

유니티에서 동작하는 리얼타임의 Bullet Physics 플러그인 / C# DLL도 동봉되어 있습니다.

 

  • Rig > Animation Type에 대해

Animation Type은 이하에서 선택할 수 있습니다. 용도에 따라 변경해주세요.

  • Generic :
    • VMD의 재현성 중시. 단, 이하의 제한사항이 있습니다.
    • Humanoid 모션은 불가합니다. (변환 시 함께 변환된 VMD만 재생 가능)
    • 시선이동(LootAt), 인체 IK 등 Humanoid 특유의 인터렉티브한 기능은 사용 불가합니다.
    • VMD 모션을 단순히 재생하는 것만 원할 경우, 이 설정을 권장합니다.
  • Humanoid :
    • 튜토리얼이나 Mixamo 등의, Mecanim 모션에도 재생 가능합니다.
    • 또한, 시선이동(LootAt), 인체 IK 등 Humanoid 특유의 기능을 사용 가능합니다.
    • 단, VMD의 재현성은 낮아집니다. (모션에 따라서는 미묘한 어긋남이나 간접 동작이 무너집니다.)
    • 이 옵션을 선택한 경우, 후술하는 물리 설정 (플러그인 판 Bullet Physics)의 사용을 권장합니다.
    • ※ 아바타의 초기 설정 및 플러그인 판 Bullet Physics의 설정은 여기서는 생략합니다.

 

  • 보충 : 애니메이션 파일에 대해

씬에 등록한 모델의 설정 스크립트의 Anim 페이지를 열면, 표준으로 동시에 변환했던 VMD의 .anim 파일이 등록되어 있습니다. 이것은 Animation Controller의 스테이트 창에 연동되어, 표정 모프를 동작하도록 하기 위한 애니메이션 파일과 스테이트 명을 묶어서 등록하고 있습니다. 또한, 스테이트를 추가하는 경우에도, 그것에 대응하는 .anim 파일을 이곳에 추가로 등록할 필요가 없습니다.

보충 : 애니메이션 파일에 대해
보충 : 애니메이션 파일에 대해

 

 

이력


2015/6/7    이용규약에 대한 보충 추가

 

 

 

 

이 글은 아래의 MMD4Mecanim의 메뉴얼(튜토리얼) 기본편을 번역하며 실습을 최신 유니티 버전에 맞춰 진행하며 일어난 자잘한 어려운 점을 추가해 쓴 글입니다. 잘못된 내용이 있다면 댓글로 알려주시면 감사하겠습니다! 조만간 응용편도 쓸 예정

MMD4Mecanim チュートリアル(基本編).pdf
1.39MB

728x90
반응형