Exemple #1
0
    void UpdateMesh()
    {
        m_trackedPlane.GetBoundaryPolygon(ref m_points);

        int[] indices = TriangulatorXZ.Triangulate(m_points);

        m_mesh.Clear();
        m_mesh.SetVertices(m_points);
        m_mesh.SetIndices(indices, MeshTopology.Triangles, 0);
        m_mesh.RecalculateBounds();

        m_meshCollider.sharedMesh = null;
        m_meshCollider.sharedMesh = m_mesh;
    }
    void UpdateMeshIfNeeded()
    {
        m_trackedPlane.GetBoundaryPolygon(m_points);

        if (AreVertexListsEqual(m_previousFramePoints, m_points))
        {
            return;
        }

        int[] indices = TriangulatorXZ.Triangulate(m_points);

        m_mesh.Clear();
        m_mesh.SetVertices(m_points);
        m_mesh.SetIndices(indices, MeshTopology.Triangles, 0);
        m_mesh.RecalculateBounds();

        m_meshCollider.sharedMesh = null;
        m_meshCollider.sharedMesh = m_mesh;
    }
        void UpdateMeshIfNeeded()
        {
            if (EazyARCoreInterface.isSimulated)
            {
                if (createdSimulatedMesh)
                {
                    return;
                }

                //Mesh meshToCopy = ARCoreInterface.instance.simulatedTrackedPanel.GetComponent<MeshFilter>().sharedMesh;
                //m_mesh.Clear();
                //m_mesh.vertices = meshToCopy.vertices;
                //m_mesh.triangles = meshToCopy.triangles;
                //m_mesh.uv = meshToCopy.uv;
                //m_mesh.normals = meshToCopy.normals;
                //m_mesh.colors = meshToCopy.colors;
                //m_mesh.tangents = meshToCopy.tangents;
                //m_mesh.RecalculateBounds();

                //createdSimulatedMesh = true;
            }
            else
            {
                detectedPlane.ARcoreDetectedPlane.GetBoundaryPolygon(m_points);

                if (AreVerticesListsEqual(m_previousFramePoints, m_points))
                {
                    return;
                }

                int[] indices = TriangulatorXZ.Triangulate(m_points);

                m_mesh.Clear();
                m_mesh.SetVertices(m_points);
                m_mesh.SetIndices(indices, MeshTopology.Triangles, 0);
                m_mesh.RecalculateBounds();
            }

            m_meshCollider.sharedMesh = null;
            m_meshCollider.sharedMesh = m_mesh;
        }