Unity中的网格作为组件不能脱离物体单独存在,通过新建脚本来实现相关操作,本文重点给大家介绍Unity通过脚本创建网格Mesh的方法,感兴趣的朋友一起看看吧
1.创建一个带Mesh的物体
Unity中的网格作为组件不能脱离物体单独存在
新建脚本CreateMesh
public class CreateMesh: MonoBehaviour
{
void Start()
{
//该方法会新建一个名为Mesh的GameObject,该物体上包含一个 MeshFilter 和一个 MeshRenderer
GameObject gameObject = new GameObject("Mesh", typeof(MeshFilter), typeof(MeshRenderer));
gameObject.transform.localScale = new Vector3(30, 30, 1);//放大一点,避免到时候看不见
}
}
然后将脚本搭载到场景中任意物体上
点击运行后场景出现名为Mesh的物体,包含MeshFilter
和 MeshRenderer
,也可自行添加组件
这里Mesh Filter中的Mesh为None
因为我们还没有创建Mesh
2.通过脚本创建Mesh
Unity中Mesh由顶点、三角面和UV坐标组成
如果我们创建一个正方形,需要先声明相应数组
修改Create Mesh
//public class CreateMesh: MonoBehaviour
//{
// void Start()
//{
Vector3[] vertices = new Vector3[0]; //声明顶点数组
Vector2[] uv = new Vector2[0]; //声明uv向量
int[] triangles = new int[0]; //声明三角形数组
Mesh mesh = new Mesh(); //声明网格
//对网格进行赋值引用
mesh.vertices = vertices;
mesh.uv = uv;
mesh.triangles = triangles;
//GameObject gameObject = new GameObject("Mesh", typeof(MeshFilter), typeof(MeshRenderer));
//gameObject.transform.localScale = new Vector3(30, 30, 1);
//将新建物体的 MeshFilter 设为新建的 网格(Mesh)
gameObject.GetComponent<MeshFilter>().mesh = mesh;
/
织梦狗教程
本文标题为:Unity通过脚本创建网格Mesh的方法


基础教程推荐
猜你喜欢
- c# – USING块在网站与Windows窗体中的行为不同 2023-09-20
- C#调用摄像头实现拍照功能的示例代码 2023-03-09
- C#中的Linq to JSON操作详解 2023-06-08
- 实例详解C#实现http不同方法的请求 2022-12-26
- Unity shader实现高斯模糊效果 2023-01-16
- C#获取指定目录下某种格式文件集并备份到指定文件夹 2023-05-30
- C#中 Json 序列化去掉null值的方法 2022-11-18
- C#通过标签软件Bartender的ZPL命令打印条码 2023-05-16
- Unity 如何获取鼠标停留位置下的物体 2023-04-10
- C# 解析XML和反序列化的示例 2023-04-14