一种基于实景的仿真场景构建方法与流程

文档序号:13513964阅读:5020来源:国知局
一种基于实景的仿真场景构建方法与流程

本发明涉及一种基于实景的仿真场景构建方法。



背景技术:

当前市面主流的仿真场景展示采用3dmax/sketchup搭建,为客户提供2d渲染图和3d渲染动画。目前主要存在以下缺点:1、现有技术方案对实景中存在的天空、草坪、树木、水面等不规则物体,因其模型面数大,在场景展示中多被舍弃,导致仿真场景真实感不强;2、现有技术能够提供高质量的场景渲染图,但受软件限制,客户只能查看预设角度的场景,而不能自主地、身临其境地在场景中漫游;3、现有技术方案对实景地形支持不好,构建一个与真实世界1∶1的仿真场景,建筑物的比例、摆放位置和高度,树木、草坪等设置,都需高分辨率的地形支撑;4.现有技术方案缺乏对场景的优化,实际运行过程中资源占有率高。



技术实现要素:

本发明的目的是,针对现有技术存在的上述问题,提供一种画面质量好,资源占用可控,并且实现在场景中自主漫游功能的仿真场景构建方法。

本发明解决其技术问题的技术方案是:一种基于实景的仿真场景构建方法,步骤如下:

第一步,在3dmax和sketchup中创建模型,将建好的所述模型导入unity3d平台中;

第二步,构建地形地表和植物模型:

方法一:首先确定需要仿真场区四顶点的坐标,利用坐标将所在地区的astgtm高程图生产场区高程图,将场区高程图生成raw格式地形图,然后将raw地形图在unity3d中生成网格mesh,最后渲染生成高精度场区地形;

方法二:首先确定需要仿真场区的四顶点的坐标,将场区所在地区高清卫星影像进行切割、拼接,生成场区卫星影像图,最后最后渲染生成高精度场区地形;

在上述构建的高精度场区地形中,根据地形纹理添加树木、花草;

第三步,根据高精度场区地形的纹理和建筑物的实际位置添加建筑物模型,根据实际情况更改建筑物模型的高度;

第四步,根据仿真场景构建的需求设置光源和阴影;

第五步,完成仿真场景构建。

优选的,所述仿真场区四顶点坐标是采用“墨卡托投影”坐标系统确定的。

优选的,设置所述光源和阴影包括设置光源类型、光源颜色、光源强度和阴影类型;所述光源类型包括方向光、点光源,聚光灯,区域光。

优选的,对所述仿真场景进行优化,具体包括:

建模复杂度:通过合并网格和调整构网格的材质,提高渲染帧数;

层次细节:建立一个高清晰度网格和一个低清晰度网格,根据视点距离变化呈现不同细节;

可见性判断:进行视锥体剔除和遮挡剔除。

优选的,每个所述网格有1500-4000个三角面。

优选的,所述材质为同种材质。

本发明公开了一种双柱举升机及包含其的多功能维修车;它与现有技术相比,能实现仿真场景中的实时漫游;用户可以自定义视点,设定高度、速度、角度等参数,在场景中漫游;由于采取了真实地形、树木、道路、导入的设备模型、建筑模型都严格按照现实比例制作,使得仿真场景对实景的还原度较高;对场景优化较好,尽管采用高画质的场景,但在项目中运行帧数控制在40fbs以上,资源占有率可控。

附图说明

图1是某型号雷达三维模型正视图。

图2是图1细节展示图。

图3是四点坐标计算示意图。

图4是构建地形地表生产流程图。

图5是三维高清地形图。

图6是最终效果图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图对本发明进一步详细说明。

本技术方案采用在3dmax和sketchup中建模后,导入至unity3d平台,利用unity3d平台完成地形、地表、天空、灯光、道路、草木的实现,最终生成一个基于实景的仿真场景。

以某航天任务实时可视化仿真系统中的某场区为实例介绍仿真系统的构建方法。

1、某型号试验设备的建模

图1至图2所示为某型号雷达三维模型正视图和细节展示图,按照项目雷达三维模型能够在水平、俯仰两个方向转动,项目演示中需要展示天线细节。根据任务书要求,参考某型号试验设备技术图册,标定天线尺寸、比例及坐标轴。

2、地形地表的构建

unity3d中的地形基本单位是网格mesh。网格mesh的形状由顶点数组vertices确定,其中每个顶点vertice均是一个三维向量,指明该顶点在地心坐标系中的坐标(x、y、z),三个以上的顶点并依赖其在数组中的相对位置构成不同形状的网格。

本技术方案采用“墨卡托投影”坐标系统。墨卡托投影又名“等角正轴圆柱投影”,将地球转化为正方形平面,并且保证经线(东西)、纬线(南北)都是平行直线,且相互垂直。

如图3所示,场区在墨卡托投影平面中为一正方形,设c点坐标为(ec,nc),两点间的经纬度差为x,则四点坐标可表示为:

a点:(ec,nc+x)

b点:(ec+x,nc+x)

c点:(ec,nc)

d点:(ec+x,nc)

利用上述计算公式得出的a、b、c、d四点坐标。

如图4至图5所示,在globalmapper软件导入该地区astgtm高程图中创建dem数据,再根据该dem数据生成raw格式的地形图。利用a、b、c、d四点坐标,还可以将下载的卫星高清影像根据经纬度进行切割、拼接,生成场区的卫星影像图。最后,在unity中导入raw格式的地形图和场区卫星影像图,生成三维高清地形。

unity中可以将树木、花草等植物模型以“笔刷”的形式在场景中创建,这给场区建立增添了很大方便。根据上一步骤中添加的地形纹理添加树木、草地。

3、添加建筑物模型:

建筑物模型必须根据地面纹理建筑物的实际位置添加的。与树木、草地的添加步骤不一样的是,建筑物不能自动依附在地面,必须根据地形起伏更改各模型的实际高度。

4、光源及阴影设置

unity中提供四种光源:

directionallight:方向光,类似于太阳光日照效果。

pointlight:点光源,类似蜡烛。

spotlight:聚光灯,类似手电筒。

arealight:区域光。

设置的属性包括:type(光源类型)、color(光源颜色)、instensity(光源强度)、shadowtype(阴影类型)。根据项目需求,选择了directionallight(方向光),并根据实际场景设置了相关参数。

5、场景优化

项目对场景要求是:设备高精度,细节逼真,一定视觉特效,运行过程中,场景实际帧数不低于30。根据要求,从以下三方面对场景进行优化处理:

建模复杂度:

根据unity提供的技术文档,大约每1500-4000个三角面一个网格,优化渲染性能最合适。要提高渲染性能,最好把对象合并在一起,使每个网格有1500左右或更多的三角面,并且整个网格仅仅使用一个材质。通过合并网格和调整材质后,渲染帧数有一定提升。

层次细节:

场景中的草木、岩石是静态细节层次模型。建立一个高清晰度网格和一个低分辨率网格。两者有相同的材质。设置视点变化距离,根据视点距离变化呈现不同细节。

可见性判断:

在unity中可以使用“剔除”技术。剔除技术也就是所谓的作可见性判断,包括视锥体剔除和遮挡剔除。unity通过摄像机控制渲染区域。渲染区域也被称为“视锥体”。在作可见性判断时,unity首先排除视锥体之外的物体,然后,判断一个物体有无被其他物体遮挡。最后将在视锥体内且没被遮挡的物体送至gpu渲染。

unity使用遮挡剔除的关键在于需要在物体大小和单元格大小间取得良好平衡,在正确设置单元格大小作渲染处理后,渲染帧数有进一步提升。

6、最终效果

图6所示为中是该航天任务实时可视化仿真系统中的某场区显示效果图。场景中载入了雷达模型、机房模型、天空模型、周边地形和影像数据等。从视觉和性能都达到了比较理想的效果。

所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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