/// <summary> /// Override to set up inputs for the left and right controllers in a single def on 3DOF. /// </summary> protected override void Initialize() { loadedButtonDefs = TBInput.LoadButtonDefs(GetDefaultDefs(), fileName); if (TBCore.GetActiveHeadset() == VRHeadset.GearVR) { _instance.model = VRController.GearVRController; } loadedButtonDefs.Add(new TBInput.ButtonDef <OVRInput.RawButton>() { rawButton = OVRInput.RawButton.LTouchpad, virtualButtons = loadedButtonDefs[0].virtualButtons, name = "Touchpad Left", supportsTouch = true, supportsAxis2D = true }); loadedButtonDefs.Add(new TBInput.ButtonDef <OVRInput.RawButton>() { rawButton = OVRInput.RawButton.LIndexTrigger, virtualButtons = loadedButtonDefs[1].virtualButtons, name = "Trigger Left", supportsTouch = false, supportsAxis2D = false }); lookupTable = TBInput.NewLookupTableFromDefs(loadedButtonDefs); loaded = true; }
public override VRController GetModel() { switch (TBCore.GetActiveHeadset()) { case VRHeadset.OculusGo: case VRHeadset.MiVRStandalone: return(VRController.OculusGoController); default: return(VRController.GearVRController); } }
protected virtual void PrintStartupResults() { TBLogging.LogMessage("TButt settings initialized. Diagnostics Report (click to view) \n" + "------------------------------------------------------------------------------------- \n" + "SystemInfo DeviceModel: " + SystemInfo.deviceModel + "\n" + "Device Name: " + SystemInfo.deviceName + "\n" + "Unity XR Device: " + UnityEngine.XR.XRSettings.loadedDeviceName + "\n" + "Unity XR Device Model: " + UnityEngine.XR.XRDevice.model + "\n" + "TButt Platform: " + TBCore.GetActivePlatform() + "\n" + "TButt HMD: " + TBCore.GetActiveHeadset() + "\n" + "Configured Renderscale: " + _displaySettings.renderscale + ", Actual Renderscale: " + UnityEngine.XR.XRSettings.eyeTextureResolutionScale + "\n" + "Configured Refresh Rate: " + _displaySettings.refreshRate + ", Actual Refresh Rate: " + UnityEngine.XR.XRDevice.refreshRate + "\n" + "Configured TBQuality Level: " + _displaySettings.qualityLevel); }
void Start() { if (controllerHand == ControllerHand.LeftController) { controller = TBInput.Controller.LHandController; } else { controller = TBInput.Controller.RHandController; } defaultMaterial = renderer.material; if (TBCore.GetActiveHeadset() == VRHeadset.HTCVive) { useTouchpadInsteadOfJoystick = true; } }
protected override void LoadHandControllers() { switch (TBCore.GetActiveHeadset()) { case VRHeadset.OculusRift: controller_LHand = TBController_SteamVR_OculusTouchLeft.instance; controller_RHand = TBController_SteamVR_OculusTouchRight.instance; break; case VRHeadset.WindowsMR: controller_LHand = TBController_SteamVR_WindowsMixedRealityLeft.instance; controller_RHand = TBController_SteamVR_WindowsMixedRealityRight.instance; break; default: controller_LHand = TBController_SteamVR_ViveControllerLeft.instance; controller_RHand = TBController_SteamVR_ViveControllerRight.instance; break; } }
protected override void Load3DOFControllers() { // 3DOF Controller emulation in the editor. if (TBCore.UsingEditorMode() && TBSettings.GetControlSettings().emulate3DOFArmModel) { if (TBSettings.GetControlSettings().handedness3DOF == TBSettings.TBHardwareHandedness.Left) { switch (TBCore.GetActiveHeadset()) { case VRHeadset.OculusRift: controller_3DOF = TBController_SteamVR_OculusTouchLeft.instance; break; case VRHeadset.WindowsMR: controller_3DOF = TBController_SteamVR_WindowsMixedRealityLeft.instance; break; default: controller_3DOF = TBController_SteamVR_ViveControllerLeft.instance; break; } } else { switch (TBCore.GetActiveHeadset()) { case VRHeadset.OculusRift: controller_3DOF = TBController_SteamVR_OculusTouchRight.instance; break; case VRHeadset.WindowsMR: controller_3DOF = TBController_SteamVR_WindowsMixedRealityRight.instance; break; default: controller_3DOF = TBController_SteamVR_ViveControllerRight.instance; break; } } } }
protected override void LoadHandControllers() { _numHapticSamples = (int)(320 / TBSettings.GetRefreshRate()) + 1; // Oculus Touch haptics update at 320hz. _leftRumble = new OVRHapticsClip(_numHapticSamples); _rightRumble = new OVRHapticsClip(_numHapticSamples); if (TBCore.GetActivePlatform() == VRPlatform.OculusMobile) { switch (Settings.TBOculusSettings.GetOculusDeviceFamily()) { case Settings.TBOculusSettings.OculusDeviceFamily.Quest: controller_LHand = TBController_Oculus_QuestLeft.instance; controller_RHand = TBController_Oculus_QuestRight.instance; break; default: Debug.LogWarning("Attempted to load hand controllers, but none are defined for " + Settings.TBOculusSettings.GetOculusDeviceFamily()); break; } } else { switch (TBCore.GetActiveHeadset()) { case VRHeadset.HTCVive: controller_LHand = TBController_Oculus_ViveControllerLeft.instance; controller_RHand = TBController_Oculus_ViveControllerRight.instance; break; default: // Currently, the only supported hand controller on PC is Oculus Touch. controller_LHand = TBController_Oculus_TouchLeft.instance; controller_RHand = TBController_Oculus_TouchRight.instance; break; } } }