■はじめに
・複合現実(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のDocumenntサイトで確認して下さい
■■Mixed Reality Toolkit-UnityのImport
・HoloLens開発用のライブラリパッケージ(HoloToolkit-Unity-v1.2017.1.2.unitypackage)をImportします。このパッケージはHoloLensを開発する際に便利なツールが多数含まれているので、利用することをお勧めします
・メニューバーの ”Assets” から ”Import Package” → ”Custom Package” をクリックして事前にダウンロードしておいた”Mixed Reality Toolkit”(HoloToolkit-Unity-v1.2017.1.2.unitypackage)を指定します
・Import項目の選択画面が表示されますので、全てチェックされていることを確認して”Import”ボタンを押して開始します
・Importに成功したら、メニューバーに”Mixed Reality Toolkit”が表示されます
■■HoloLensアプリ開発環境設定
・HoloLensで動作するアプリケーションを開発する際には、複数のパラメータを設定する必要がありますが、”Mixed Reality Toolkit” をImportすることにより、その設定をボタンを押すだけで出来るようになります
(実際に設定する内容についてはMicrosoftのMixed Reality Academy等で確認してください)
・メニューバーの ”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" ボタンを押します
・メニューバーの ”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) で一通り動作させるためのスクリプトです
・メニューバーの ”Assets” から ”Import Package” → ”Custom Package” をクリックして事前にダウンロードしておいた”MMD4Mecanim (Beta)”(MMD4Mecanim.unitypackage)を指定します
・Import項目の選択画面が表示されますので、全てチェックされていることを確認して”Import”ボタンを押して開始します
・途中上記メッセージが表示される場合があるかもしれませんが、”I Made aBackup. Go Ahead!”ボタンを押して継続して下さい
■■HoloLensCameraの設定
・ミクさんに近付けるようにカメラの設定を変更します
・Hierarchyウィンドウ内にある”HoloLensCamera”を選択します
・Inspectorウィンドウ内のCameraのClipping Planes Near を 0.1 に設定します(0.1は10cm)
■■ミクさん召喚(MMD Model読込)
・ダウンロードしたミクさんの MMD Model データのZIPファイル(Tda式初音ミク・アペンドVer1.10.zip)を解凍しておきます。
・Projectウィンドウ内のAssets配下に”Models”フォルダを作成します。”Assets”を選択してマウスの右クリックから”Create” → ”Folder” をクリックして新しいフォルダ”Models”を作成します
[MMD Model データを”Models”フォルダにドラッグ&ドロップ]
・解凍したミクさんの MMD Model データのフォルダ(上記のキャプチャ画面ではフォルダ名を”tdamikuapend”にリネームしています)を上記で作った”Models”フォルダの中にドラッグ&ドロップします。
・先程ドラッグ&ドロップしたフォルダの中に "フォルダ名.MMD4Mecanim.asset" と言う名前のファイルが出来ていると思います。そのファイルをクリックするとInspectorウィンドウ内にMMDモデルの利用規約が表示されますので、よく読んで規約違反が無いことを確認して下さい。最後まで行くと利用同意のチェックボックスが表れます
・利用同意をするのであれば全てのチェックボックスにチェックを入れます。そして最後に”同意する”ボタンを押します
・fbx変換する際にモーション情報をここで付与しますが、今回は特に行なわないのでそのまま”process”ボタンを押します。押すと下記の実行状況を表示するターミナルウィンドウが表示されます
・変換実行中はターミナルウィンドウが表示されます。変換が終了すると自動的にターミナルウィンドウも閉じるので暫く待ちます
・変換が完了するとドラッグ&ドロップしたフォルダの中に "フォルダ名.fbx" と言う名前の3Dモデルのファイルが出来ていると思います。そのファイルをクリックしてInspectorウィンドウ内の”Rig”ボタンを押して、"AnimationType"のドロップダウンリストの中から”Humanoid”を選択します。最後に”Apply”ボタンを押します
・"フォルダ名.fbx" ファイルをHierarchyウィンドウ内にドラッグ&ドロップします。Hierarchyウィンドウ内の"フォルダ名.fbx"をクリックするとInspectorウィンドウ内にMMD 4 Mecanim Modelが出て来ると思います
”Model”ボタンを押して、"Physics Engine"のドロップダウンリストの中から”Bullet Physics”を選択します
・"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の保存
・メニューバーの ”File” から ”Save Scenes” をクリックします
・まだ、Scenesフォルダーを作っていない場合は、”新しいフォルダー”をクリックしてScenesフォルダーを作成します
・Scenesフォルダーを指定します。Sceneファイル名を入力して”保存”ボタンを押します
■■UnityでBuildの実行
・メニューバーの ”File” から ”Build Settings” をクリックします
・最初の場合はBuild Setting画面の”Add Open Scenes”ボタンを押してBuildするSceneファイルを指定します。
・”Unity C# Projects”にチェックします
・”Build”ボタンを押すとBuildが開始されます
・初めてのBuildの場合はAppフォルダーを”新しいフォルダー”をクリックして作成します
・Appフォルダーを指定します
・”フォルダーの選択”ボタンを押すとBuildが開始されます
■■Visual StudioでBuildの実行
・今回はVisual StudioからHoloLensに接続してアプリケーションをデプロイします。事前にHoloLensを起動してネットワークに接続した状態にしてください
・Buildが成功すると、エクスプローラーが起動します
・Appフォルダーの配下に ”Project名.sln” というファイルが作成されているのでダブルクリックします
・Visual Studio が起動して ”Project名.sln” を読み込みます
・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空間にミクさんを召喚してみた件(舞踏編) こちら