MMD4Mecanim
MMD
HoloLens

■HoloLens MMD4Mecanimを使ってMR空間にミクさんを召喚してみた件(初級編)

■はじめに

・複合現実(Mixed Reality)を実現するデバイスの Microsoft HoloLens これを入手したらまずやってみたくなるのが、キャラクターの召喚じゃないですか?Unityは Unity-Chan が利用な可能なキャラクターとして用意されてますが、やっぱりここはミクさんを召喚したい!と言う事でやってみましょう!と言った感じで忘れないうちに備忘録として残します

■■ここで出来るようになること

・HoloLens上で動くホログラフィックアプリケーションを作成します。ゴールとしてはHoloLensを通して見た空間の中にミクさんを出現させます
[実行イメージ]
[実現イメージ]

▲初投稿:2018-02-16

■開発環境

・HoloLens Development Edition 詳細ははこちら
・開発用パソコン(インストール要アプリケーション)
 ・Windows 10 Pro Fall Creators Update
 ・Visual Studio 2017 15.4.4
 ・Unity 2017.1.2f1 ダウンロードはこちら
 ・HoloToolkit-Unity-v1.2017.1.2.unitypackage ダウンロードはこちら
 ・MMD4Mecanim_Beta_20170910.zip ダウンロードはこちら
 ・Tda式初音ミク・アペンドVer1.10 ダウンロードはこちら

※上記のVersionは現時点(2018/02/13)で動作確認が取れた組み合わせになります。最新の環境の組み合わせについては各自でご確認下さい

※環境の構築方法につては下記のMicrosoftのサイト、エバンジェリストの方が公開しているサイトを参考にして作って下さい

・Windows Developer Center こちら
・Mixed Reality の開発環境 こちら
・Windows Mixed Reality 対応アプリ開発環境構築 こちら

■やってみよう!

■■Unityに新規プロジェクトを作成

・Unityを最初に起動するときは、アカウント登録等の手続を実施します。その後初期画面になります

[初期画面]

・まず画面右上にある New をクリックします。
 ・Project Nameに作成するプロジェクトの名前を入力
 ・Locationにプロジェクトを保存するパスを指定
 ・3D Object を使うので、3Dを選択
 ・”Create Project”ボタンを押してプロジェクトを作成します

[Unity画面]

・Unityが起動すると上記の画面が表示されます

※ここではUnityの詳しい使い方は説明しませんので、別途UnityのDocumenntサイトで確認して下さい

■■Mixed Reality Toolkit-UnityのImport
・HoloLens開発用のライブラリパッケージ(HoloToolkit-Unity-v1.2017.1.2.unitypackage)をImportします。このパッケージはHoloLensを開発する際に便利なツールが多数含まれているので、利用することをお勧めします

[Package読込]

・メニューバーの ”Assets” から ”Import Package” → ”Custom Package” をクリックして事前にダウンロードしておいた”Mixed Reality Toolkit”(HoloToolkit-Unity-v1.2017.1.2.unitypackage)を指定します

[Package Import]

・Import項目の選択画面が表示されますので、全てチェックされていることを確認して”Import”ボタンを押して開始します
・Importに成功したら、メニューバーに”Mixed Reality Toolkit”が表示されます

■■HoloLensアプリ開発環境設定
・HoloLensで動作するアプリケーションを開発する際には、複数のパラメータを設定する必要がありますが、”Mixed Reality Toolkit” をImportすることにより、その設定をボタンを押すだけで出来るようになります
 (実際に設定する内容についてはMicrosoftのMixed Reality Academy等で確認してください)

[Mixed Reality Toolkit 環境設定]

・メニューバーの ”Mixed Reality Toolkit” から ”Configure” をクリックしてサブメニューの下記3つを行います
 ・Apply Mixed Reality Project Settings
 ・Apply Mixed Reality Scene Settings
 ・Apply UWP Capability Settings

[Mixed Reality Project Settings]

・メニューバーの ”Mixed Reality Toolkit” から ”Configure” → "Apply Mixed Reality Project Settings"をクリックします
・環境設定用のチェック画面が上記の様になっていることを確認して "Apply" ボタンを押します

[Mixed Reality Scene Settings]

・メニューバーの ”Mixed Reality Toolkit” から ”Configure” → "Apply Mixed Reality Scene Settings"をクリックします
・環境設定用のチェック画面が上記の様になっていることを確認して "Apply" ボタンを押します

[UWP Capability Settings]

・メニューバーの ”Mixed Reality Toolkit” から ”Configure” → "Apply UWP Capability Settings"をクリックします
・環境設定用のチェック画面が上記の様になっていることを確認して "Apply" ボタンを押します

■■MMD4MecanimのImport
・事前にダウンロードしておいたZIPファイル(MMD4Mecanim_Beta_20170910.zip)を解凍してUnity上で動作可能にするMMD用のライブラリパッケージ(MMD4Mecanim.unitypackage)をImportします。このパッケージはPMX(PMD) + VMD を FBX に変換するツール & Unity (Mecanim) で一通り動作させるためのスクリプトです

[Package読込]

・メニューバーの ”Assets” から ”Import Package” → ”Custom Package” をクリックして事前にダウンロードしておいた”MMD4Mecanim (Beta)”(MMD4Mecanim.unitypackage)を指定します

[Package Import]

・Import項目の選択画面が表示されますので、全てチェックされていることを確認して”Import”ボタンを押して開始します

[警告メッセージ]

・途中上記メッセージが表示される場合があるかもしれませんが、”I Made aBackup. Go Ahead!”ボタンを押して継続して下さい

■■HoloLensCameraの設定
・ミクさんに近付けるようにカメラの設定を変更します

[HoloLensCameraの 設定]

・Hierarchyウィンドウ内にある”HoloLensCamera”を選択します

[Near Clipの 設定]

・Inspectorウィンドウ内のCameraのClipping Planes Near を 0.1 に設定します(0.1は10cm)

■■ミクさん召喚(MMD Model読込)

・ダウンロードしたミクさんの MMD Model データのZIPファイル(Tda式初音ミク・アペンドVer1.10.zip)を解凍しておきます。

[Modelsフォルダの作成]

・Projectウィンドウ内のAssets配下に”Models”フォルダを作成します。”Assets”を選択してマウスの右クリックから”Create” → ”Folder” をクリックして新しいフォルダ”Models”を作成します

[MMD Model データを”Models”フォルダにドラッグ&ドロップ]

・解凍したミクさんの MMD Model データのフォルダ(上記のキャプチャ画面ではフォルダ名を”tdamikuapend”にリネームしています)を上記で作った”Models”フォルダの中にドラッグ&ドロップします。

[Modelフォルダ]

・先程ドラッグ&ドロップしたフォルダの中に "フォルダ名.MMD4Mecanim.asset" と言う名前のファイルが出来ていると思います。そのファイルをクリックするとInspectorウィンドウ内にMMDモデルの利用規約が表示されますので、よく読んで規約違反が無いことを確認して下さい。最後まで行くと利用同意のチェックボックスが表れます

[利用規約の確認]

・利用同意をするのであれば全てのチェックボックスにチェックを入れます。そして最後に”同意する”ボタンを押します

[fbx変換実行]

・fbx変換する際にモーション情報をここで付与しますが、今回は特に行なわないのでそのまま”process”ボタンを押します。押すと下記の実行状況を表示するターミナルウィンドウが表示されます

[変換実行ウィンドウ]

・変換実行中はターミナルウィンドウが表示されます。変換が終了すると自動的にターミナルウィンドウも閉じるので暫く待ちます

[MMD4Mecanim設定]

・変換が完了するとドラッグ&ドロップしたフォルダの中に "フォルダ名.fbx" と言う名前の3Dモデルのファイルが出来ていると思います。そのファイルをクリックしてInspectorウィンドウ内の”Rig”ボタンを押して、"AnimationType"のドロップダウンリストの中から”Humanoid”を選択します。最後に”Apply”ボタンを押します

[MMDモデル召喚&MMD4Mecanim設定]

・"フォルダ名.fbx" ファイルをHierarchyウィンドウ内にドラッグ&ドロップします。Hierarchyウィンドウ内の"フォルダ名.fbx"をクリックするとInspectorウィンドウ内にMMD 4 Mecanim Modelが出て来ると思います
”Model”ボタンを押して、"Physics Engine"のドロップダウンリストの中から”Bullet Physics”を選択します

[MMD4Mecanim設定]

・"Hierarchyウィンドウ内の"フォルダ名.fbx"をクリックしてInspectorウィンドウ内にMMD 4 Mecanim Modelにある”Physics”ボタンを押して、"Colliders"→"General Colliders" の "Process" ボタンを押します

[立ち位置設定]

・"Hierarchyウィンドウ内の"フォルダ名.fbx"をクリックしてInspectorウィンドウ内に
Inspectorウィンドウ内のTransformのPositionをx:0 y:-1.5 z:2 Rotationを x:0 y:180 z:0 に設定します

■■Scenesの保存

[Scenes Save]

・メニューバーの ”File” から ”Save Scenes” をクリックします

[Scenes Save]

・まだ、Scenesフォルダーを作っていない場合は、”新しいフォルダー”をクリックしてScenesフォルダーを作成します
・Scenesフォルダーを指定します。Sceneファイル名を入力して”保存”ボタンを押します

■■UnityでBuildの実行

[Build Setting]

・メニューバーの ”File” から ”Build Settings” をクリックします

[Build Setting]

・最初の場合はBuild Setting画面の”Add Open Scenes”ボタンを押してBuildするSceneファイルを指定します。
・”Unity C# Projects”にチェックします
・”Build”ボタンを押すとBuildが開始されます

[App 指定]

・初めてのBuildの場合はAppフォルダーを”新しいフォルダー”をクリックして作成します
・Appフォルダーを指定します
・”フォルダーの選択”ボタンを押すとBuildが開始されます

■■Visual StudioでBuildの実行

・今回はVisual StudioからHoloLensに接続してアプリケーションをデプロイします。事前にHoloLensを起動してネットワークに接続した状態にしてください

[Visual Studio 起動]

・Buildが成功すると、エクスプローラーが起動します
・Appフォルダーの配下に ”Project名.sln” というファイルが作成されているのでダブルクリックします
・Visual Studio が起動して ”Project名.sln” を読み込みます

[Build 設定]

・Visual Studioの設定を次のようにします
 ・ソリューション構成:Release
 ・ソリューションプラットフォーム:x86
 ・Device:リモートコンピューター

[リモート接続 設定]

・アドレスに リモートコンピューター(HoloLens)の接続先のIPアドレスを入力します
・”選択”ボタンを押します

[デバッグ実行]

・メニューバーの ”デバッグ” から ”デバッグなしで開始” をクリックします。これでBuildが開始され、成功したら、リモートコンピューター に指定したHoloLensに接続してデプロイします

・デプロイも成功するとHoloLens側で作成したアプリケーションが自動的に起動します

[ミクさん召喚]

・等身大のミクさんがHoloLensをかけた目の前に召喚されたと思います。色んな方向から眺められますよね...

■あとがき

・でも、違う!!動いているミクさんみたい!! ですよね。と言うことで踊ってもらいましょう。次回”舞踏編”に続く... 多分

・今回下記のものをお借りいたしました
 ・[Model]【Tda式初音ミク・アペンドVer1.10 】by Tda ダウンロードはこちら
 作成者の方々に感謝致します。ありがとうございました。

・この記事はピアプロ・キャラクター・ライセンスに基づいてクリプトン・フューチャー・メディア株式会社のキャラクター「初音ミク」を使用したものです。

■参考

・Microsoft Mixed Reality Academy こちら
・Unity 2017.1 Document こちら

・HoloLens MMD4Mecanimを使ってMR空間にミクさんを召喚してみた件(舞踏編) こちら