はいぬっかメモ

キャラクターモデルをVR空間で眺めたい

MMDキャラクターモデルをVRでとにかく見る

 

Unityを使って、任意のMMDモデルをVRで見るための手順(いろいろ省略版)

 

f:id:hinzka:20170427154547g:plain

MMDモデル・モーションを利用するにあたっては、同梱されているReadmeなどの利用規約の確認・遵守をお願いします。

公開・配布を目的とするコンテンツに利用する際は(明示的に許可されている場合を除き)モデル・モーション制作者への問い合わせが必要です。

 

必要なもの

ダウンロードするもの

  • Unityエディタ(ゲーム開発エンジン。3Dオブジェクトやアニメーション、音源、エフェクト等を設定し、HMD向けに出力するアプリを作成できる。Personalエディションは無料で利用可能)
  • MMD4MecanimMMDのモデルデータを変換し、Unityで扱える形式にするツール )

 

 

1.Unityのインストール

Unity公式サイトよりインストーラをダウンロードします。無料版で問題ありません。

f:id:hinzka:20170425164728p:plain

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

f:id:hinzka:20170426025104j:plain

「create one 」をクリックし、Webブラウザでアカウント作成を行ってください。

メールアドレスの登録が必要です。

f:id:hinzka:20170425205227p:plain

ログイン画面でメールアドレスとパスワードを入力すると、プロジェクト作成画面が表示されます。

Project name:任意のプロジェクト名を入力します。

Location:プロジェクトのデータを格納するフォルダを指定します。

f:id:hinzka:20170425165212j:plain

プロジェクト初期画面

f:id:hinzka:20170425165449j:plain

デフォルトのレイアウトは少し見づらいかもしれません。

Window > Layout からレイアウトを変更できます。(ここでは「2 by 3」に設定しています)

f:id:hinzka:20170426030613j:plain

2.MMD4Mecanimのインポート

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

Stereoarts Homepage

f:id:hinzka:20170425210117p:plain

Unityのプロジェクトにインポートします。

UnityPackageをダブルクリック、またはAssetsフォルダの中にドラッグ&ドロップしてください。

f:id:hinzka:20170426005831j:plain

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

f:id:hinzka:20170425170203j:plain

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

f:id:hinzka:20170425171555j:plain

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

f:id:hinzka:20170426025431j:plain

 

3.MMDモデルファイルのインポート

MMDモデルファイルを用意します。

(今回はヒノイチさん堀川国広モデルをお借りしました)

f:id:hinzka:20170425170414j:plain

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

f:id:hinzka:20170425234352j:plain

プロジェクト内にモデルフォルダがコピーされます。

pmxファイルと同名のMMD4Mecanimファイルが追加されていることを確認します。

f:id:hinzka:20170425233919j:plain

 

4.MMD4Mecanimを用いたモデルデータ変換

MMDモデルファイルを、Unityで扱える形式に変換します。

MMD4Mecanimファイルを選択します。

f:id:hinzka:20170425235205j:plain

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

f:id:hinzka:20170425235555j:plain

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

f:id:hinzka:20170425170825j:plain

MMDのモーションを入れたい場合はVMDファイル(MMDのモーションファイル)を追加します。 

  プロジェクトフォルダにVMDファイルをドラッグ&ドロップします。

  (ここではMMD4Mecanim同梱の 歩き.VMD を使っています)

  f:id:hinzka:20170425232545p:plain

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

  f:id:hinzka:20170425232956j:plain

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

f:id:hinzka:20170426000013j:plain

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

f:id:hinzka:20170425170322j:plain

f:id:hinzka:20170426001724p:plain

このアイコンf:id:hinzka:20170426002653p:plainのファイルは「Prefab(プレハブ)」といい、複製のためのひな形となるものです。

モデルのPrefabを選択するとモデル情報が表示されます。モデルの画像が正しく表示されていれば変換成功です。

f:id:hinzka:20170426003232p:plain

 

5.シーンへの配置とカメラの調整

Unityでは、シーンを編集することでゲームコンテンツを構成していきます。

モデルのPrefabを、Hierarchy(ヒエラルキー、階層)タブまたはSceneタブにドラッグ&ドロップします。

モデルのオブジェクトがシーンに出現します。

このように、Prefabをもとに作成されたオブジェクトを「Instance(インスタンス)」と言います。

f:id:hinzka:20170426005210j:plain

配置したあと、矢印をドラッグすることで移動させることができます。

カメラも同様の方法で移動させ、GAMEタブの表示を調整します。

f:id:hinzka:20170425202603g:plain

6.アニメーションコントローラの追加

アニメーションさせるためのコントローラを追加します。

Projectタブのすぐ下にあるCreateボタンから、
Create > Animator Controller でAnimatorControllerが作成できます。

f:id:hinzka:20170426021828j:plain

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

f:id:hinzka:20170426021954j:plain

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

f:id:hinzka:20170425171738j:plain

モデルのInstanceを選択し、Inspectorタブを確認します。

AnimatiorコンポーネントにあるController欄に、作成したAnimatorControllerをドラッグ&ドロップします。

f:id:hinzka:20170426024846p:plain

設定したAnimatorControllerファイルにアニメーションクリップを設定します。

VMDモーションファイルから変換されたアニメーションクリップを、Animatorタブにドラッグ&ドロップします。

モーションファイルはモデルのPrefabの中に格納されています。

f:id:hinzka:20170426012948j:plain

f:id:hinzka:20170425200129g:plain

 

7.プレイモードで確認

テスト用の簡易モードで実際の動作を確認します。

f:id:hinzka:20170426010121p:plain 左端の三角ボタンをクリックするとプレイモードを開始します。

再度クリックすると停止します。

f:id:hinzka:20170425195204g:plain

モーションを設定している場合、モデルがアニメーションします。

設定していない場合は動かないままです。

 

プレイモードで動作させている間は、オブジェクト移動などの変更を行っても、プレイモード終了と同時にリセットされてしまいます。

初期状態ではプレイモードと編集モードが紛らわしいため、上記のように、プレイモード中のUnityエディタ画面に色をつけると便利です。

Edit > Preferences で Unity Preferencesウインドウを開き、Playmode tint の項目でわかりやすい色を選択します。

 

8.VRモードに設定

Unity側の機能で、デバイス用のファイルを追加することなくHMDへの出力を行うことができます。

Edit > Project Settings > Player と選択していき、PlayerSettingsの画面を開きます。

f:id:hinzka:20170426011724j:plain

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

f:id:hinzka:20170504133109p:plain

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

f:id:hinzka:20170504134513p:plain

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

f:id:hinzka:20170504133151p:plain

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

f:id:hinzka:20170504133206p:plain

 HMDが正しく接続されていれば、この状態でプレイモードを開始するとHMD側に映像が表示されます。

 

9.ビルド(実行ファイル作成)

ビルドを行い、実行ファイルを作成します。

File > Build Settings... を選択します。

f:id:hinzka:20170426014845j:plain

 ビルド設定ウインドウが開きます。

PlatformがPC、Architectureが環境に合ったものになっていることを確認してBuildをクリックします。

f:id:hinzka:20170426015505j:plain

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

f:id:hinzka:20170426015125j:plain

 ビルド処理が完了すると、ビルド先のフォルダが開きます。

上記で設定した名称の実行フォルダとデータフォルダが作成されます。

f:id:hinzka:20170426020221j:plain

これでVRアプリが作成できました!

10.シーン保存

このままUnityエディタを終了すると、シーンに設定した内容は失われてしまうので、シーンを保存します。

 File > Save Scene as... を選択します。

f:id:hinzka:20170426020941j:plain

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

f:id:hinzka:20170426021125j:plain

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

f:id:hinzka:20170426021328j:plain

 

 

以上、MMDキャラクターをVRでとにかく見る手順でした。

キャラクターと「会う」というにはまだまだこれからです。