Skip to content

Commit

Permalink
more openxr fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
dooly123 committed Mar 4, 2025
1 parent 6907bbb commit 55f1c9f
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,15 @@ public static void ShowTrackers()
public void SetCameraRenderState(bool state)
{
BasisLocalCameraDriver.Instance.CameraData.allowXRRendering = state;
if (state)
{
BasisLocalCameraDriver.Instance.Camera.stereoTargetEye = StereoTargetEyeMask.Both;
}
else
{
BasisLocalCameraDriver.Instance.Camera.stereoTargetEye = StereoTargetEyeMask.None;
}
BasisDebug.Log("Stero Set To " + BasisLocalCameraDriver.Instance.Camera.stereoTargetEye);
}
public static void ShowTrackersAsync()
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
using Basis.Scripts.BasisSdk.Players;
using Basis.Scripts.Device_Management.Devices.OpenVR.Structs;
using Basis.Scripts.TransformBinders.BoneControl;
using System.Threading.Tasks;
using Unity.Mathematics;
using UnityEngine;
using Valve.VR;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using Basis.Scripts.BasisSdk.Players;
using Basis.Scripts.Device_Management.Devices.OpenXR;
using Basis.Scripts.TransformBinders.BoneControl;
using System;
using Unity.Mathematics;
using UnityEngine;
using UnityEngine.InputSystem;
using static BasisBaseMuscleDriver;
Expand Down Expand Up @@ -152,7 +152,17 @@ public override void DoPollData()
{
InputState.Trigger = Trigger.action.ReadValue<float>();
}
if (hasRoleAssigned)
{
if (Control.HasTracked != BasisHasTracked.HasNoTracker)
{
// Apply position offset using math.mul for quaternion-vector multiplication
Control.IncomingData.position = FinalPosition - math.mul(FinalRotation, AvatarPositionOffset * BasisLocalPlayer.Instance.CurrentHeight.EyeRatioAvatarToAvatarDefaultScale);

// Apply rotation offset using math.mul for quaternion multiplication
Control.IncomingData.rotation = math.mul(FinalRotation, Quaternion.Euler(AvatarRotationOffset));
}
}
CalculateFingerCurls();
UpdatePlayerControl();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
namespace Basis.Scripts.Device_Management.Devices.UnityInputSystem
{
[Serializable]
public class BasisUnityInputManagement : BasisBaseTypeManagement
public class BasisOpenXRManagement : BasisBaseTypeManagement
{
public List<InputDevice> inputDevices = new List<InputDevice>();
public Dictionary<string, InputDevice> TypicalDevices = new Dictionary<string, InputDevice>();
Expand Down Expand Up @@ -86,7 +86,7 @@ private void CreatePhysicalTrackedDevice(InputDevice device, string uniqueID)
var basisXRInput = gameObject.AddComponent<BasisOpenXRControllerInput>();
basisXRInput.ClassName = nameof(BasisOpenXRControllerInput);
bool state = GetControllerOrHMD(device, out BasisBoneTrackedRole BasisBoneTrackedRole);
basisXRInput.Initialize(device, uniqueID, device.name + BasisBoneTrackedRole.ToString(), nameof(BasisUnityInputManagement), state, BasisBoneTrackedRole);
basisXRInput.Initialize(device, uniqueID, device.name + BasisBoneTrackedRole.ToString(), nameof(BasisOpenXRManagement), state, BasisBoneTrackedRole);
BasisDeviceManagement.Instance.TryAdd(basisXRInput);
}

Expand Down Expand Up @@ -144,7 +144,7 @@ public override void StartSDK()

public override string Type()
{
return "UnityInputLoader";
return "OpenXRLoader";
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
using UnityEngine.UI;
using UnityEngine.XR;
using Vector3 = UnityEngine.Vector3;
using BattlePhaze.SettingsManager;
Expand Down

0 comments on commit 55f1c9f

Please sign in to comment.