【Oculus Rift DK2】Unity Proでオキュラスに嫁を召喚するマニュアル【MMD】 - ReDo

2014年10月 1日

【Oculus Rift DK2】Unity Proでオキュラスに嫁を召喚するマニュアル【MMD】

4-2.png

Unity Pro TrialライセンスがOculus Game Jam参加登録者に配布されていまして良い機会だということでUnity Proで、Oculus Rift DK2向けにMMDな嫁を召喚するための手順をまとめてみました。

MMD4Mecanimの分かりやすいマニュアルで概ね十分ではあるのですが、以前OVRAgentベースで書いたものより画面キャプチャを多めにしてみました。現時点ではUnity Proでしか正式にOculus Rift SDKには対応していないのですが、Oculus ConnectにてUnity Freeに対応することが発表されました(ひと月程度と言われています)。リリースされた後に再度Free版で更新しようと思っています。

【2014.11.04追記】
Oculus SDK 0.4.3でUnity Free(要4.5.5)に対応されましたので、ざっと試してみたエントリを以下に記載しました。
現バージョンではパフォーマンスが低い問題がありますが、差しあたってFreeで試したい方は以下のエントリを参考にUnity 4.5.5 Freeにてトライしてみてください。

Unity Freeに対応したOculus SDK 0.4.3を試す
http://greety.sakura.ne.jp/redo/2014/10/unity-freeoculus-sdk-043.html

以下、本編です。

○はじめに

母艦PCはWin8.1 64bit、必要なソフトウェア・ファイル群一式を以下に示します。カッコ内で記載しているのは現時点でのバージョンです。

Unity(4.5.2f1)
http://japan.unity3d.com/unity/download/
Oculus Rift SDK(Version 0.4.2 Beta、DK2本体のFirmware ver.は2.12。)
https://developer.oculusvr.com/?action=hist&ver=21
Stereoarts:MMD4Mecanim(MMD4Mecanim_Beta_20140929.zip)
http://stereoarts.jp/
モデル:Appearance Miku あぴミク
http://piapro.jp/t/KPU3
楽曲:サイバーサンダーサイダー
http://piapro.jp/t/_Anb
モーション:【MMD-DMC4】サイバーサンダーサイダー【モーション配布】
http://www.nicovideo.jp/watch/sm19635968

著作権等は各製作元に帰属します。ピアプロライセンスについてはこちらを参照ください。

○目次

1. Unityプロジェクトの作成
2. MMD4MecanimとMMD・モーション・楽曲の読み込み
3. Oculus Rift SDKとカメラの設置
4. Build設定とexeの出力
余談1. ライセンスについて

○1. Unityプロジェクトの作成

Unityについては初めての方はドットインストールのUnity入門と、現時点でまだ途中までしか公開されていませんが公式のチュートリアルはじめてのUnityでお勉強しておくことをオススメします。
ただし、本docは画面キャプチャを多めに掲載し分かりやすくすることを心掛けましたので、愛と根性があればなんとかなるかもしれません。

メニューバーよりFile->New Projectを選択、Create New Projectタブを選択し、Project Locationを入力します。
フォルダは概ね自由で構いません。ここではD:\unity\CTCAppeMikuを選択したものとして以下進めます。

1-1.png

プロジェクトを作成するとUnityが再起動し、以下のような画面になると思います。画像横幅の読みやすさの都合上ウィンドウサイズを最少にしていますが、通常はデスクトップいっぱいに広げて作業するのをオススメします。

1-2.png

○2. MMD4MecanimとMMD・モーション・楽曲の読み込み

まずはMMDの3Dモデル形式とモーションデータをUnityの3Dモデルとモーションデータに変換するMMD4Mecanimを用いて、あぴミクさんをUnity上で踊らせてみることにします。

前述のStereoarts HomePageからMMD4Mecanim_Beta_20140929.zipをダウンロードし、展開したフォルダに含まれるMMD4Mecanim.unitypackageを起動します。

開いているUnityプロジェクトに自動的にImportされる確認ウィンドウが表示されますので、Importを選択します。

2-1.png

続いて変換前3Dモデルデータとモーションデータ、楽曲(wav)をUnityプロジェクトに追加します。基本的にはフォルダ・ファイルをドラッグアンドドロップです。ファイル一式はUnityプロジェクトにコピーされるのでデータの置き場所は原則どこでも良いのですが、変換前データはPC上で整頓しておくと良いでしょう。

まず、前述のピアプロからAppearance Miku あぴミク_mamamana_201409222309.zipをダウンロードし、展開したAppearance MikuフォルダごとUnityのAssets直下にドラッグ&ドロップでコピーします。

次に、モーションデータはniconicoの動画ページから説明文言中に"モーション配布"として紹介されているアップローダのURLを開き、サイバーサンダーサイダー(さっちゃそ).zipをダウンロードして開いたものをUnityのAssets直下に同様にドラッグ&ドロップします。

最後に、楽曲データも前述のピアプロからサイバーサンダーサイダー_EZFG_201410011258.mp3をダウンロードし、Assets直下に配備します。こちらはmp3をOggVoribisに変換するのにちょっと時間がかかります。HDD容量に余裕があればwavにデコードしてモーション置き場と一緒に保持しておくことをオススメします。

DK2を被った際に首を振ると左右にパンが振れてしまうのが私は好みでないので、サイバーサンダーサイダー_EZFG_201410011258を選択し、3D Soundのチェックを外してApplyをクリックしておきます。

2-2.png

続けて、変換・Sceneへの配置をします。MMD4Mecanimのマニュアルが非常に丁寧で分かりやすいので、「チュートリアル(基本編)」と「チュー トリアル(応用編)」を読んでください...でもいいのですが改めて手順を記載しておきます。

Appearance Miku.MMD4Mecanimを選択し、利用規約を確認した上で同意を選択します。

2-3.png

このままvmdファイルを設定してProcess(変換)でも良いのですが、Advanced Modeを選択して少々パラメータを変更しておきます。

2-4.png

Materialタブを選択して、EdgeScaleを変更。ここでは1から0.3に変更しています。また、Tda式Appendミクさんの様な光るべき部分があるモデルではAutoLuminousをDisableからEmissiveに変更してください。

2-5.png

PMX2FBXタブに戻って、Vertex Scaleをデフォルトの8から少々大き目の12に、Aseets内のサイバーサンダーサイダー(さっちゃそ).vpdをドラッグ&ドロップでVMDの項に追加し、Apply→Processの順番でクリックし、変換を開始します。

2-6.png

コマンドプロンプトが出て必死に変換してくれます。ちょっとお待ちください。

2-7.png

変換が完了すると、Appearance Mikuフォルダの中にUnity形式の3Dモデルと、中に変換されたモーションデータが配備されます。この親子関係を覚えておいてください。

2-8.png

ProjectタブのCreate->Animation Controllerを選び、appemikuという名前をつけて開きます。

2-9.png

作成したAnimation Controller "appemiku"を開き、モーションデータを設定します。

2-10.png

ここまで下準備ができたら、続いてSceneに配備を進めます。

・床:HierachyタブからCreate->Cubeを選択、Floorにリネームし、PositionのYを-0.5、Scaleを100,1,100ぐらいに設定します。
・ミク:Apperance Miku(水色のキューブ)をドラッグ&ドロップでHierarchyに配置し、"appemiku"アニメーションを追加したApperance Mikuさんにドラッグで設定します。デフォルトのカメラの向きでは後ろ向きに配置されますので、RotationのYに180を入れてくるっと180度回転させます。
・カメラ:デフォルトで配置されているMainCameraはちょっと遠いのでもう少し近づけます。
・ライト:HierachcyタブからCreate->Directional Lightを選択、斜め上から照らす感じで。

2-11.png

あとは物理演算設定と音楽再生・同期設定です。Sceneに追加したあぴミクさんを選択した状態で、MMD4Mecanim項のPhysicsタブを選択し、Bullet Physicsを選択。続けて、Animタブを選択し、Audio Clip部にサイバーサンダーサイダーの楽曲ファイルの方を設定します。

2-12.png

2-13.png

ここまでセットアップが終わったら再生してみましょう。ミクさんがサイバーサンダーサイダーを踊ってくれるはずです。

2-14.png

Ctrl+s(またはFile->Scene Save)でSceneを保存しておきます。ここではMainという名前で保存したものとします。


○3. Oculus Rift SDKとカメラの設置

つづいて、Oculus Rift向けカメラに入れ替えます。

Oculus Rift Developerサイトからダウンロードしたovr_unity_0.4.2_lib.zipを展開し、OculusUnityIntegration.unitypackageをダブルクリックして同様にImportします。

Importが完了したら、Main Cameraは削除し、Asseets>OVR>Prefabsを開き、OVRPlayerControllerをSceneに追加し、Positionを0,1.5,-2、Rotationを0,0,0あたりに設定します。

3-1.png

DK2に電源を入れた状態で再生してみましょう。基本的にはOVRPlayerControllerの追加だけで、GameシーンにOculus用の2分割画面が表示され、Oculus Riftによるヘッドトラッキング・ポジショントラッキングの他、WASDキー+マウスとXBOX360コントローラでのカメラ移動に対応してくれます。

3-2.png

○4. Build設定とexeの出力

最後に、exe出力しましょう。メニューバーよりFile->Build Settings...を開き、Build Settinbsウィンドウを開きます。現在のSceneをAdd Currentで一応保存し、PlatformがPCになっていることを確認し、Buildをクリックします。適当なexe名を決めてください。

4-1.png

ここではCTCAppeMiku.exeと入力したものとします。ビルドが正常に成功したのを確認した後、CTCAppeMiku_DirectToRift.exeを起動します。

4-2.png

あぴミクさんがサイバーサンダーサイダーを踊ってくれれば成功です。お疲れ様でした!


○余談1. ライセンスについて

Oculus Rift SDK・MMD4Mecanim等Unityプラグイン側は再配布に問題の無い範囲ですが、MMD・VOCALOID界隈は独自ライセンスが多くniconico動画での利用以外は避けた方が無難なものが多いです。

VOCALOIDの中でもクリプトン社のキャラクターについてはピアプロ・キャラクター・ライセンスにて一定の権利が許諾されており、ままま式あぴミクとサイバーサンダーサイダー楽曲においてはこの範囲での再配布が許諾されています。

20yen氏のモーションデータについてはreadmeに改変・再配布が記載されていますので、トレース元のさっちゃそ氏あたりまで一通りの確認ができればexe配布やUnityプロジェクト一式はGitHub公開とかも可能なのかな、と思っており各所問い合わせてみようかな、と思っています。

コメントする