Ejemplo n.º 1
0
        void LateUpdate()
        {
            if (m_updateVerts)
            {
                SetVerts();
                //@moon
                //    meshCollider.sharedMesh = m_mesh;
                //@moon
            }
            if (m_updateUVs)
            {
                if (m_vectorLine.lineUVs.Length == m_mesh.vertexCount)
                {
                    m_mesh.uv = m_vectorLine.lineUVs;
                }
                m_updateUVs = false;
            }
            if (m_updateColors)
            {
                if (m_vectorLine.lineColors.Length == m_mesh.vertexCount)
                {   // In case line points were erased and SetColor called
                    m_mesh.colors32 = m_vectorLine.lineColors;
                }
                m_updateColors = false;
            }
            if (m_updateTris)
            {
                m_mesh.SetTriangles(m_vectorLine.lineTriangles, 0);
                m_updateTris = false;
            }
            if (m_updateNormals)
            {
                m_mesh.RecalculateNormals();
                m_updateNormals = false;
            }
            if (m_updateTangents)
            {
                m_mesh.tangents  = m_vectorLine.CalculateTangents(m_mesh.normals);
                m_updateTangents = false;
            }

            // Renderer rd = this.GetComponent<Renderer>();
            // if (rd != null)
            // {
            //     Debug.Log("line bound size= " + rd.bounds.size);
            // }
        }
Ejemplo n.º 2
0
 protected override void OnPopulateMesh(VertexHelper vh)
 {
     if (m_updateVerts)
     {
         m_mesh.vertices = vectorLine.lineVertices;
         m_updateVerts   = false;
     }
     if (m_updateUVs)
     {
         if (vectorLine.lineUVs.Length == m_mesh.vertexCount)
         {
             m_mesh.uv = vectorLine.lineUVs;
         }
         m_updateUVs = false;
     }
     if (m_updateColors)
     {
         if (vectorLine.lineColors.Length == m_mesh.vertexCount)                 // In case line points were erased and SetColor called
         {
             m_mesh.colors32 = vectorLine.lineColors;
         }
         m_updateColors = false;
     }
     if (m_updateTris)
     {
         m_mesh.SetTriangles(vectorLine.lineTriangles, 0);
         m_updateTris = false;
         SetMeshBounds();
     }
     if (m_updateNormals && m_mesh != null)
     {
         m_mesh.RecalculateNormals();
         UpdateGeometry();
         m_updateNormals = false;
     }
     if (m_updateTangents && m_mesh != null)
     {
         m_mesh.tangents  = vectorLine.CalculateTangents(m_mesh.normals);
         m_updateTangents = false;
     }
 }
Ejemplo n.º 3
0
 void LateUpdate()
 {
     if (m_updateVerts)
     {
         SetVerts();
     }
     if (m_updateUVs)
     {
         if (m_vectorLine.lineUVs.Length == m_mesh.vertexCount)
         {
             m_mesh.uv = m_vectorLine.lineUVs;
         }
         m_updateUVs = false;
     }
     if (m_updateColors)
     {
         if (m_vectorLine.lineColors.Length == m_mesh.vertexCount)               // In case line points were erased and SetColor called
         {
             m_mesh.colors32 = m_vectorLine.lineColors;
         }
         m_updateColors = false;
     }
     if (m_updateTris)
     {
         m_mesh.SetTriangles(m_vectorLine.lineTriangles, 0);
         m_updateTris = false;
     }
     if (m_updateNormals)
     {
         m_mesh.RecalculateNormals();
         m_updateNormals = false;
     }
     if (m_updateTangents)
     {
         m_mesh.tangents  = m_vectorLine.CalculateTangents(m_mesh.normals);
         m_updateTangents = false;
     }
 }