掌舵的鱼1987 发表于 2021-1-9 21:51

一个简单的unity网格生成代码

通过这段简单的代码和说明,理解下网格生成原理。
unity渲染网格需要两个组件MeshFiler, MeshRender网格需要顶点数据,三角形数据(这里只定义这两个)
using UnityEngine;

public class QuadCreator : MonoBehaviour
{
    void Start()
    {
      //渲染网格需要MeshRender和MeshFiler组件
      gameObject.AddComponent<MeshRenderer>();
      var meshFilter = gameObject.AddComponent<MeshFilter>();
      //网格的创建
      Mesh mesh = new Mesh();
      //创建网格四个顶点
      Vector3[] vertices = new Vector3
      {
            new Vector3(0,0,0),
            new Vector3(1,0,0),
            new Vector3(0,1,0),
            new Vector3(1,1,0)
      };
      //定义网格三角形
      int[] tris = new int
      {
            0,2,1,
            2,3,1,
      };

      mesh.vertices = vertices;
      mesh.triangles = tris;
      meshFilter.mesh = mesh;
    }
}


希望注释能让代码更容易读懂,将这个脚本挂在gameObject上运行就会生成网格,因为没有材质球所以是粉色的。
页: [1]
查看完整版本: 一个简单的unity网格生成代码