3DXchange5 Pipeline テストシリーズ 9 J : MMD Model to Unity - 第一ステップ
2012.9.15 (Revised 10.20) by Hirospot (パーソナルサイト)
FBX変換したMMDモデルとダンスモーションを使い、Unity上で踊らせてみます
デモ動画サウンド無し
他のレポートはこちらから→
印は日本語でのレポートです
YUKARI
Reallusion社の3DXchange5 Pipelineを使うとMMDモデルの基本ボーンに対してiClone側のボーンをマッピングして非標準のキャラクター化ができるため、FBX形式でモデルの形状と内蔵モーションをUnityに渡して、ゲーム環境内で使用できるようになります。

今回のテストではMMDモデルとして「結月ゆかり」を新たに使わせて頂き、Unity(フリー版)内でマテリアルを修正したり、カスタムモーションを再生するための方法について試行してみました。
使用させて頂いたMMDモデルのデザイナー キオ様と、著作権を有する会社様に感謝いたします。  
YUZUKI YUKARI
Reallusion社のビデオチュートリアルに依れば、iClone 標準モデルはもとより、非標準モデルもモーション付きのアバタ−としてUnityにインポートでき、このモーションはそのまま修正不用の形でUnityで使用できます。

iCloneソフト内でPersona機能を使って 標準モデルに付加したカスタムモーションがUnityにインポートできるほか、3DXchangePipeline内でモーションライブラリに読み込んだ非標準キャラクター用のカスタムiMotionについても、インポートできます。

之までのテストでMMD モデルはR社の3DXchangeによりiClone 非標準キャラクター化できることがわかりましたので、Unityでも同じように使うことができるということになります。
そこで、今回は、MMDモデルに3DXchange5 パイプラインを使って、カスタムモーションを付加し、FBXフォーマットによりUnityにインポートするテストをしてみました。

このテストはMMDモデル自体をUnity内で表示し、インポートしたモーションで動かしてみただけの第一ステップで、ゲーム用のインタラクティブコントロールの方法については含めておりません。

また、Unity内の操作で使用した各部名称の日本語表記については、順次、より妥当なものに改版して行きますのでご容赦下さい。
Unity
ダウンロード先

(日本語)

はじめてのUnity
チュートリアル

こちら


3DXchange5
iClone5
UnityLogo

このレポートは3DX5パイプラインテストの一環として個人的に行なってみたもので、一つの方法としてご紹介しております。
日本ではMMDモデルが直接Unityに読み込めるフリーのツールが公開されております。→ 

テストステップ
1.
3DXchange5 で MMDモデルをiCloneの非標準モデルに変えて、iMotion を付加します。
2.
3DXchange5 で Unity用のプリセット設定を選択し、形状分だけでFBXエクスポートします。
3.
3DXchange5 で付加したiClone のiMotionを同様の方法でエクスポートします。
4.
Unity内で使用するステージを用意します。
5.
Unityを実装し、基本的なUI、Project、 Hierarchy、 Inspector各パネル及びAnimation パネルを使ってみます。
6.
Unity上でのMMDモデルの基本的な設定方法を理解します。
7.
UnityにインポートしたアニメーションをMMDモデルに付加してみます。
8.
インポートしたモーションの変更方法を理解します。
9.
複数のモデルに対して複数のモーションで動かしてみます。
10.
更に、MMDモデルにMMD側からのカスタムモーションも付加してみます。

テストに使用したツール類とファイル類
 入手
名 称
バージョン& 仕様
解 説
フリー
MMD キャラクター YUZUKI_YUKARI.pmd Windows100% マガジン 
MMDサードパック 特別収録モデル
フリー
MMD キャラクター YUZURIHARA INORI
フリー
Live Animation Beta 4.30DreamFactory
MMD モーションをエクスポート
BECKY_PANKING.lam を.BVH に変換 (Report 5)
フリー
PMD Editor ver 0.1.3.8 - 0.1.3.9
詳細はl:Report #4J, Import .pmd Model
フリー
プラグイン ColladaExportPlugin.dll 詳細は:Report #4J, DAE Exporting
フリー
FBX Cコンバータ 2013, Autodesk .dae を .fbx に変換できる
フリー
MMD ステージ Stage01.x
MMD ツールのAccessory の中にあります
  3DXchange5 Pro
Pipeline
5.1.0829.1 Mesh とiMotion をFBXフォーマットで別々にエクスポート
  iClone5 Pro 5.3.2103.1 iClone5標準キャラクター、モーション素材(iMotion)使用、本来は3D動画作成用多機能ツール
  iClone5標準モデル Gwynn (Test Reference) iClone G5 標準キャラクター
フリー
Unity 3 (フリー) 3.5.5f3 - 3.5.6f4
Unity Start up Caution (Win7 64Bit):
Issue with ESET Smart Security 4.2.71.2
 
1
MMDモデルの準備
1.1
テストで使用するMMD モデルをPMDEditorにインポートしてから.dae形式でエクスポートします.
(方法はレポート#4 をご参照下さい).
1.2
FBXコンバータを使用してMMDモデルの.daeからFBXファイルに変換し、3DXchange5 Pipelineで開きます。
1.3
iClone人型形状内の基本ボーンに対してMMDモデル内の対応部位の基本ボーンを手動でマッピングし、iCloneの非標準モデルとして使えるようにします。

最初にiClone人型形状内の基本ボーンの一つをクリックし、次に、MMDモデル上で対応するボン上をクリックします。 
人型の中心から順次マッピング操作を行い、 赤マークが告Fに変われば変換完了です。

Characterize
1.4

iClone5で標準利用可能なWave, Walk、そして Idle といったiMotion をMotion Library の中にインポートします。

1.5

"Add to Perform" ボタンを押し、 それらのモーションをMMDモデルに適用してみます。

1.6
ビューワの中でMMDモデルが各 iMotion でどのように動くか動作の確認します。
Moitons
   
2
MMD モデルの メッシュ をエクスポート
2.1
まず、"To Unity"という名称でフォルダを作っておきます。(名称は自由です) 
場所は、
C/Users/・・・/Documents/To Unity
2.2
最初にMMDモデルの メッシュ のみエクスポートします。
2.3

3DXchange5 の Export FBX を開き、Export Option の Mesh の下の Include Geometry にチェックをいれます。
次に、 Advanced Settings:Target Tool のドロップダウンから GameEngine Unity3D
を選択します。
Export Mesh

   
3
MMDモデルのiMotion をエクスポート
  次に、今度はiMotion だけをエクスポートします。
3.1
Export FBX の中、Animation の下で "Including Animation" にチェックを入れてから、
"Save One Take Per File" にもチェックを入れます。
3.2
Mesh の下の "Include Geometry" のチェックを外します。このとき、Target Tool は Custom になっています。

 

Export Animation

   
4
Unity用にステージの準備
  ここでは MMD付属のステージを使わせて頂きます。
4.1
MMD のフォルダを開き、UserFile の中の Accessory から stage01.x を選択します。
4.2

PMD Editor で stage01.x を読み、 stage01.obj でエクスポートして 3DXchange5 にインポートします。

Stage01

 
Export Stage
4.3
"To Unity" の中にエクスポートしたFBXファイル(ステージ、モデル、モーションが全て揃っているか確認します。
 
All FBX Files
 
5
Unity3D ソフトのインストール
5.1
Unity3D(UnitySetup-3.3.5.exe) をダウンロードしてインストールしたら、スタートします。
a
PCが Win7, 64Bit の場合、"ESET Smart Security"がインストールしてあるとUnity は起動しません. (Win7, 64Bit)
 
Unity Error

この不具合の対策について、こちらのサイトを参照させて頂きました。 TM Life .

貴重な情報を開示下さり、有難うございました。

b
次の様なパス設定を行ってから再スタートをします。数回のうちに起動します。
 
C:\Program Files(Game)¥Unity¥*.*ESET Security
5.2 Unityが開くとブランクスクリーンが出ます。ビューパネルのレイアウトは選択表示したり、配置を変えることが自由にできます。
 


Project, Hierarchy 及び Inspector
を分離して配置したい場合は、各ビュータブをドラッグします。Unity Open

5.3
環境の設定が必要な場合は、FileからBuild Settingsを開きます。
 
Platformの中から使用環境を選択し、Target Platformで使用OSを選択します。
Built Settings
5.4
シーンの中にカメラとライトを追加するには、GameObjectからCreate Otherを開き、Camera と Directional Lightを付加します。
5.5
カメラとライトのアイコンサイズの調整や表示・非表示の設定をするには、Gizmos(ギズモ)を開きます。
5.6
シーン中の物体の移動や回転、拡大縮小をするには Transformツールを使います。
5.7

シーンに表示されたカメラやライトのアイコンサイズを調整は3DGizmoのスライダーを使います。
カメラを選択すると、その設定内容値はInspector Viewの中に表示されます。
Gizmoの中にある各アイコン画像の上をクリックすると表示・非表示が切り替えれられます。
Unity Gizmo

5.8
マウスボタンを使っても操作ができます。センターボタンを押して移動、右ボタンを押して回転、中央ボタンを押してスケールの調整が行えます。
   
6
Unity 上で MMD モデルを扱う
6.1

MMDモデル、iMotion、ステージの全FBXデータをドラッグしてProject パネルの中に落とします。

 
Project Setting
6.2
Projec パネルの中でYUKARIのフォルダーを開き、YUKARI をシーンにドラッグして表示し、位置と大きざを調整します。
 

YUKARIを選択すると、プレビューウインドの中にも3Dイメージが表示されます。
YUKARIをシーンにドラッグしたあと、X,Y,Z位置の値を0(原点)
にしてからスケールを10〜30倍位に拡大します。
(ノーマルマップの設定をするときは
、"Fix now"のボタンを押します。
MMD in Unity

6.3

モデル各部のテクスチャカラーを調整したい場合にはMaterials とYUKARI.fbm を開き、必要なマテリアルのカラーを選択します。

 

Project ビューでYUKARI.fbmを開き、補正が必要な部分を選択します。
Inspectorの Open ボタンを押し、ペイントツールを開いて色を補正してから、保存します。
Model Preview
6.4
瞳の中の光の反射部分が見えないため、修正作業です。Material-25を選択し、メインカラーを白色にします。
 
YUKARI face
6.5
モデルの髪の毛部分にも問題があります。シェーダータイプを変えるため、Inspector パネルを使います。
 

変更対象のモデルの髪:YUKARI_0005 〜0011 を順次選択、Inspector パネルのドロップダウンリストを開きます。
Transparent/Diffuse の所をBumped Diffuse にします。
Shader

   
7
Applying Animation to the MMD  MMD モデルのアニメーション
7.1

モーションのプレビューをするため、メインカメラのアイコン上をクリックします。

 

デフォルトモードにするとモデルはTポーズになり、プレビュー画面側の背景色も変更できます。
Camera Setting
7.2

Hierarchyパネルの中で YUKARI をクリックし、Projectパネル でYUKARI を開きます。
モーションクリップをInspector パネルにある Animation名表示部のスロットにドラッグします。

 


アニメーションクリップの名前がMMDモデルのモーションクリップの名前に変わります。
Animation Setting

7.3 プレイボタンを押すと選んだアニメーションがゲームスクリーンの中で自動的にスタートします。
 
Animation
   
8
Unity 内でのモーションの変更方法
8.1

YUKARI を選択し全モーションクリップを Inspector パネルの Animation 領域内にドラッグします。

8.2
Window から Animationタブを開きます。Playボタンがここにもあります。
何か変更をしたい場合は必ずリセットモードでして下さい。リセットモードではモデルはTポーズになっています。
 

a)

Animationパネル内にあるモーションクリップをゲームスクリーン内で再生する場合は下図a)側のPlayボタンを使います。
この場合、モーションを変更するには別のモーションクリップをProjecパネルからAnimationスロット内にドラッグします。
b) Animationリストのモーションクリップを再生するにはAnimation領域にあるb)のPlayボタンを使います。
この場合、モーションは設定領域内でループします。

Animation Operation

 
ここで、iClone標準キャラクターの Gwynn と Personaモーションを Project に追加し、テスト内で参照します。
   
9
ステージ上に複数のモデルを配置します
9.1
用意したステージをシーン内にドラッグし、複数のモデルを配置して、光源、カメラの位置を決めます。
 


Hierarchy パネルでメインカメラを選択し、距離と焦点深度を調整し、プレビュー画面内で丁度良い状態にします。
Stage set

9.2
Hierarchy パネル内で Gwynn を選択し、Animationパネル内で彼女に付加されているアニメーションを再生してみます。
 

Gwynn Motion
9.3
同じく、Hierarchy パネル内で YUKARI を選択し、彼女に付加してあるアニメーションを再生してみます。
 


Animation パネル内のドロップダウンリスト内でモーション名を選択し、再生ボタンを押して下さい。
YUKARI Motion

9.4
二人のモデルが同時にアニメーションをします。
 

リセットモード(モデルはTポーズ状態)において、両モデルへのモーションをAnimation クリップ名の表示部にドラッグします。
Two Motions
 

Playボタンで再生します。一回だけ再生できます。
Two Motion Play
9.5
Stopボタンの仕様について:
a)ゲームモードで Stop ボタンをクリックすると、ボタンを押した所でモーションが止まります。
b)シーンモードで Stop ボタンをクリックすると、ゲームスクリーンはシーンビューに変ります。
 
ゲームモードではゲームスクリーン内にアクセスすることはできません。
ゲームモードにおいて、ステップボタンを押す度に1フレームだけ前進することができますが、タイムバーは備えていない模様です。
   
10
3DXchange5 Pipeline を使い、MMDモデルとカスタムモーションを更に追加してみます。
10.1
レポート#8で使用させて頂いたMMDモデルのINORI と LiveAnimation からのモーションを持ち込んで見ます。
 

Colladaプラグインを実装したMMDEditorから.dae形式でエクスポート後、FBX ConverterでFBX形式にして3DXchange5に読み込みます。
MMD INORI
10.2
3DXchange5 の Motion Library 内に他の iMotion を入れ、Add to Perform ボタンをクリックします。
 

Motion LibraryにインポートしたiMotionは3DX5上ではプレビューできますが、
エクスポートの際にはエクスポートライセンスの有無がチェックされます。

MMD INORI motion
10.3
INORIをテストに追加テストする際、次のFBXファイルを使用させて頂きました。
 

INORI FBXdata


手持ちのiClone素材にはエクスポートライセンスが必要なものが沢山あります。

ここに掲載しモーションは File の Export 段階で一つ一つ確認し、このままエクスポートできることを確認してあります。

カスタムモーション(着色):Motion_Lの元はLiveAnimationの中のサンプルモーションのBECKY_PANKING.laです。
詳細はレポート#5をご参照下さい。


10.4
Unityを起動し、追加したモデルを確認します。 ProjectパネルのMaterial を開きます。
 

INORI の Material-19(脚部) のシェーダータイプをTransparent/Diffuseに変更します。
INORI in Unity
10.5
各モデルをシーンに入れてから、一人ずつMotion clip をAnimation Clip名表示部分のスロット内にドラッグします。(下図をご参照下さい)
 

各モデルに各モーションを付加する場合には、シーンはリセットモード状態にします。(全モデルがTポーズになります)

Motion assign
 
デモ動画:MMD to Unity
3DXchange5 Pipeline Test Series 9: MMD Model to Unity-1st step
2012.9.15 (Revised 10.20)、日本語版2013.01.01 by Hirospot (Personal Site)