<2018/10/4 VRGOの記事から移動>
Oculus SDKがバージョンアップしてたので、既存のプロジェクトに上書きでアップデートしたところOVRCameraRigオブジェクトが地を這う様に下に下がるようになってしまいました。
本当は、こんな感じでOVRCameraRigオブジェクトが目の高さになる様にコライダーの上側に置いたのですが、Unityでプレイボタンを押すと下に下がってしまいました。
Hierarchyでは、SDKのデフォルトのままOVRPlayerControllerのprefabを配置していて何もいじってません。
で、いろいろいじったり、ソースコードを見た結果、OVRPlayerController.cs内のprotected virtual void UpdateController()内に、以下のように位置を変えてるところがありました。
1 2 3 4 5 6 7 8 9 |
var p = CameraRig.transform.localPosition; if (OVRManager.instance.trackingOriginType == OVRManager.TrackingOrigin.EyeLevel) { p.y = OVRManager.profile.eyeHeight - (0.5f * Controller.height) + Controller.center.y; } else if (OVRManager.instance.trackingOriginType == OVRManager.TrackingOrigin.FloorLevel) { p.y = - (0.5f * Controller.height) + Controller.center.y; } |
OVRCameraRigオブジェクトのOVRManagerコンポーネントのTracking Origin Typeを「EyeLevel」にしてるので、上のOVRManager.profile.eyeHeight…の方を通ります。 いろいろいじってる時に「profile」という言葉が入ったチェックボックスがあったのを思い出しました。
OVRPlayerControllerコンポーネントに「Use Profile Data」という項目があり、チェックが入ってました。 このチェックを外したところ、無事にOVRCameraRigオブジェクトが下がらず目の高さをキープするようになりました!