| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Unity 代码动态生成模型 -> 正文阅读 |
|
[游戏开发]Unity 代码动态生成模型 |
网格由 3D 空间中排列的三角形组成,旨在产生实体对象的效果。三角形由其拐点或者顶点定义。在 Mesh 类中,顶点全部存储在单个数组中,并且每个三角形使用与顶点数组的索引对应的三个整数指定。这些三角形还将全部集合在一个整数数组中;从该数组的开头以三个为一组的方式解读数组中的整数,因此元素 0、1 和 2 定义第一个三角形,3、4 和 5 定义第二个三角形,依此类推。 Mesh类是对象网格几何体的基本脚本接口。该类使用数组来表示三角形、顶点位置、法线和纹理坐标,还提供了许多其他有用的属性和函数来辅助网格的生成。 Mesh 对象具有顶点及其关联数据(法线和 UV 坐标)的属性以及三角形数据的属性。顶点可按任何顺序提供,但是法线和 UV 的数组必须经过排序,使索引全部对应于顶点(即,法线数组的元素 0 提供顶点 0 的法线,依此类推)。顶点为?Vector3,表示对象局部空间中的点。法线为经过标准化的 Vector3,表示方向,同样位于局部坐标中。UV 指定为?Vector3,但由于 Vector2 类型没有名为 U 和 V 的字段,因此必须在脑海中将它们分别转换为 X 和 Y。 三角形指定为整数三元组,作为顶点数组的索引。该数组只是一个简单的整数索引列表,并不会使用特殊的类来表示三角形。它们针对每个三角形以三个为一组,因此前三个元素定义第一个三角形,接下来的三个定义第二个三角形,依此类推。三角形的一个重要细节是角顶点的排序问题。它们的排列应符合以下要求:当向下观看三角形的可见外表面时,角应顺时针转动,但从哪个角开始并不重要。 创建四边形顶点数组首先需要设置形状使用的顶点数组。 以下示例假定四边形位于 x 轴和 y 轴上,并且脚本中包含变量 width 和 height。 此示例按以下顺序提供顶点: 左下角、 右下角、 左上角、 右上角
三角形接下来需要设置三角形。一个四边形由两个三角形组成,每个三角形由先前创建的顶点数组中的三个点组成。要指定这些点,请将每个三角形定义为顶点数组的三个索引。例如,此四边形的左下方三角形使用索引 0、2 和 1,对应于顶点数组中的坐标 (0, 0, 0)、(0, height, 0) 和 (width, 0, 0)。顺序很重要,因为必须按顺时针对角进行排序。右上方的三角形使用索引 2、3 和 1。
法线在场景中可以看到带有顶点和三角形的网格,但是 Unity 尚未对网格正确着色,因为这个网格还没有法线。此示例的法线很简单,因为这些法线都是相同的。每条法线均指向四边形本地空间中的负 z 轴方向。添加法线时,Unity 会正确对四边形着色,但是您需要在场景中有光源才能看到效果。 如果不想自己定义法线,则可以使用? ?mesh.RecalculateNormals();
纹理坐标最后,要正确显示网格的材质上的纹理,请向网格添加纹理坐标。纹理坐标在 0 到 1 之间。网格中的每个顶点都有一个纹理坐标,用于指定材质的纹理上要采样的位置。要显示四边形上的整个纹理,每个顶点上的纹理坐标值都应全部为 0 或 1,以便四边形的每个角都对应于纹理的角。
最终的脚本
立方块Mesh立方块和面是同理的。
CreatePrimitive实际上在unity中是可以动态生成,unity中基础的模型的
这样就可以生成一个方块。还可以生成一下几种形状,只要改变枚举就可以。
? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 23:47:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |