コード例 #1
0
    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);
        }
    }
コード例 #2
0
    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;
        }
    }
コード例 #3
0
    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;
        }
    }
コード例 #4
0
    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");
        }
    }
コード例 #5
0
 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();
             }
         }
     }
 }
コード例 #6
0
 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;
         }
     }
 }