| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 关于Unity3D动态生成连续性网格几何体总结【第二部分】 -> 正文阅读 |
|
[游戏开发]关于Unity3D动态生成连续性网格几何体总结【第二部分】 |
关于Unity3D动态生成连续性网格几何体总结【第二部分】(算法篇)提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 关于Unity3D动态生成连续性网格几何体总结【第二部分】前言书接上回,第一部分阐述动态生成连续性模型的具体样例,以及生成模型的具体模板数据结构体和相关基础概念。本篇第二部分将会着重讲解动态生成连续性网格的具体逻辑与相关算法内容。本篇可以再第一部分的基础上,动态生成连续性网格,但是由于本篇没有涉及路径的平滑算法内容,因此最终呈现的相关效果会有折扣。但是缺失的部分,我会再后续内容慢慢补全。 一、路径点的构成一组路径点集合是构成生成连续性网格的必要条件。它需要由空间中一组连续的点构成,且点与点之间,只有一对一的连接关系。 二、路径生成算法1.路径点集合细分为了保证路径点之间细节更丰富,且保证路径点线之间更加平顺的过渡,我们将会对路径点进行进一步的细分操作。 如图所示,我们将会从左往右为点进行排序,图中红色竖线代表路径节点,红色节点之间的黑色连线,就是路径,而路径节点之间的绿色小竖线就是我们具体细分节点。图中草图示例总共有5个主节点,每个节点之间总共有3个细分节点。原本5个节点的路径,通过一路细分以后,总共节点数量变成了17个节点(细分粒度*细分路径数+主节点数),即 3 * 4 + 5。当然具体细分粒度要根据使用情况与表现细节来确定, 2.路径与模型模板结合现在我们再说有的路径节点以及细分节点处放置上模型模板,这样整体上就会出现由模型模板构成的连续整体模型。但是这样的模型确实不完整且没有关联的,因此我们还需要通过固定的算法,把路径节点处与细分节点处的模型模板关联起来。那么问题来了,该怎样进行关联呢。还记得我们在该系列第一部分的时候,我们对已经存在的模型模板文件进行进一步排序么,把无序的定点顺序,组合成有一定规律的定点顺序么。目的就是在关联模型模板文件而使用。 如图所示,模板之间需要重新构建三角面,图中使用的模型模板总共43个顶点。那假设我们路径上总共有两个节点即总共有两个模型模板。按照顶点顺序排序的话,第一个模型模板的顶点顺序区间为0-43,那么第二模型模板的顶点顺序区间为43-86。并且unity是采用的左手坐标系,假设我们要构建顶点序号为5、6、49的三角面,那么按照三角面的构建顺序应该为5-6-49。到这里我们模型模板之间的连接就构建完成了。
构件路径Mesh网格的顶点位置:
构建Mesh网格的三角形:
到此为止整个路径模型的网格就可以自动生成啦!但是有一个小细节很容易被忽视,那就是整个路径模型的前后横截面模型怎么办呢?很简单,下面就简绍如何生成构成横截面模型。 3.生成路径模型的截面截面模型有几个问题需要提前解决,第一如果把截面模型与路径生成主模型归成一个mesh网格的话,他们的UV值与贴图都会相互影响。第二如果把截面模型单独生成一个mesh网格的话,又不方便网格的位置与旋转变化。那么经过苦苦思索与查找资料以后,终于寻找到一个完美的方案,那就是使用Mesh网格的子网格SubMesh功能。
下面是生成截面模型的代码:
下面是子网格的顶点与三角面的构建主要方法:
总结那么本篇的主要内容就已经完成了,连续性网格的主要生成算法与技巧,在这里就已经完结了,下一个部分,我们将简绍如何生成动态模型的UV与法线信息以及材质相关联的内容。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 | -2025/2/5 20:12:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |