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#类和结构详解 2023-05-30
- unity实现动态排行榜 2023-04-27
- winform把Office转成PDF文件 2023-06-14
- C# windows语音识别与朗读实例 2023-04-27
- linux – 如何在Debian Jessie中安装dotnet core sdk 2023-09-26
- ZooKeeper的安装及部署教程 2023-01-22
- C#控制台实现飞行棋小游戏 2023-04-22
- C# List实现行转列的通用方案 2022-11-02
- 一个读写csv文件的C#类 2022-11-06
- C# 调用WebService的方法 2023-03-09