基于U3d地形系统的3D曲面的趋近生成方法及系统与流程

文档序号:12064836阅读:274来源:国知局

本发明属于U3d领域,尤其是涉及一种基于U3d地形系统的3D曲面的趋近生成方法。



背景技术:

unity3D动态生成地形Terrain这个技术是现有技术,需要一个HeightMap,也就是高程图,提供地图的高差、高程数据,给地形赋以不同的贴图(可多个,可以控制参数,如平坦的时候,用哪个贴图,陡峭的时候用哪个贴图,并且可以混合Blender,例如,陡峭的用多岩石的贴图,平坦时,用绿地的贴图),当手动创建地形的时候,其高程也可以通过自带的brush刷取实现,即以交互的方式;当然用程序自动生成的时候,需要提供高程图。大多时候高程图HeightMap,其实是一个grayScale的灰度文件,亮白的部分表示高程最高,灰暗的部分代表高程越低。

但是,unity3D自带地形系统创建的曲面地形时,仿真效果不佳。因为,3D曲面体量非常巨大,不可能把一片地形数据以曲面的形式记录下来,数据量巨大,而且很低效,即便记录下来,多部分为冗余的无用数据,运用该数据进行地形模拟重建,效率低,精度也不高。



技术实现要素:

有鉴于此,本发明旨在提出一种基于U3d地形系统的3D曲面的趋近生成方法及系统,以提高3D曲面的仿真效果。

为达到上述目的,本发明的一个技术方案是这样实现的:

基于U3d地形系统的3D曲面的趋近生成方法,包括如下内容:

对将创建的3D曲面的多个变形控制点的二维点坐标(x,z)进行3D点到面的趋近算法处理,得到一个多层级的B-样条曲线趋近的Y轴高度坐标;

在利用unity3D自动生成地形模型时,将Y轴高度坐标作为高程数据进行调用,构建3D曲面地形。

优选的,所述3D点到面的趋近算法为齐次3阶B-Spline趋近算法。

相对于现有技术,本发明具有以下优势:

(1)本发明方法有效提高了3D曲面的仿真效果;

(2)本发明方法原理简单,容易实现。

本发明另一个技术方案:

基于U3d地形系统的3D曲面的趋近生成系统,包括如下内容:

趋近算法模块,用于对将创建的3D曲面的多个变形控制点的二维点坐标(x,z)进行3D点到面的趋近算法处理,得到一个多层级的B-样条曲线趋近的Y轴高度坐标;

地形构建模块,用于在利用unity3D自动生成地形模型时,将Y轴高度坐标作为高程数据进行调用,构建3D曲面地形。

此系统与上述方法的有益效果一致,不在赘述。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例曲面。

具体实施方式

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

下面将参考附图并结合实施例来详细说明本发明。

一种基于U3d地形系统的3D曲面的趋近生成方法,包括如下内容:

对将创建的3D曲面的多个变形控制点的二维点坐标(x,z)进行3D点到面的趋近算法处理,得到一个多层级的B-样条曲线趋近的Y轴高度坐标,所述3D点到面的趋近算法为齐次3阶B-Spline趋近算法(uniform cubic B-Spline Approximation Function),此算法属于公知常数,不在详述;

在利用unity3D自动生成地形模型时,将Y轴高度坐标作为高程数据进行调用,构建3D曲面地形。

本发明不以固定的高程图提供高程数据,而是以一个3D点到面的一个趋近生成算法:

H(y)=F(x,z)

即趋近算法,当构建地形的程序请求高程数据的时候,其提供一个平面的二维点坐标(x,z),算法返回一个多层级的B-样条曲线趋近算法的一个Y轴高度坐标,n阶B-样条曲线就是一个以若干knot(结点)分隔的由多段组成的连续曲线。Unity3D以Y轴为Up,平面的2个轴分别为X,Z轴。

原理算法的程序实现:

//Value of k-th B-Spline basic function at t,BSpline(B-样条曲线)的一个定义函数.k就是knot的索引值,也就是k0表示B-SPline的第一段,以此类推,t就是范围参数(X轴的值),本例即为0-1,t也就是[0-1)的一个值,用以确定Y轴的值;

本发明方法的核心是点到面的趋近算法,如图1上的几个点即为几个关键的曲面变形的控制点,因为曲面不复杂,大多只有几个变形的控制点,其他的基本是平滑的曲面,用控制点进行数据记录和地形重建则是非常高效、理智的选择。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1