查看: 896|回复: 0
打印 上一主题 下一主题

[其他] Unity3D技术之用程序生成网格几何体-使用网格类浅析

[复制链接]

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38266
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2015-1-31 23:19:59 |只看该作者 |倒序浏览

使用网格类

网格 (Mesh) 类是对象网格几何体的基本脚本界面。它用数组来表示顶点、三角形、法线和纹理坐标,还提供了大量其他有用属性和功能来协助网格生成。


访问对象的网格

网格数据通过使用网格过滤器 (Mesh Filter) 组件来附加到对象上(对象还需要网格渲染器 (Mesh Renderer) 来显示几何体)。使用熟悉的 GetComponent 函数来访问该组件:

  1. var mf:MeshFilter = GetComponent(MeshFilter);// Use mf.mesh to refer to the mesh itself.
复制代码
添加网格数据

网格 (Mesh) 对象拥有顶点及其相关数据(法线和 UV 坐标)和三角形数据的属性。顶点可以任何顺序提供,但法线和 UV 数组必须有序,这样索引均与顶点对应(即法线数组的元素 0 提供顶点 0 的法线,等等)。顶点为 Vector3,代表对象局部空间的点。法线为标准化 Vector3,再一次在本地坐标中代表方向。UV 指定为 Vector2,但由于 Vector2 类型没有称为 U 和 V 的字段,您必须在心里将它们分别转换为 X 和 Y。


三角形指定为在顶点数组中充当索引的整数三元组。数组不使用特殊类来表示三角形,而只是一个简单的整数指数列表。每个三角形都是以三个为一组,因此,前三个元素定义第一个三角形,后面三个元素定义第二个三角形,并以此类推。


三角形的一个重要细节是拐角处顶点的顺序。尽管从哪个拐角开始并不重要,但顶点应予以排序,这样当俯视三角形的可见外表面时,各个拐角会按顺时针转动。


分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-14 13:41 , Processed in 0.082172 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部