Looking Glass Portraitで3Dモデルを立体的にダンスさせてみた!

8月 31, 2022

最近は3Dコンテンツが増え, VRゴーグルやARメガネを通して, それらを楽しむ人が多いです. Looking Glass Portraitもそれらと同様に3Dコンテンツを立体的に楽しむことができるデバイスの一つです.
Looking Glass Portraitはライトフィールド技術を利用しており, 見る位置に応じた物体からの反射光を再現することで, VRゴーグルを使わなくても実物を見ているかのような立体感のある映像を表示することができます.
今回はLooking Glass Portraitを用いて3Dモデルを立体的にダンスさせてみました!

準備したもの

セットアップ

ハードウェア

Looking Glass PortraitとPCをHDMIとUSB-Cケーブルで接続します.

接続後はディスプレイ設定のマルチディスプレイ設定を"表示画面を拡張する"に設定します.

ソフトウェア

Unity

3DモデルをシミュレーションするためのUnityをインストールします. テストしたバージョンはUnity 2019.4.39f1 (64-bit)です.

UnityHub

HoloPlay Servide

Looking Glass PortraitとPC間で通信を行うためのソフトウェアです. 下記リンクからダウンロードして, インストールしてください.

Looking Glass Bridge

HoloPlay Unity Plugin for the Looking Glass

Unityの3DモデルをLooking Glass Portraitで表示するには専用のPluginが必要です.

下記リンクからHoloPlay-Unity-Plugin-*.unitypackageをダウンロードして, Unityにインポートします.
ダウンロードにはSign inが必要です.

HoloPlay Unity Plugin for the Looking Glass

VRM

“VRM"はVRアプリケーション向けの人型3Dアバター(3Dモデル)データを扱うためのファイルフォーマットです. Unity向けのVRMファイルの読み書きを行うPluginを必要とします.

下記リンクからUniVRM-*.unitypackageをダウンロードしてUnityにインポートします.

UniVRM

PMXからVRMへの変換

PMXからUnityで利用できるFBXへ変換するために, 下記リンクからMMD4Mecanimをダウンロードし, UnityにMMD4Mecanim.unitypackageをインポートします.

MMD4Mecanim

3Dキャラクターのプラットフォーム

3Dキャラクター

映像作品や自作ゲーム, 技術デモなど様々なシチュエーションで使える3Dモデルが配布されています. 今回は下記の"Tda式初音ミク・アペンドVer1.10″を使わせてもらいました.

ニコニ立体ちゃん

キズナアイ

Tda式初音ミク・アペンドVer1.10

モーションデータ

モーションデータにはMikuMikuDance(MMD)を使用します. MMDはニコニコ動画を中心にユーザーコミュニティが形成されており, 多数のモーションデータを探すことができます. 今回は下記のデータを使わせてもらいました.

好き!雪!本気マジック

環境構築

PMXとVMDファイルのUnity向けファイルへの変換

キャラクターデータのPMXとモーションデータのVMDファイルのUnityで利用できるFBXとAnimationファイルへと変換させます.

MMD4Mecanim.unitypackageをインポート後, PMXファイル(*.pmx)を含んだフォルダをUnityのAssetにドラッグ&ドロップします. そうすると*.MMD4Mecanimが生成されるので, そのファイルを選択し, 注意事項や使用範囲を確認し, 同意します. その後, PMXからFBXファイルへの変換設定をし, Processを押して, FBXファイルを生成します. このとき, モーションデータであるVMDファイルを設定しておくと, Unityでも扱えるAnimationファイルがFBXファイル内に変換されて生成されます.

生成した"Tda式初音ミク・アペンド_Ver1.10.fbx"をドラッグアンドドロップしてシーンに出現させます.

モーションデータの設定

CreateからAnimator Controllerを選択し, 作成します. モーションデータを再生する状態(New State)を作成し, Entry後にキャラクターが動くようにします. New Stateを作成し, MotionにAnimationファイルを設定します.

3DモデルのInspectorを開き, 上記で作成したAnimator ControllerをControllerにセットします.
またApply Root Motionにチェックを入れ, Physics EngineをBullet Physicsにしておきます.

この状態でPlayボタンを押すと, Animationファイル通りに3Dモデルが動作します.

シーンの設定

HoloPlay-Unity-Plugin-1.5.0.unitypackageをインポートし, Assets/Holoplay/Examples/1 – Framing Content with Holoplay.unityを開きます. Exampleの3Dモデルを削除して, 上記で説明したように3Dモデルをシーン上に配置し, 各種設定を行います.

3Dモデルをシーン上に配置する際はLookingGlassPortraitの表示範囲である黄緑色の枠内に収めます.
また焦点を合わせるため, 紫の線に3Dモデルを配置します.

今回は立体感を生むよう影を出すために, 3Dモデルの後ろにCubeを配置しました.

デモ

上記の設定を全て行った後に, 3DモデルをLookingGlassPortraitに表示させてみました.
HoloplayのInspector内のToggle Previewを押すと, Unityのシーン内の映像がLookingGlassPortraitで表示されます.

カメラを通した映像はぼやけてしまっていますが, 実際にはもっと明瞭で立体的に表示されます.

おわりに

今回はUnityで作成した3DモデルをLooking Glass Portraitで表示してみました. このLooking Glass Portraitがあれば, まだまだ重いVRゴーグルをかける必要がないので, 気軽に3Dコンテンツを楽しむことができます.
ぜひお試しを!