使用网格自建面片,指定uv坐标等

Unity中自动的模型是有限的,有时我们需要自建模型,比如三角面片,那么我们建好了如好在上面放材质,等等~~~

 

以下代码,主要实现自建面片,指定uv坐标等信息。

using UnityEngine;  
using System.Collections.Generic;  
using System;  
/// <summary>
/// 动态建立三角面片
/// </summary>
public class BuildMesh : MonoBehaviour {  
	
	void Start ()  
	{  
		BuildFRender();
	} 	
	void BuildFRender()
	{
		//得到MeshFilter对象,目前是空的。  
		MeshFilter meshFilter = (MeshFilter)GameObject.Find("FRender").GetComponent(typeof(MeshFilter));  
		//得到对应的网格对象  
		Mesh mesh = meshFilter.mesh;  
		
		//三角形顶点的坐标数组  
		Vector3[] vertices = new Vector3[3];  
		//三角形顶点ID数组  
		int[] triangles   = new int[3];  
		//三角形顶点UV坐标
		Vector2[] uv = new Vector2[3];

		//三角形三个定点坐标,为了显示清楚忽略Z轴  
		vertices[0] = new Vector3(0,0,0);  
		vertices[1] = new Vector3(-1,1,0);  
		vertices[2] = new Vector3(1,1,0);  
		
		//三角形绘制顶点的数组  
		triangles[0] =0;  
		triangles[1] =1;  
		triangles[2] =2;  

		uv[0] = new Vector2(0.5f,0.2f);
		uv[1] = new Vector2(0,0.7f);
		uv[2] = new Vector2(1,0.7f);
		//注释1  
		mesh.vertices = vertices;  
		mesh.triangles = triangles;  
		mesh.uv = uv;
		mesh.normals = vertices;
	}
}

【注意】:uv点和三角形顶点坐标数一致

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值