unity-网格编程03

举报
LittleU 发表于 2022/01/10 11:41:25 2022/01/10
【摘要】 既然已经有了空的mesh,那么现在就应该在空的mesh文件中增加信息,那么之前的文章提到过,网格需要有顶点,法线,等等.unity支持的模型,是fbx格式,而这种格式的模型,三角面构成.所以,这里只测试一个简单的,只有一个三角面的模型.那么,我们首先是要定义模型顶点,模型的顶点坐标是v3形式.并且是个数组,所以我们在将mesh信息给到mesh Filter之前就应该将这些信息写好.首先是顶点...

既然已经有了空的mesh,那么现在就应该在空的mesh文件中增加信息,那么之前的文章提到过,网格需要有顶点,法线,等等.

unity支持的模型,是fbx格式,而这种格式的模型,三角面构成.所以,这里只测试一个简单的,只有一个三角面的模型.

那么,我们首先是要定义模型顶点,模型的顶点坐标是v3形式.并且是个数组,所以我们在将mesh信息给到mesh Filter之前就应该将这些信息写好.

首先是顶点信息:

mesh.vertices = new Vector3[] 
{
	Vector3.zero,
	Vector3.right,
	Vector3.up
};

定义了3个顶点,你也可以写成(0,0,0),(0,1,0)...这种形式,主要的还是描述点的位置.


接下来是点的排序,这个排序会影响到面的那一面会被显然出来,用的是mesh.vertices的下标.


e6e6a39ee1a9c9a687124b49987c5b48.png

mesh.triangles = new int[] 
{
	0, 1, 2
};

那么此时此刻,我们直接运行,将会看到unity中渲染出来的额三角形.如果你渲染出来的三角形是紫色的,那么是没有贴上材质球,新建一个材质球,加入Procedural Mesh上,即可.

如果仍然没有看到,不妨转动场景,也许你正在面片的反方向.



e6e6a39ee1a9c9a687124b49987c5b48.png

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。