Exemplo n.º 1
0
        public override void Start(HumanoidControl _humanoid, Transform targetTransform)
        {
            base.Start(_humanoid, targetTransform);
            tracker = handTarget.humanoid.oculus;

            if (tracker == null || !tracker.enabled || !enabled)
            {
                return;
            }

            SetSensor2Target();
            CheckSensorTransform();
            ShowSensor(handTarget.humanoid.showRealObjects && target.showRealObjects);

            if (sensorTransform != null)
            {
                oculusController = sensorTransform.GetComponent <OculusControllerComponent>();
                if (oculusController != null)
                {
#if UNITY_ANDROID
                    if (handTarget.humanoid.oculus.androidDeviceType == OculusTracker.AndroidDeviceType.GearVR ||
                        handTarget.humanoid.oculus.androidDeviceType == OculusTracker.AndroidDeviceType.OculusGo)
                    {
                        oculusController.positionalTracking = false;
                    }
                    else
#endif
                    oculusController.positionalTracking = true;
                    oculusController.StartComponent(tracker.trackerTransform);
                }
            }
        }
Exemplo n.º 2
0
            protected static void CheckControllerComponent(HandTarget handTarget)
            {
                if (handTarget.oculus.sensorTransform == null)
                {
                    return;
                }

                OculusControllerComponent sensorComponent = handTarget.oculus.sensorTransform.GetComponent <OculusControllerComponent>();

                if (sensorComponent == null)
                {
                    sensorComponent = handTarget.oculus.sensorTransform.gameObject.AddComponent <OculusControllerComponent>();
                }
                sensorComponent.isLeft = handTarget.isLeft;
            }
Exemplo n.º 3
0
        protected override void CreateSensorTransform()
        {
            //#if UNITY_ANDROID
            //            string controllerName;
            //            switch (controllerType) {
            //                case ControllerType.GearVR:
            //                    controllerName = "GearVR Controller";
            //                    break;
            //                case ControllerType.OculusGo:
            //                default:
            //                    controllerName = "OculusGo Controller";
            //                    break;
            //            }
            //            if (handTarget.isLeft)
            //                CreateSensorTransform(controllerName, new Vector3(-0.1F, -0.05F, 0.04F), Quaternion.Euler(180, 90, 90));
            //            else
            //                CreateSensorTransform(controllerName, new Vector3(0.1F, -0.05F, 0.04F), Quaternion.Euler(180, -90, -90));
            //#else
            //            if (handTarget.isLeft)
            //                CreateSensorTransform("Left Touch Controller", new Vector3(-0.1F, -0.05F, 0.04F), Quaternion.Euler(180, 90, 90));
            //            else
            //                CreateSensorTransform("Right Touch Controller", new Vector3(0.1F, -0.05F, 0.04F), Quaternion.Euler(180, -90, -90));
            //#endif

            if (handTarget.isLeft)
            {
                string controllerName = "Left Touch Controller";
#if UNITY_ANDROID
                switch (handTarget.humanoid.oculus.androidDeviceType)
                {
                case OculusTracker.AndroidDeviceType.GearVR:
                    controllerName = "GearVR Controller";
                    break;

                case OculusTracker.AndroidDeviceType.OculusGo:
                    controllerName = "OculusGo Controller";
                    break;

                case OculusTracker.AndroidDeviceType.OculusQuest:
                    controllerName = "Left Quest Controller";
                    break;

                default:
                    break;
                }
#endif
                CreateSensorTransform(controllerName, new Vector3(-0.1F, -0.05F, 0.04F), Quaternion.Euler(180, 90, 90));
            }
            else
            {
                string controllerName = "Right Touch Controller";
#if UNITY_ANDROID
                switch (handTarget.humanoid.oculus.androidDeviceType)
                {
                case OculusTracker.AndroidDeviceType.GearVR:
                    controllerName = "GearVR Controller";
                    break;

                case OculusTracker.AndroidDeviceType.OculusGo:
                    controllerName = "OculusGo Controller";
                    break;

                case OculusTracker.AndroidDeviceType.OculusQuest:
                    controllerName = "Right Quest Controller";
                    break;

                default:
                    break;
                }
#endif
                CreateSensorTransform(controllerName, new Vector3(0.1F, -0.05F, 0.04F), Quaternion.Euler(180, -90, -90));
            }

            OculusControllerComponent oculusController = sensorTransform.GetComponent <OculusControllerComponent>();
            if (oculusController == null)
            {
                oculusController = sensorTransform.gameObject.AddComponent <OculusControllerComponent>();
            }
            oculusController.isLeft = handTarget.isLeft;
        }
Exemplo n.º 4
0
 private void OnEnable()
 {
     controllerComponent = (OculusControllerComponent)target;
 }