MMDキャラクターモデルをVRでとにかく見る
Unityを使って、任意のMMDモデルをVRで見るための手順(いろいろ省略版)

※MMDモデル・モーションを利用するにあたっては、同梱されているReadmeなどの利用規約の確認・遵守をお願いします。
公開・配布を目的とするコンテンツに利用する際は(明示的に許可されている場合を除き)モデル・モーション制作者への問い合わせが必要です。
必要なもの
ダウンロードするもの
- Unityエディタ(ゲーム開発エンジン。3Dオブジェクトやアニメーション、音源、エフェクト等を設定し、HMD向けに出力するアプリを作成できる。Personalエディションは無料で利用可能)
- MMD4Mecanim(MMDのモデルデータを変換し、Unityで扱える形式にするツール )
- 1.Unityのインストール
- 2.MMD4Mecanimのインポート
- 3.MMDモデルファイルのインポート
- 4.MMD4Mecanimを用いたモデルデータ変換
- 5.シーンへの配置とカメラの調整
- 6.アニメーションコントローラの追加
- 7.プレイモードで確認
- 8.VRモードに設定
- 9.ビルド(実行ファイル作成)
- 10.シーン保存
1.Unityのインストール
Unity公式サイトよりインストーラをダウンロードします。無料版で問題ありません。

インストール完了後、Unityエディタを起動すると、ログイン画面が表示されます。

「create one 」をクリックし、Webブラウザでアカウント作成を行ってください。
メールアドレスの登録が必要です。

ログイン画面でメールアドレスとパスワードを入力すると、プロジェクト作成画面が表示されます。
Project name:任意のプロジェクト名を入力します。
Location:プロジェクトのデータを格納するフォルダを指定します。

プロジェクト初期画面

デフォルトのレイアウトは少し見づらいかもしれません。
Window > Layout からレイアウトを変更できます。(ここでは「2 by 3」に設定しています)

2.MMD4Mecanimのインポート
MMD4Mecanimの開発者Noraさんのサイトより、ZIPファイルをダウンロードして解凍します。

Unityのプロジェクトにインポートします。
UnityPackageをダブルクリック、またはAssetsフォルダの中にドラッグ&ドロップしてください。

UnityPackageの内容が表示されます。

Importをクリックするとインポートを開始します。

インポートが完了すると、Assetsフォルダにファイルが追加されます。

3.MMDモデルファイルのインポート
MMDモデルファイルを用意します。

プロジェクトのAssetフォルダに、フォルダごとドラッグ&ドロップします。

プロジェクト内にモデルフォルダがコピーされます。
pmxファイルと同名のMMD4Mecanimファイルが追加されていることを確認します。

4.MMD4Mecanimを用いたモデルデータ変換
MMDモデルファイルを、Unityで扱える形式に変換します。
MMD4Mecanimファイルを選択します。

規約の内容を確認し、利用に問題なければチェック欄にチェックを入れて「同意する」をクリックします。

変換設定の画面に遷移します。

MMDのモーションを入れたい場合はVMDファイル(MMDのモーションファイル)を追加します。
プロジェクトフォルダにVMDファイルをドラッグ&ドロップします。
(ここではMMD4Mecanim同梱の 歩き.VMD を使っています)

MMD4Mecanimの変換画面で、VMDの欄にこのファイルをドラッグします。

Processをクリックすると変換実行します。

コマンドプロンプトが開き、変換処理が開始されます。


このアイコン
のファイルは「Prefab(プレハブ)」といい、複製のためのひな形となるものです。
モデルのPrefabを選択するとモデル情報が表示されます。モデルの画像が正しく表示されていれば変換成功です。

5.シーンへの配置とカメラの調整
Unityでは、シーンを編集することでゲームコンテンツを構成していきます。
モデルのPrefabを、Hierarchy(ヒエラルキー、階層)タブまたはSceneタブにドラッグ&ドロップします。
モデルのオブジェクトがシーンに出現します。
このように、Prefabをもとに作成されたオブジェクトを「Instance(インスタンス)」と言います。

配置したあと、矢印をドラッグすることで移動させることができます。
カメラも同様の方法で移動させ、GAMEタブの表示を調整します。

6.アニメーションコントローラの追加
アニメーションさせるためのコントローラを追加します。
Projectタブのすぐ下にあるCreateボタンから、
Create > Animator Controller でAnimatorControllerが作成できます。

または、Assetsフォルダ内で右クリックし、
Create > Animator Controller でも作成できます。

追加されたコントローラは適宜リネームしてかまいません。

モデルのInstanceを選択し、Inspectorタブを確認します。
AnimatiorコンポーネントにあるController欄に、作成したAnimatorControllerをドラッグ&ドロップします。

設定したAnimatorControllerファイルにアニメーションクリップを設定します。
VMDモーションファイルから変換されたアニメーションクリップを、Animatorタブにドラッグ&ドロップします。
モーションファイルはモデルのPrefabの中に格納されています。


7.プレイモードで確認
テスト用の簡易モードで実際の動作を確認します。
左端の三角ボタンをクリックするとプレイモードを開始します。
再度クリックすると停止します。

モーションを設定している場合、モデルがアニメーションします。
設定していない場合は動かないままです。
プレイモードで動作させている間は、オブジェクト移動などの変更を行っても、プレイモード終了と同時にリセットされてしまいます。
初期状態ではプレイモードと編集モードが紛らわしいため、上記のように、プレイモード中のUnityエディタ画面に色をつけると便利です。
Edit > Preferences で Unity Preferencesウインドウを開き、Playmode tint の項目でわかりやすい色を選択します。
8.VRモードに設定
Unity側の機能で、デバイス用のファイルを追加することなくHMDへの出力を行うことができます。
Edit > Project Settings > Player と選択していき、PlayerSettingsの画面を開きます。

Virtual Reality Supported のチェックボックスにチェックを入れます。

Virtual Reality Supported にチェックを入れると、その下にSDK選択リストが表示されます。

利用するHMDデバイスがOculus Riftの場合は、SDKに「Oculus」を選択します。

利用するHMDデバイスがHTC Viveの場合は、SDKに「OpenVR」を選択します。

HMDが正しく接続されていれば、この状態でプレイモードを開始するとHMD側に映像が表示されます。
9.ビルド(実行ファイル作成)
ビルドを行い、実行ファイルを作成します。
File > Build Settings... を選択します。

ビルド設定ウインドウが開きます。
PlatformがPC、Architectureが環境に合ったものになっていることを確認してBuildをクリックします。

実行ファイルの名前を設定して「保存」をクリックします。

ビルド処理が完了すると、ビルド先のフォルダが開きます。
上記で設定した名称の実行フォルダとデータフォルダが作成されます。

これでVRアプリが作成できました!
10.シーン保存
このままUnityエディタを終了すると、シーンに設定した内容は失われてしまうので、シーンを保存します。
File > Save Scene as... を選択します。

任意のシーン名を設定し、「保存」をクリックします。

シーンファイルが保存されます。

以上、MMDキャラクターをVRでとにかく見る手順でした。
キャラクターと「会う」というにはまだまだこれからです。