2014年10月28日

Unity Freeに対応したOculus SDK 0.4.3を試す

Oculus VR SDK 0.4 Version 0.4.3 Beta
https://developer.oculusvr.com/?action=hist&ver=21
> Unity 4.5.2 and 4.5.5 are supported; 4.5.3 and 4.5.4 are not. Also added support for Unity Free in Unity 4.5.5 and up.
期間限定Pro Licenseを借りているので、いったん返却してFreeに戻します。

Unity 4.xライセンスの管理 / Managing your Unity 4.x license
http://docs-jp.unity3d.com/Documentation/Manual/ManagingyourUnity4xLicense.html
Help -> Manage License... -> Return License で初期状態に戻ります。

ランタイムはまだ0.4.3に上げずに0.4.2の方がいいらしい...?

上記のtweetに続く野生の男さんとザバイオーネさんの会話を見ても安定板が見つかるまでは人柱雰囲気がプンプンします。まぁそんなもんでしょう。

以前のエントリでUnity Proで試したこれが、Free版で問題なくイケるかを試します。

【Oculus Rift DK2】Unity Proでオキュラスに嫁を召喚するマニュアル【MMD】
http://greety.sakura.ne.jp/redo/2014/10/OculusDeMMD.html


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

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

<手順メモ>
・新規Projectを作成、名前はFree043に。
・OculusUnityIntegration.unitypackageをダブルクリック、ProjectにImport。
・MMD4Mecanim.unitypackageをダブルクリック、ProjectにImport。
・あぴミクさん、サイバーサンダーサイダー楽曲、サイバーサンダーサイダーモーションをAssets配下にフォルダ毎D&D。
・Appearance Miku/Appearance Miku.MMD4Mecanimを選択、Readme.txtを確認後、利用規約とPCLに同意。
・Advanced ModeのチェックをON、Vertex Scaleを12に増加、VMDにサイバーサンダーサイダー(さっちゃそ).vmdをセットしてApply->Process。
・ProjectタブからCreate->Animator Controllerを選択、apmiku等適当な名前に設定、ダブルクリックでAnimatorウィンドウをopen。
・生成されたAppearance Mikuモデル配下のサイバーサンダーサイダー(さっちゃそ).vmdをAnimatorウィンドウにD&Dして保存。
・Ctrl+sするとシーン名を聞かれるのでMainと入力してEnter。
・Cubeを0,-0.5,0でScale100,1,100にして床っぽく配置、Drectional Lightをななめ上に配置、あぴミクさんを配置してRotationを0,180,0にしてこちらを向かせます。最初から配置されているMain Cameraはちょっと遠いのでzを調整して近づけます。
・Hierachy上に配置したAppearance Mikuに先ほど生成したAnimator ConrollerをD&Dで適用。
・Hierachy上に配置したAppearance Mikuを選択してMMD4Mecanim ComponentのPhysicsタブで物理演算を有効に、Animタブで同期用音楽をセットします。wave曲の3D Soundチェックは外してApplyを選択。
・ここで再生してモデル・モーション変換とAudio適用が動作していることを確認。

・Main Cameraをおもむろに削除、代わりにAssetsからOVR/Prefabs/OVRPlayerControllerをHierarchy上に配置します。

ovr043.png

・OVRPlayerControllerの構造が変わってますね...。Use Player EyeHeightドコー?ひとまずえいやハックして、XBOX360コントローラで上下左右カメラが自由に動けるようにします。

i) Gravity Modifierを0にして重力をなくします。
ii) OVRPlayerController.cs UpdateMovement()内でisGroundまわりをちょっとコメントアウトして空中でもカメラが操作できるようにします。

    // No positional movement if we are in the air
// if (!Controller.isGrounded)
// MoveScale = 0.0f;

iii) GamePad Buttonの定義まわりが変わっていることに気を付けながら、L1/R1で高さが動く様にします。Update()後ろの方で、y方向のmoveDirectionを強制的に書き換えます。

    // L1/R2 Eye Height
    if(OVRGamepadController.GPC_GetButton(OVRGamepadController.Button.L1) == true)
    {
        moveDirection.y = -0.01f;
    }
    if(OVRGamepadController.GPC_GetButton(OVRGamepadController.Button.R1) == true)
    {
        moveDirection.y = +0.01f;
    }
    
    // Move contoller
    Controller.Move(moveDirection);
※SDK0.4.3.1でGamepadの定義名が変わってるのでL1をLStickに、R1をRStickに変更する必要があります。

・適当にBuild Settingしてexeを生成、起動。
・DisMonでメインディスプレイを切り替えてもRiftじゃない方のディスプレイに出力される病が出たのでshift押し起動で回避。
・無事動作。75fpsで特におかしいところなし。めでたしめでたし。

free043.png

【2014.11.02追記】
つみ式榛名改ニにうおおおしてたところ、どうもパフォーマンスがよろしくないことに気づきました。具体的にはモデル3体ぐらいで75fpsが保てなくなってこれはどういうことだろう、とモデルの数を増減させてみたところ、Unity Free4.5.5+SDK0.4.3ではUnity Pro4.5.5+SDK0.4.3と比較して大幅にパフォーマンス低いことが判明してしまいました。
runtime0.4.2と0.4.3両方試しましたが傾向に大差なし。バージョンアップを待ちましょう。

freesamaso.zip
prosamaso.zip
Free/ProどちらもUnity4.5.5+Oculus SDK0.4.3。
モデル:あいえるたん
モーション:【第12回MMD杯EX】反動三段蹴り&サマーソルトキック・モーション配布

【2014.12.14】
0.4.4で追試、MMD4MecanimのJoin Local Worldチェックを外すことで4, 5体までは問題ないことを確認。Unity Pro買ったのでまた別途時間できたら調べなおしますgdgdですいません

2014年10月19日

#IMoNi会 で河原Oculus

imoni3.jpg

※よいこはマネしないでください

続きを読む "#IMoNi会 で河原Oculus"

2014年10月 6日

【Oculus Rift】OVRMainMenuを使ってGamePadでSceneを切り替える

menu1.png

Oculus Riftでお試しシーンを複数作成している際に、プロジェクトが分かれているとバイナリ(exe)切り替えが面倒なのですが、OVRPlayerControllerに含まれているOVRMainMenuを使うと(見た目はちょっと寂しいですが)、簡単にScene切り替えやLevel Reloadが実現できます。

OculusUnityIntegrationGuideの4.3.9 OVRMainMenuにちゃんと下記の様に書いてあるんですがいまさら理解しました...。

4.3.9 OVRMainMenu
OVRMainMenu is used to control the loading of different scenes.

続きを読む "【Oculus Rift】OVRMainMenuを使ってGamePadでSceneを切り替える"

2014年10月 5日

デ部でOculus Rift+Unity+MMDの話をした

andeb16.png

第16回 デ部 !Androidで喋ってきましたので資料を置いときます。
Oculus Rift+Unity+MMD

MikuMikuDance文化を3DAR/VRコンテンツまで持っていくのは概ねはカンタンですよ、という話。

Oculus RiftはDK2通販($350+送料$75)から気軽に始められる現実逃避です日々の現実から逃げたい人に心からオススメ!

2014年10月 3日

DK2やMMD4Mecanimでつまづいた際に見るメモ

hifi.png

備忘録。

○OVRPlayerControllerを配置しても上下移動ができない
○OVRPlayerControllerを足したけどWASD移動が効かない
○JoyStickでEyeHightを上下したい

0.4.4で一通り調べなおしたのでまとめました。こちらを参照ください。

【ゆるふわコピペ戦士向け】OVRPlayerControllerで自由に空を飛ぶ方法【Oculus SDK 0.4.4】
http://greety.sakura.ne.jp/redo/2014/12/oculus-ovrplayercontroller-icanfly-sdk044.html

○Extendedで60fpsで動作してしまう
SDK 0.4.4でビルドしたDirect_to_Rift.exeは、メインディスプレイがRiftでなくともちゃんと75fps起動してくれるようになりました。新しいSDKでビルドしましょう。

○Oculus Rift向けexeをフルスクリーンではなくWindowモードで起動したい

Shiftを押しながらexeをダブルクリックして起動。

○複数のSceneを簡単に切り替えたい

OVRMainMenuを使ってGamePadでSceneを切り替えるを参照。

○こっちを見つめてもらいたい

銀の弾丸、はじめました:Unityでキャラクターに見つめてもらうを参考にHead Look Controllerをセットアップする。

Cursor Hitの設定先は、OVRPlayerControllerやOVRCameraControllerではなくCameraLeft等、ちゃんと高さが変化するオブジェクトである必要があるので注意。(厳密にはCameraLeftとCameraRightの間である必要があるはず)

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

以下、本編です。

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