UnityでOculus向けの環境で壊れたOVRHeadsetEmulatorを直す
はじめに
UnityのOculus Integrationはエディタ上でカメラの動きをエミュレートできるOVRHeadsetEmulator
があります。
- https://developer.oculus.com/documentation/unity/latest/concepts/unity-hmd-emulation/
- https://qiita.com/numa08/items/8f67026b59f8b72174a3
このコンポーネントはOVRCameraRig.prefab
とOVRPlayerController.prefab
にアタッチされているのですぐに使えるのですがv1.38とv1.39でOpenVRがサポートされた時に動かなくなってしまいました。せっかくの便利なコンポーネントなので動くように直してみました。
※1.37以前と1.40はそのままで動作します。
修正方法
InitOVRManager()
を実行するかどうかの判定をエディタの時は無視します。これはOpenVRサポート前と同じ挙動です。
diff --git a/Assets/Oculus/VR/Scripts/OVRManager.cs b/Assets/Oculus/VR/Scripts/OVRManager.cs
index bff7d992..4f6f3d45 100644
--- a/Assets/Oculus/VR/Scripts/OVRManager.cs
+++ b/Assets/Oculus/VR/Scripts/OVRManager.cs
@@ -1294,7 +1294,9 @@ public class OVRManager : MonoBehaviour
private void Awake()
{
//If OVRPlugin is initialized on Awake(), or if the device is OpenVR, OVRManager should be initialized right away.
+#if !UNITY_EDITOR
if (OVRPlugin.initialized || (Settings.enabled && Settings.loadedDeviceName == OPENVR_UNITY_NAME_STR))
+#endif
{
InitOVRManager();
}
別の方法
Oculusのフォーラムにも修正方法がありOVRPlugin.initialized
を反転してInitOVRManager()
を実行しています。ですがこのプロパティはドキュメントがなく挙動が分からないので上記のようにエディタの時だけ変更した方が安全です。
- https://forums.oculusvr.com/developer/discussion/comment/700778/#Comment_700778
- http://hondasoft.com/2019/06/25/oculus-integration-1-38%E7%99%BB%E5%A0%B4%EF%BC%81/
diff --git a/Assets/Oculus/VR/Scripts/OVRManager.cs b/Assets/Oculus/VR/Scripts/OVRManager.cs
index bff7d992..30ee8cde 100644
--- a/Assets/Oculus/VR/Scripts/OVRManager.cs
+++ b/Assets/Oculus/VR/Scripts/OVRManager.cs
@@ -1294,7 +1294,7 @@ public class OVRManager : MonoBehaviour
private void Awake()
{
//If OVRPlugin is initialized on Awake(), or if the device is OpenVR, OVRManager should be initialized right away.
- if (OVRPlugin.initialized || (Settings.enabled && Settings.loadedDeviceName == OPENVR_UNITY_NAME_STR))
+ if (!OVRPlugin.initialized || (Settings.enabled && Settings.loadedDeviceName == OPENVR_UNITY_NAME_STR))
{
InitOVRManager();
}
Author And Source
この問題について(UnityでOculus向けの環境で壊れたOVRHeadsetEmulatorを直す), 我々は、より多くの情報をここで見つけました https://qiita.com/shiena/items/ed96bb1ec14d45ae38c4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .