public Transform GetAnchor(ControllerAnchorEnum anchorEnum) { switch (anchorEnum) { case ControllerAnchorEnum.GazePoseTrackerAnchor: return(m_GazePoseTrackerAnchor); case ControllerAnchorEnum.RightPoseTrackerAnchor: return(m_RightPoseTrackerAnchor); case ControllerAnchorEnum.LeftPoseTrackerAnchor: return(m_LeftPoseTrackerAnchor); case ControllerAnchorEnum.RightModelAnchor: return(m_RightModelAnchor); case ControllerAnchorEnum.LeftModelAnchor: return(m_LeftModelAnchor); case ControllerAnchorEnum.RightLaserAnchor: return(m_RightLaserAnchor); case ControllerAnchorEnum.LeftLaserAnchor: return(m_LeftLaserAnchor); default: break; } return(null); }
private void CreateControllerVisual(int index, ControllerVisualType visualType) { GameObject visualGo = ControllerVisualFactory.CreateControllerVisualObject(visualType); if (visualGo == null) { return; } m_ControllerVisuals[index] = visualGo.GetComponent <IControllerVisual>(); if (m_ControllerVisuals[index] != null) { ControllerAnchorEnum ancherEnum = (index == 0 ? ControllerAnchorEnum.RightModelAnchor : ControllerAnchorEnum.LeftModelAnchor); visualGo.transform.parent = NRInput.AnchorsHelper.GetAnchor(ancherEnum); visualGo.transform.localPosition = Vector3.zero; visualGo.transform.localRotation = Quaternion.identity; visualGo.transform.localScale = Vector3.one; } else { Debug.LogError("The ControllerVisual prefab:" + visualGo.name + " does not contain IControllerVisual interface"); Destroy(visualGo); } }