LoginSignup
3
6

More than 3 years have passed since last update.

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

Last updated at Posted at 2018-02-25

■はじめに

・複合現実(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の詳しい使い方は説明しませんので、別途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、Motionsフォルダの作成]

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

[Models、Motionsフォルダ]

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

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

[Motion データを”Motions”フォルダにドラッグ&ドロップ]

・解凍した Motion データのフォルダ(上記のキャプチャ画面ではフォルダ名を”gokurtakujyoudo”にリネームしています)を上記で作った”Motions”フォルダの中にドラッグ&ドロップします。
・ここでは、解凍したMotionデータ、表情データ、音源素材もこのフォルダ内に保存しています

[Modelフォルダ]

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

[利用規約の確認]

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

[Motionデータの関連付け]

・VMD欄にMotionデータ、表情データのファイルを指定します

[Motionデータの登録]

・先ほどコピーして作ったMotions配下のMotionファイルをドラッグ&ドロップでVMD欄に登録します

[表情データの登録]

・先ほどコピーして作ったMotions配下の表情ファイルをドラッグ&ドロップでVMD欄に登録します

[fbx変換実行]

・fbx変換を実行するには”process”ボタンを押します。押すと下記の実行状況を表示するターミナルウィンドウが表示されます

[変換実行ウィンドウ]

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

[MMD4Mecanim設定]

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

[Animator Controller 作成]

・Projectウィンドウ内のミクさんのModelデータがあるフォルダを選択してマウスの右クリックから”Create” → ”Animator Controller” をクリックして”Animator Controller”を作成します

[State 作成]

・作った”Animator Controller”をクリックして”Animator”ウィンドウを表示させます。そのウィンドウ内で右クリックから”Create State” → ”Empty” とクリックして”New State”を作成します

[Motionデータ登録]

・作った”New State”をクリックして”Inspector”ウィンドウを表示させます。そのウィンドウ内のMotion項目のギアアイコンをクリックし、”Select Motion”ウィンドウから変換したMotionデータをダブルクリックして選択します

[MMDモデル召喚!]

・"フォルダ名.fbx" ファイルをHierarchyウィンドウ内にドラッグ&ドロップします。”Hierarchy”ウィンドウ内の"フォルダ名.fbx"をクリックすると”Inspector”ウィンドウ内にMMD 4 Mecanim Modelが出て来ます

[Animator Controller登録!]

・”Animator Controller”をミクさんのModel(今回の場合、tdamikuapend)にドラッグ&ドロップします。”Inspector”ウィンドウ内の”Animator” → ”Controller” が ”Animator Controller” に変わっている事を確認します。
・”Inspector”ウィンドウ内の”MMD 4 Mecanim Modelで”Model”ボタンを押して、"Physics Engine"のドロップダウンリストの中から”Bullet Physics”を選択します

[MMD4Mecanim設定]

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

[MMD4Mecanim設定]

・"Hierarchyウィンドウ内の"フォルダ名.fbx"をクリックして”Inspector”ウィンドウ内にMMD 4 Mecanim Modelにある”Model”ボタンを押して、"Add Component" から ”mmd” と入力して "MMD4 Mecanim Anim Mopher Helper(Script)”を選択します

[MMD4Mecanim設定]

・”Inspector”ウィンドウ内の"MMD4 Mecanim Anim Mopher Helper(Script)”から”Add Animation”のギアアイコンを押します

[MMD4Mecanim設定]

・”Select TexAsset”ウィンドウから表情データファイルを選択します。選択したら”Animations”に今選択した表情データファイルの名前が入っている事を確認します

[MMD4Mecanim設定]

・”Animations”の項目にある”Audio Clip”のギアアイコンをクリックします。”Select AudioClip”ウィンドウから音源ファイルを選択して、”Audio Clip”に選択したファイルの名前が入っている事を確認します

[MMD4Mecanim設定]

・”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の保存

[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:ホログラフィックアプリケーション実行イメージ動画(クリックすると動画が再生します)]
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空間にミクさんを召喚してみた件(初級編) こちら

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6