■はじめに
・複合現実(Mixed Reality)を実現するデバイスの Microsoft HoloLens これを入手したらまずやってみたくなるのが、キャラクターの召喚じゃないですか?Unityは Unity-Chan が利用な可能なキャラクターとして用意されてますが、やっぱりここはミクさんを召喚したい!と言う事でやってみましょう!と言った感じで忘れないうちに備忘録として残します
■■ここで出来るようになること
・(初級編)ではミクさんを空間の中に召喚させる事はできたので、今度は踊っていただきましょう。それをHoloLensを通して見て堪能しましょう。
[実行イメージ]
▲初投稿:2018-02-23
■開発環境
・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”を作成します
・Projectウィンドウ内のAssets配下に”Models”フォルダを作成します。”Assets”を選択してマウスの右クリックから”Create” → ”Folder” をクリックして新しいフォルダ”Motions”を作成します
[Model データを”Models”フォルダにドラッグ&ドロップ]
・解凍したミクさんの Model データのフォルダ(上記のキャプチャ画面ではフォルダ名を”tdamikuapend”にリネームしています)を上記で作った”Models”フォルダの中にドラッグ&ドロップします。
[Motion データを”Motions”フォルダにドラッグ&ドロップ]
・解凍した Motion データのフォルダ(上記のキャプチャ画面ではフォルダ名を”gokurtakujyoudo”にリネームしています)を上記で作った”Motions”フォルダの中にドラッグ&ドロップします。
・ここでは、解凍したMotionデータ、表情データ、音源素材もこのフォルダ内に保存しています
・先程ドラッグ&ドロップしたフォルダの中に "フォルダ名.MMD4Mecanim.asset" と言う名前のファイルが出来ていると思います。そのファイルをクリックするとInspectorウィンドウ内にMMDモデルの利用規約が表示されますので、よく読んで規約違反が無いことを確認して下さい。最後まで行くと利用同意のチェックボックスが表れます
・利用同意をするのであれば全てのチェックボックスにチェックを入れます。そして最後に”同意する”ボタンを押します
・VMD欄にMotionデータ、表情データのファイルを指定します
・先ほどコピーして作ったMotions配下のMotionファイルをドラッグ&ドロップでVMD欄に登録します
・先ほどコピーして作ったMotions配下の表情ファイルをドラッグ&ドロップでVMD欄に登録します
・fbx変換を実行するには”process”ボタンを押します。押すと下記の実行状況を表示するターミナルウィンドウが表示されます
・変換実行中はターミナルウィンドウが表示されます。変換が終了すると自動的にターミナルウィンドウも閉じるので暫く待ちます
・変換が完了するとドラッグ&ドロップしたフォルダの中に "フォルダ名.fbx" と言う名前の3Dモデルのファイルが出来ていると思います。そのファイルをクリックしてInspectorウィンドウ内の”Rig”ボタンを押して、"AnimationType"のドロップダウンリストの中から”Humanoid”を選択します。最後に”Apply”ボタンを押します
・Projectウィンドウ内のミクさんのModelデータがあるフォルダを選択してマウスの右クリックから”Create” → ”Animator Controller” をクリックして”Animator Controller”を作成します
・作った”Animator Controller”をクリックして”Animator”ウィンドウを表示させます。そのウィンドウ内で右クリックから”Create State” → ”Empty” とクリックして”New State”を作成します
・作った”New State”をクリックして”Inspector”ウィンドウを表示させます。そのウィンドウ内のMotion項目のギアアイコンをクリックし、”Select Motion”ウィンドウから変換したMotionデータをダブルクリックして選択します
・"フォルダ名.fbx" ファイルをHierarchyウィンドウ内にドラッグ&ドロップします。”Hierarchy”ウィンドウ内の"フォルダ名.fbx"をクリックすると”Inspector”ウィンドウ内にMMD 4 Mecanim Modelが出て来ます
・”Animator Controller”をミクさんのModel(今回の場合、tdamikuapend)にドラッグ&ドロップします。”Inspector”ウィンドウ内の”Animator” → ”Controller” が ”Animator Controller” に変わっている事を確認します。
・”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”ウィンドウ内にMMD 4 Mecanim Modelにある”Model”ボタンを押して、"Add Component" から ”mmd” と入力して "MMD4 Mecanim Anim Mopher Helper(Script)”を選択します
・”Inspector”ウィンドウ内の"MMD4 Mecanim Anim Mopher Helper(Script)”から”Add Animation”のギアアイコンを押します
・”Select TexAsset”ウィンドウから表情データファイルを選択します。選択したら”Animations”に今選択した表情データファイルの名前が入っている事を確認します
・”Animations”の項目にある”Audio Clip”のギアアイコンをクリックします。”Select AudioClip”ウィンドウから音源ファイルを選択して、”Audio Clip”に選択したファイルの名前が入っている事を確認します
・”Anim Name”にさっき登録した”Animations”の”Anim Name”と同じ名前を入力します
・"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:ホログラフィックアプリケーション実行イメージ動画(クリックすると動画が再生します)]
・等身大のミクさんが華麗に艶やかにHoloLensをかけた目の前で躍っていると思います。じっくり堪能しましょう...(この動画は都合により、音源は抜いています)
■あとがき
・これはこれで良いんだけど。でも、お話ししたい!!ミクさんとおしゃべりしたい!! ですよね。と言うことでしてもらいましょう。次回”会話編”に続く... 多分
・今回下記のものをお借りいたしました
・[Model]【Tda式初音ミク・アペンドVer1.10 】by Tdaさん ダウンロードはこちら
・[ダンスMotion]【極楽浄土】by urieさん ダウンロードはこちら
・[表情Motion]【極楽浄土】by ゆきねこさん ダウンロードはこちら
・[楽曲]【極楽浄土】/ GARNiDELiA
作成者の方々に感謝致します。ありがとうございました。
・この記事はピアプロ・キャラクター・ライセンスに基づいてクリプトン・フューチャー・メディア株式会社のキャラクター「初音ミク」を使用したものです。
■参考
・Microsoft Mixed Reality Academy こちら
・Unity 2017.1 Document こちら
・MMD4Mecanim コンバートオプション活用のススメ こちら
・HoloLens MMD4Mecanimを使ってMR空間にミクさんを召喚してみた件(初級編) こちら