void Awake() { objManager = GameObject.Find("ObjectInteractionManager").GetComponent <ObjectInteractionManager>(); objManager.FocusObjectChangedEvent += SetObject; controller = GetComponent <SteamVR_TrackedObject>(); }
// Use this for initialization private void Awake() { objManager = GameObject.Find("ObjectInteractionManager").GetComponent <ObjectInteractionManager>(); Debug.Assert(objManager != null); worlds = new Dictionary <int, World>(); PhotonNetwork.OnEventCall += OnEvent; }
// Use this for initialization void Start() { objManager = GameObject.Find("ObjectInteractionManager").GetComponent <ObjectInteractionManager>(); PhotonNetwork.OnEventCall += OnEvent; Debug.Assert(objManager != null); Debug.Assert(worldManager != null); Debug.Assert(portalManager != null); }
// Update is called once per frame void Update() { if (_IsArrowAppearing) { arrowInst.SetActive(true); arrowInst.transform.Rotate(0, _RotationSpeed, 0); } else { arrowInst.SetActive(false); } ObjectInteractionManager.SetObjectPos(_id, gameObject.transform.position); float dis = ObjectInteractionManager.findNearestPointerDistance(_id); if (dis < _SelectDistance) { //print ("select!!"); if (_IsArrowAppearing) { arrowInst.GetComponent <Renderer> ().material.color = _selectColor; } if (_SelectEvent != null) { if (_ActionExecuteType == ActionExecType.DuringSelecting) { _SelectEvent.ClickAction(); } else if (_ActionExecuteType == ActionExecType.Once) { if (!isSelected) { isSelected = true; _SelectEvent.ClickAction(); } } } } else if (dis < (_SelectDistance * 1.5f)) { //print ("focus~~~"); if (_IsArrowAppearing) { arrowInst.GetComponent <Renderer> ().material.color = _FocusColor; } } else { isSelected = false; if (_IsArrowAppearing) { arrowInst.GetComponent <Renderer> ().material.color = _NormalColor; } } }
private Dictionary <int, Portal> portalSet; //the set of all available portals // Use this for initialization private void Awake() { objManager = GameObject.Find("ObjectInteractionManager").GetComponent <ObjectInteractionManager>(); portalSet = new Dictionary <int, Portal>(); if (portalCursor != null) { Instantiate(portalCursor, transform); } PhotonNetwork.OnEventCall += OnEvent; }
public void Awake() { objManager = GameObject.Find("ObjectInteractionManager").GetComponent <ObjectInteractionManager>(); var canvas = GameObject.Find("MainCanvas"); if (canvas == null) { transControl = canvas.GetComponent <TransformControl>(); } }
void CreateSphere() { playerSphere = GameObject.Find("Player"); if (playerSphere == null) { objManager = GameObject.Find("ObjectInteractionManager").GetComponent <ObjectInteractionManager> (); string prefabName = "Player"; Quaternion rotation = Quaternion.identity; Vector3 scale = Vector3.one; objManager.Instantiate(prefabName, tangoCamera.transform.position, rotation, scale); } }
public void Start() { objManager = GameObject.Find("ObjectInteractionManager").GetComponent <ObjectInteractionManager>(); TriggerPressed += Select; TriggerReleased += Unselect; GameObject avatar = GameObject.Find("ViveAvatar"); if (avatar == null) { Debug.LogError("Cannot find Vive avatar. Does it exist in the scene?"); } viveHead = avatar.GetComponent <ViveHead>(); leftHand = avatar.GetComponent <ViveLeftHand>(); rightHand = avatar.GetComponent <ViveRightHand>(); leftSelectedObject = null; rightSelectedObject = null; }
public void Awake() { objManager = gameObject.GetComponent <ObjectInteractionManager>(); }
public void Awake() { objManager = GameObject.Find("ObjectInteractionManager").GetComponent <ObjectInteractionManager>(); }
private void Awake() { objManager = GameObject.Find("ObjectInteractionManager").GetComponent <ObjectInteractionManager>(); _moveBehavior = objManager.RegisterBehavior <MoveBehavior>(); }
// Use this for initialization void Start() { objManager = GameObject.Find("ObjectInteractionManager").GetComponent <ObjectInteractionManager> (); }
// Use this for initialization void Start() { _Camera = Camera.main; if (_PointerSettings.AutoStart) { _isLeftsAppearing = true; _isRightsAppearing = true; } else { _isLeftsAppearing = false; _isRightsAppearing = false; } gameObject.transform.SetParent(_Camera.transform, false); _controller = new Controller(); pointersObj = new GameObject("Pointers"); pointersObj.transform.SetParent(gameObject.transform, false); leftHandObj = new GameObject("Left Hand"); leftHandObj.transform.SetParent(pointersObj.transform, false); rightHandObj = new GameObject("Right Hand"); rightHandObj.transform.SetParent(pointersObj.transform, false); // 포인터의 중복설정을 확인한다. for (int i = 0; i < _PointerSettings.PointerUsed.Length - 1; i++) { for (int j = i + 1; j < _PointerSettings.PointerUsed.Length; j++) { if (_PointerSettings.PointerUsed[i] == _PointerSettings.PointerUsed[j]) { print("same pointers are detected"); return; } } } // 사용하기로 설정한 포인터타입에만 포인터를 생성한다. foreach (PointerType type in _PointerSettings.PointerUsed) { // 포인터 객체를 만들고 사전에 추가 후 빌드한다. GameObject pointerObj = new GameObject("Pointer_" + type); if (type == PointerType.LeftThumb || type == PointerType.LeftIndex || type == PointerType.LeftMiddle || type == PointerType.LeftRing || type == PointerType.LeftPinky) { pointerObj.transform.SetParent(leftHandObj.transform, false); } else { pointerObj.transform.SetParent(rightHandObj.transform, false); } _pointerDict.Add(type, pointerObj); InteractionManager.SetPointerPos(type, Vector3.one * 9999.0f); ObjectInteractionManager.SetPointerWorldPos(type, Vector3.one * 99999.0f); Pointer pointer = pointerObj.AddComponent <Pointer> (); pointer.Build(_PointerSettings, type); } }
private void UpdateLeapPointers() { Frame frame = _controller.Frame(0); HandList hands = frame.Hands; foreach (PointerType type in _PointerSettings.PointerUsed) { InteractionManager.SetPointerPos(type, Vector3.one * 9999.0f); ObjectInteractionManager.SetPointerWorldPos(type, Vector3.one * 99999.0f); } // bool leftHandOn = false; bool rightHandOn = false; foreach (Hand hand in hands) { if (hand.IsLeft && _isLeftsAppearing) { leftHandOn = true; leftHandObj.SetActive(true); } if (hand.IsRight && _isRightsAppearing) { rightHandOn = true; rightHandObj.SetActive(true); } if (hand.IsLeft && !_isLeftsAppearing) { continue; } if (hand.IsRight && !_isRightsAppearing) { continue; } FingerList fingers = hand.Fingers; foreach (Finger finger in fingers) { PointerType type = Converter.ConvertType(hand, finger.Type); if (type != null) { if (_pointerDict.ContainsKey(type)) { GameObject pointerObj = _pointerDict[type]; Transform pointerTransform = pointerObj.transform; if (_PointerSettings.UseHandModel) { if (type == PointerType.RightThumb) { GameObject tipObj = GameObject.Find(FingerTipPath.RightThumbPath); InteractionManager.SetPointerPos(type, _Camera.WorldToViewportPoint(tipObj.transform.position)); pointerTransform.position = tipObj.transform.position; } else if (type == PointerType.RightIndex) { GameObject tipObj = GameObject.Find(FingerTipPath.RightIndexPath); InteractionManager.SetPointerPos(type, _Camera.WorldToViewportPoint(tipObj.transform.position)); pointerTransform.position = tipObj.transform.position; } else if (type == PointerType.RightMiddle) { GameObject tipObj = GameObject.Find(FingerTipPath.RightMiddlePath); InteractionManager.SetPointerPos(type, _Camera.WorldToViewportPoint(tipObj.transform.position)); pointerTransform.position = tipObj.transform.position; } else if (type == PointerType.RightRing) { GameObject tipObj = GameObject.Find(FingerTipPath.RightRingPath); InteractionManager.SetPointerPos(type, _Camera.WorldToViewportPoint(tipObj.transform.position)); pointerTransform.position = tipObj.transform.position; } else if (type == PointerType.RightPinky) { GameObject tipObj = GameObject.Find(FingerTipPath.RightPinkyPath); InteractionManager.SetPointerPos(type, _Camera.WorldToViewportPoint(tipObj.transform.position)); pointerTransform.position = tipObj.transform.position; } else if (type == PointerType.LeftThumb) { GameObject tipObj = GameObject.Find(FingerTipPath.LeftThumbPath); InteractionManager.SetPointerPos(type, _Camera.WorldToViewportPoint(tipObj.transform.position)); pointerTransform.position = tipObj.transform.position; } else if (type == PointerType.LeftIndex) { GameObject tipObj = GameObject.Find(FingerTipPath.LeftIndexPath); InteractionManager.SetPointerPos(type, _Camera.WorldToViewportPoint(tipObj.transform.position)); pointerTransform.position = tipObj.transform.position; } else if (type == PointerType.LeftMiddle) { GameObject tipObj = GameObject.Find(FingerTipPath.LeftMiddlePath); InteractionManager.SetPointerPos(type, _Camera.WorldToViewportPoint(tipObj.transform.position)); pointerTransform.position = tipObj.transform.position; } else if (type == PointerType.LeftRing) { GameObject tipObj = GameObject.Find(FingerTipPath.LeftRingPath); InteractionManager.SetPointerPos(type, _Camera.WorldToViewportPoint(tipObj.transform.position)); pointerTransform.position = tipObj.transform.position; } else if (type == PointerType.LeftPinky) { GameObject tipObj = GameObject.Find(FingerTipPath.LeftPinkyPath); InteractionManager.SetPointerPos(type, _Camera.WorldToViewportPoint(tipObj.transform.position)); pointerTransform.position = tipObj.transform.position; } ObjectInteractionManager.SetPointerWorldPos(type, pointerTransform.position); } else { if (_PointerSettings.MountType == MountType.TableMount) { InteractionManager.SetPointerPos(type, Converter.ConvertPosInFrustum(finger.TipPosition.ToUnity())); pointerTransform.position = _Camera.ViewportToWorldPoint(Converter.ConvertPosInFrustum(finger.TipPosition.ToUnity())); ObjectInteractionManager.SetPointerWorldPos(type, pointerTransform.position); } else if (_PointerSettings.MountType == MountType.HeadMount) { InteractionManager.SetPointerPos(type, Converter.ConvertPosInFrustumVR(finger.TipPosition.ToUnity())); pointerTransform.position = _Camera.ViewportToWorldPoint(Converter.ConvertPosInFrustumVR(finger.TipPosition.ToUnity())); ObjectInteractionManager.SetPointerWorldPos(type, pointerTransform.position); } } //print (Converter.ConvertPosInFrustum(finger.TipPosition.ToUnity())); pointerTransform.localRotation = Quaternion.identity; Vector3 camWorld = _Camera.transform.TransformPoint(Vector3.zero); Vector3 camLocal = pointerTransform.InverseTransformPoint(camWorld); pointerTransform.localRotation = Quaternion.FromToRotation(Vector3.down, camLocal); } } } } if (!leftHandOn) { leftHandObj.SetActive(false); } if (!rightHandOn) { rightHandObj.SetActive(false); } }