Esempio n. 1
0
    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;
    }
Esempio n. 2
0
    // 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;
    }