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でとにかく見る手順でした。
キャラクターと「会う」というにはまだまだこれからです。