UnityEngine.VRについて

UnityEngine.VR

公式でVRがサポートされるようになってから追加された名前空間

割と使うなっていうモノがそろってたのでまとめる

unity5.1.3f1での情報です

 

VRNode

LeftEye,RightEye,CenterEye,Headの4種類がある列挙体

Transformなどを取得する際に必要になる

  • LeftEye

その名の通り左目のノード

  • RightEye

その名の通りry

  • CenterEye

右目と左目の真ん中のノード

  • Head

頭らしい、これはちょっと謎です

 

VRDeviceType

OculusやMorpheusなどの情報が格納されている

何が接続されているかのチェックなどに使用できる

 

InputTracking

  • GetLocalPosition(VRNode)

Nodeで指定した部位のPositionをLocalに変換してVector3で返す

ゲームを作るだけなら大体カメラのポジションとるだけで事足りる・・・( 一一)

  • GetLocalRotation(VRNode)

Nodeで指定した部位のRotationをLocalに変換してQuaternionで返す

オブジェクトの位置補正をしたりするのに使う可能性もあるかも

  • Recenter()

現在の位置をセンターとしてトラッキング位置を初期化する

めっちゃ使う

 

VRDevice

  • GetNativePtr()

VRデバイスシステムのポインタ(IntPtr)を取得する

まず使わないけど自分でVRデバイスシステムをカスタムしたいウィザード級の人向け

  • family

loadされているVRデバイスの名前、string

ロードされているデバイスが一つじゃなかったとき複数返ってくる

複数デバイス持ってないのでどう返ってくるかは検証できない、だれかしてください

  • isPresent

正常にデバイスが動作しているかの真偽値

正常に動作してなかったら再ロードしたりするときに使う

  • model

ロードされてるVRデバイスのモデル名、らしい

あとで調べて追記予定

 

VRSettings

これ便利です

  • enabled

VRデバイスに画面を出力するかどうかの設定

これを使えばゲーム中にHMDを外させたりつけさせたりする事が出来る

ただ、trueからfalseにしたときHMD側に出力されていた映像がそのまま出力され続けてしまう(更新が止まるだけ)

  • loadedDevice

VRdeviceTypeをセットすることで強制的にそのデバイスをロードする事が出来る

逆に今ロードされているデバイスのタイプも取得可能

上記の映像がそのまま出力され続ける状態を回避するために

loadedDeviceにVRDeviceType.Noneをセットすることで映像を消せるんじゃないか??

試します・・・

  • renderScale

いじるとトラッキングの制度が下がるがテクセルとピクセルの比率を変えられる

わからなければいじらない方がいい

  • showDeviceView

メインディスプレイ上にHMDで表示されている画面をミラーリングするかの真偽値

左目の画面しかミラーリングされない

 

おわり

参考

Unity - スクリプトリファレンス: