public override void OnInspectorGUI() { WaveVR_PoseTrackerManager myScript = target as WaveVR_PoseTrackerManager; myScript.Type = (WaveVR_Controller.EDeviceType)EditorGUILayout.EnumPopup("Type", myScript.Type); myScript.TrackPosition = EditorGUILayout.Toggle("Track Position", myScript.TrackPosition); if (true == myScript.TrackPosition) { if (myScript.Type == WaveVR_Controller.EDeviceType.Head) { myScript.EnableNeckModel = (bool)EditorGUILayout.Toggle(" Enable Neck Model", myScript.EnableNeckModel); } else { myScript.SimulationOption = (WVR_SimulationOption)EditorGUILayout.EnumPopup(" Simulate Position", myScript.SimulationOption); if (myScript.SimulationOption == WVR_SimulationOption.ForceSimulation || myScript.SimulationOption == WVR_SimulationOption.WhenNoPosition) { myScript.FollowHead = (bool)EditorGUILayout.Toggle(" Follow Head", myScript.FollowHead); } } } myScript.TrackRotation = EditorGUILayout.Toggle("Track Rotation", myScript.TrackRotation); myScript.TrackTiming = (WVR_TrackTiming)EditorGUILayout.EnumPopup("Track Timing", myScript.TrackTiming); if (GUI.changed) { EditorUtility.SetDirty((WaveVR_PoseTrackerManager)target); } }
void OnEnable() { WaveVR_PoseTrackerManager _ptm = (WaveVR_PoseTrackerManager)gameObject.GetComponent(typeof(WaveVR_PoseTrackerManager)); if (_ptm != null) { Type = _ptm.Type; WaveVR_EventSystemControllerProvider.Instance.SetControllerModel(Type, gameObject); added = true; } }
private void SetControllerOptions(GameObject controller_prefab) { WaveVR_PoseTrackerManager _ptm = controller_prefab.GetComponent <WaveVR_PoseTrackerManager> (); if (_ptm != null) { _ptm.TrackPosition = TrackPosition; _ptm.SimulationOption = SimulationOption; _ptm.FollowHead = FollowHead; _ptm.TrackRotation = TrackRotation; } }
private void SetControllerOptions(GameObject controller_prefab) { WaveVR_PoseTrackerManager _ptm = controller_prefab.GetComponent <WaveVR_PoseTrackerManager> (); if (_ptm != null) { _ptm.TrackPosition = TrackPosition; _ptm.SimulationOption = SimulationOption; _ptm.FollowHead = FollowHead; _ptm.TrackRotation = TrackRotation; _ptm.Type = this.deviceType; PrintInfoLog("set " + this.deviceType + " to WaveVR_PoseTrackerManager"); } }
private void renderControllerBeamPointer(WVR_DeviceType type, bool active) { if (WaveVR_EventSystemControllerProvider.Instance != null) { GameObject _model = WaveVR_EventSystemControllerProvider.Instance.GetControllerModel(type); if (_model != null) { WaveVR_PoseTrackerManager _ptm = _model.GetComponentInChildren <WaveVR_PoseTrackerManager> (); if (_ptm != null) { PrintDebugLog("renderControllerBeamPointer() " + (active ? "activate" : "deactivate") + " controller " + type); _ptm.ActivateTargetObjects(); } } } }
private void SetupPointerCamera(WVR_DeviceType type) { if (type == WVR_DeviceType.WVR_DeviceType_Controller_Right) { GameObject head = GameObject.Find("head"); pointCameraR = new GameObject("PointerCameraR"); pointCameraR.AddComponent <WaveVR_PointerCameraTracker>(); pointCameraR.AddComponent <WaveVR_PoseTrackerManager>(); pointCameraR.AddComponent <PhysicsRaycaster>(); pointCameraR.transform.SetParent(head.transform, true); if (RaycastStartPoint == ERaycastStartPoint.LeftEye) { pointCameraR.transform.localPosition = new Vector3(-raycastStartPointOffset, 0f, 0.15f); } else if (RaycastStartPoint == ERaycastStartPoint.RightEye) { pointCameraR.transform.localPosition = new Vector3(raycastStartPointOffset, 0f, 0.15f); } else { pointCameraR.transform.localPosition = new Vector3(0f, 0f, 0.15f); } Camera pc = pointCameraR.GetComponent <Camera>(); if (pc != null) { pc.enabled = false; pc.fieldOfView = 1f; pc.nearClipPlane = 0.01f; } WaveVR_PointerCameraTracker pcTracker = pointCameraR.GetComponent <WaveVR_PointerCameraTracker>(); if (pcTracker != null) { pcTracker.setDeviceType(type); } WaveVR_PoseTrackerManager poseTracker = pointCameraR.GetComponent <WaveVR_PoseTrackerManager>(); if (poseTracker != null) { poseTracker.Type = type; poseTracker.TrackPosition = false; poseTracker.TrackRotation = false; poseTracker.enabled = false; } } else if (type == WVR_DeviceType.WVR_DeviceType_Controller_Left) { GameObject head = GameObject.Find("head"); pointCameraL = new GameObject("PointerCameraL"); pointCameraL.AddComponent <WaveVR_PointerCameraTracker>(); pointCameraL.AddComponent <WaveVR_PoseTrackerManager>(); pointCameraL.AddComponent <PhysicsRaycaster>(); pointCameraL.transform.SetParent(head.transform, true); if (RaycastStartPoint == ERaycastStartPoint.LeftEye) { pointCameraL.transform.localPosition = new Vector3(-raycastStartPointOffset, 0f, 0.15f); } else if (RaycastStartPoint == ERaycastStartPoint.RightEye) { pointCameraL.transform.localPosition = new Vector3(raycastStartPointOffset, 0f, 0.15f); } else { pointCameraL.transform.localPosition = new Vector3(0f, 0f, 0.15f); } Camera pc = pointCameraL.GetComponent <Camera>(); if (pc != null) { pc.enabled = false; pc.fieldOfView = 1f; pc.nearClipPlane = 0.01f; } WaveVR_PointerCameraTracker pcTracker = pointCameraL.GetComponent <WaveVR_PointerCameraTracker>(); if (pcTracker != null) { pcTracker.setDeviceType(type); } WaveVR_PoseTrackerManager poseTracker = pointCameraL.GetComponent <WaveVR_PoseTrackerManager>(); if (poseTracker != null) { poseTracker.Type = type; poseTracker.TrackPosition = false; poseTracker.TrackRotation = false; poseTracker.enabled = false; } } }