UnityでMMDモデルを動かすための手順などを紹介します。
出来上がりイメージはこんな感じです。
MMDモデルを動かすために下記のものを準備(ダウンロード)しておいてください。
・Unity(今回はUnity4.6.5で作成) ・UnityChanパッケージ(モーションのために利用) ・MMD4Mecanim_Beta(MMD4Mecanim_Beta_20150425で作成) ・動かしたいMMDモデル(ブラスターB式様の大鳳モデルを使用。使用できるモデルに条件有り、後述)
手順0.Unity起動・プロジェクト作成
まずは、Unityを起動して、プロジェクトを作成しましょう。
Project Locationは任意の場所を、Import the following packages: はチェックを入れる必要はありません。
Setup defaults for: は「3D」で。設定が終わったらCreateをクリック。
下記画面が表示されると思います。赤枠を簡単に説明します。
①:Hierarchyビュー:ここにオブジェクトを配置することで②に配置され、画面内で動かす事が出来ます。
②:Seaneビュー:制作中の要素をビジュアル的に確認しながら編集できる画面です。
③:Inspectorビュー:各オブジェクトが持つ様々な要素(位置情報、物理的な要素など)が表示されます。ここで各要素の値を変更することができます。
④:Projectビュー:制作中のプロジェクトに使用される素材が入っています。また、素材を入れたりもします。
●●ビューに○○を入れる、▲▲ビューの△△を▽▽に変更する、といった作業がありますので各ビューの名称は覚えておきましょう。
手順1.必要なものをインポート
まずは、MMDモデルをUnityで扱えるオブジェクトに変換するソフトMMD4Mecanim_Betaを使えるようにしましょう。
画面上部にあるAssetsからImport Package → Custom Packageをクリック。
MMD4Mecanimをダウンロードして解凍した際にできたフォルダの中にあるMMD4Mecanim.unitypackageを選択し、Unityにインポートします。
Importing package画面では全てにチェックが付いていることを確認してImportをクリック。
下記画面のように、ProjectビューのAssetsに3つのフォルダが追加されていることを確認してください。
次に、MMDのモデルを追加します。
下記画面のように、MMDのモデルデータをフォルダごとUnityのProjectビューのAssetsにドラッグ&ドロップしてください。
フォルダが追加されたら、下記画像のようにモデル名.MMDMecanimファイルができていることを確認してください。
次に、モーションを拝借するためにユニティちゃんをインポートします。
画面上部にあるAssetsからImport Package → Custom Packageをクリック。
ダウンロードしたUnityChan.unitypackageを選択し、Unityにインポートします。
Importing package画面では全てにチェックを入れるか、AnimationsとAnimatorsとScriptsの3つにチェックを入れてImportをクリック。
フォルダが追加されたら、ProjectビューのAssetsにUnityChanフォルダができていることを確認してください。
これで準備は完了です。次はインポートしたモデルの変換を行います。
とりあえずここで保存を行っておきましょう。
上部のFileからSave Sceneを選択し、任意のシーン名で保存します。
同じくFileからSave Projectでプロジェクトも保存しておきましょう。
手順2.MMDのモデルをUnityで使えるように変換を行う。
インポートしたモデルのフォルダ内にあるモデル名.MMDMecanimをクリックすると、Inspectorビューに下記画像の赤大枠ようなものが表示されます。
チェックを入れて同意するをクリックします。
同意するをクリックしたら下記画像のようにInspectorビューの内容が変わります。
PMX/PMDにモデル名が入っていることを確認してください。VMDとFBX Pathは特に変更する必要はありません。
モデル名が入っていることを確認したらProcessをクリックしてください。
黒い画面が現れて色々処理が走りますので少し待ちます。
何故か途中でUnityが強制終了することがありますが、その時は再度変換を行ってください。
何度か試してもうまくいかない場合は別のモデルを使うしかないようです・・・。
無事に変換が終わるとフォルダ内にモデル名.fbxができているので確認してください。
確認が出来たら、RigタグのAnimatioonTypeをHumanoidに変更し、Configurewoをクリックします。
Unapplied import settingsではApplyをクリックします。
Insoectorビューが下記画像のように表示されているはずです。
モデルの図が全て緑であればボーンの設定に問題はありません。
もし赤い箇所があれば設定がうまくいってないので手動で合わせる必要があります。
右側の丸ポチを押すとSelect Transform画面が現れるので、適切なボーンを設定します。
問題がなかったor修正が終わったなら右下にあるDoneをクリックします。
Unapplied import settingsが現れたらApplyをクリックします。
手順3.オブジェクトの配置を行う。
それでは、これからオブジェクトを配置していきます。
まずは、舞台の土台を作りましょう。
画面上部のGameObjectから3D Object > Planeを選択します。
すると、Sceneビューに四角い板のようなものが表示されたと思います。
ライトも作成しておきます。GameObjectからLight > Directional Lightを選択します。
ライトの位置が低いので調節しておきます。Hierarchyビューで作成したDirectional lightを選択すると、Inspectorビューは下記画像のように表示されます。
InspectorビューのTransformのポジションを図のように変更してください。
設定内容を簡単に説明すると、xz平面(床面)の原点からy軸(高さ)10mのところにライトを配置するという設定です。
ついでにPlaneも若干狭いのでTransfomeのScaleのx,zを3に設定しておきましょう(地面を縦横3倍に伸ばします)。
次にモデルオブジェクトを配置します。
ProjectビューのAssets > モデルのあるフォルダ 内にあるモデル名.fbxを下記画面のように、Sceneビューにドラッグ&ドロップします。
InspectorビューのTransformのPositionのx,y,zを図のように0に変更してください。
次にカメラを調整します。HierarchyビューにあるMain CameraをクリックするとSceneビューにCamera Previewが表示されます。
下記画面のように、Previewを見ながらカメラの位置を調節します。
調節が終わればHierarchyのMain Cameraをモデルの中に移動します。
カメラとモデルを同一オブジェクトとすることで、モデルの移動に合わせてカメラも移動します。
これでモデル・オブジェクトの配置は完了です。
次回は実際にモデルが行うアニメーションの設定を行います。
モデルを動かす方法として2種類を紹介しますのでお好きな方を選んでください。
①:プログラムなんて書きたくない・ユニティちゃんの流用してをとにかく早く動かしたいという方はこちら
②:プログラムを書くことに興味がある・どうやって動かすか詳しく知りたいという方はこちら