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; }
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); }