Mesh系列文章 - 自定义Mesh

时间:2024-01-12 23:56:44

就是在做项目的过程中,有用到三角形的,今天就写一下如何自定义三角形?

先截个图,让大家有个感性认识!Mesh系列文章 -   自定义Mesh

//引用

using UnityEngine;
        using System.Collections;
        public class Draw : MonoBehaviour
       {

//三个物体的变换
              public Transform a1;
              public Transform a2;
              public Transform a3;
              void Awake()
             {

//添加Mesh Filter(模型网格)和Mesh Renderer(模型渲染)组件
                  gameObject.AddComponent<MeshFilter>();
                  gameObject.AddComponent<MeshRenderer>();

//对模型的材质赋值个颜色
                  gameObject.renderer.material.color=Color.green;

//获取模型网格
                  Mesh mesh = GetComponent<MeshFilter>().mesh;

//清楚模型的顶点和三角形索引
                  mesh.Clear();

//变换三个物体的坐标到代码所挂物体上的局部坐标!
                  Vector3 v1 = gameObject.transform.InverseTransformPoint(a1.position);
                  Vector3 v2 = gameObject.transform.InverseTransformPoint(a2.position);
                  Vector3 v3 = gameObject.transform.InverseTransformPoint(a3.position);

//然后赋值顶点
                  mesh.vertices = new Vector3[] { v1, v2, v3 };

//赋值三角形的索引

mesh.triangles = new int[] { 0, 1, 2 };
    }
}