From 285aefc2ae92b7bc1313a247f9d8b269f4555d4c Mon Sep 17 00:00:00 2001 From: Pascal Serrarens Date: Mon, 14 Aug 2023 11:05:37 +0200 Subject: [PATCH] Fix controller orientation for OpenXR and Varjo --- .../Scripts/Extensions/UnityXR/UnityXRController.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRController.cs b/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRController.cs index 9e299ca..d48bbbe 100644 --- a/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRController.cs +++ b/Runtime/HumanoidControl/Scripts/Extensions/UnityXR/UnityXRController.cs @@ -15,6 +15,7 @@ namespace Passer.Tracking { None, Oculus, OpenXR, + Varjo, } protected LoadedDeviceType loadedDevice = LoadedDeviceType.None; public GameObject model; @@ -141,7 +142,8 @@ namespace Passer.Tracking { loadedDevice = LoadedDeviceType.Oculus; else if (XRSettings.loadedDeviceName == "OpenXR Display") loadedDevice = LoadedDeviceType.OpenXR; - + else if (XRSettings.loadedDeviceName == "VarjoDisplay") + loadedDevice = LoadedDeviceType.Varjo; } /// @@ -200,8 +202,9 @@ namespace Passer.Tracking { Quaternion rotation; if (isTracked && device.TryGetFeatureValue(CommonUsages.deviceRotation, out rotation)) { - //if (loadedDevice == LoadedDeviceType.OpenXR) - // rotation *= Quaternion.AngleAxis(45, Vector3.right); + if (loadedDevice == LoadedDeviceType.OpenXR || + loadedDevice == LoadedDeviceType.Varjo) + rotation *= Quaternion.AngleAxis(45, Vector3.right); transform.rotation = trackerTransform.rotation * rotation; rotationConfidence = 1; status = Tracker.Status.Tracking;