Exemplo n.º 1
0
        public static void InitSceneSettings(FinchHeadUpdateType headUpdateType, FinchControllersCount count, FinchBodyRotationMode rotationMode, FinchRecenterMode recenterMode)
        {
            HeadUpdateType = headUpdateType;
            UnityEngine.XR.InputTracking.disablePositionalTracking = HeadUpdateType == FinchHeadUpdateType.NoHeadUpdate || HeadUpdateType == FinchHeadUpdateType.RotationUpdate;

            ControllersCount = count;
            BodyRotationMode = rotationMode;
            RecenterMode     = recenterMode;
        }
Exemplo n.º 2
0
        private static bool AssignControllers(bool isOnAwake = false)
        {
            FinchChirality        handedness       = FinchSettings.PreferredHandedness;
            FinchControllersCount controllersCount = FinchSettings.ControllersCount;
            bool leftConnected  = LeftController.IsHandNodeConnected();
            bool rightConnected = RightController.IsHandNodeConnected();

            if (handedness >= FinchChirality.Last)
            {
                FinchSettings.PreferredHandedness = handedness = FinchChirality.Right;
                Debug.Log("Setting \"Preferred Handedness\" was not set correctly, setting to default value \"Right\"");
            }

            if ((finchProvider != null) && !isOnAwake && (controllersCount == FinchControllersCount.One) && (leftConnected ^ rightConnected))
            {
                if ((handedness == FinchChirality.Left) && !leftConnected)
                {
                    finchProvider.SwapNodes(FinchNodeType.RightHand, FinchNodeType.LeftHand);
                }
                else if ((handedness == FinchChirality.Right) && !rightConnected)
                {
                    finchProvider.SwapNodes(FinchNodeType.RightHand, FinchNodeType.LeftHand);
                }
            }

            if (handedness == FinchChirality.Left)
            {
                MainController     = LeftController;
                OptionalController = RightController;
            }
            else
            {
                MainController     = RightController;
                OptionalController = LeftController;
            }
            return(leftConnected || rightConnected);
        }