Exemple #1
0
        /// <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;
        }
Exemple #2
0
        public override VRController GetModel()
        {
            switch (TBCore.GetActiveHeadset())
            {
            case VRHeadset.OculusGo:
            case VRHeadset.MiVRStandalone:
                return(VRController.OculusGoController);

            default:
                return(VRController.GearVRController);
            }
        }
Exemple #3
0
 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);
 }
Exemple #4
0
        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;
            }
        }
Exemple #5
0
        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;
            }
        }
Exemple #6
0
        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;
                    }
                }
            }
        }
Exemple #7
0
        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;
                }
            }
        }