理解构成 Mesh 的一些基本元素

一个 Mesh 主要由三个部分即可构成,以 Cube 为例

vertices:

顶点数组,一个 Cube 由 6 个面构成,每个面 4 个顶点,一共 24 个顶点,现实中一个 Cube 应该只有 8 个顶点,在 3D 模型中,多余的顶点对确定三角形与法线是必要的

triangles:

三角形顶点索引,每三个顶点构成一个三角形,两个三角形构成一个面,所以一个 Cube 包含 12 个三角形,构成三角形索引有顺时针与逆时针两种方式,将确定哪个面在渲染是可见

uv:

顶点的贴图坐标,范围是 0 - 1 的 2D 坐标系

void Start() {
		Mesh mesh = GetComponent<MeshFilter>().mesh;
		// 顶点
		Vector3[] verts = mesh.vertices;
		Debug.Log("vertices count is : " + verts.Length);
		foreach (var vert in verts) {
			Debug.Log(vert);
		}
		// 三角形数组
		int[] triangles = mesh.triangles;
		Debug.Log("triangles count is : " + triangles.Length);
		foreach (var triangle in triangles) {
			Debug.Log(triangle);
		}
		// UV
		Vector2[] uv = mesh.uv;
		Debug.Log("UV count is : " + uv.Length);
		foreach (var u in uv) {
			Debug.Log(u);
		}
	}

通过以上代码可以还原出 Cube 的 vertices、vertices、vertices

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值