protected void Update() { if (!m_Initialized) { InitializeFromActiveNavigation(); } if (m_NavigationNode == null || m_VRNavigationNode == null || m_CollisionNode == null) { return; } // Check if moved Vector3 startPos = m_LastCollisionNodePosition; Vector3 endPos = m_CollisionNode.transform.position; Vector3 lastMovement = endPos - startPos; if (lastMovement.magnitude > 0.0f) { Vector3 reactionMovement = ComputeReactionMovement(startPos, lastMovement); // Update Unity and MVR versions of navigation node m_NavigationNode.transform.position += reactionMovement; m_VRNavigationNode.SetPositionWorld(MVRTools.FromUnity(m_NavigationNode.transform.position)); } m_LastCollisionNodePosition = m_CollisionNode.transform.position; }
// Update is called once per frame void Update() { if (!m_Initialized) { InitializeFromActiveNavigation(); } if (m_NavigationNode == null || m_VRNavigationNode == null || m_CollisionNode == null) { return; } // Check if moved Vector3 startPos = m_LastCollisionNodePosition; Vector3 endPos = m_CollisionNode.transform.position; Vector3 lastMovement = endPos - startPos; if (lastMovement.magnitude > 0.0f) { Vector3 reactionMovement = ComputeReactionMovement(startPos, lastMovement); // Update Unity and MVR versions of navigation node m_NavigationNode.transform.position += reactionMovement; m_VRNavigationNode.SetPositionWorld((new vrVec3(m_NavigationNode.transform.position.x, m_NavigationNode.transform.position.y, m_NavigationNode.transform.position.z)).To((uint)VR3DEngine.VR3DEngine_Unity3D)); } m_LastCollisionNodePosition = m_CollisionNode.transform.position; }