基于Unity3D+BIM的航道三维场景构建关键技术研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

近年来BIM 技术在航道领域逐步推广应用,航道整治工程也初步实现设计、施工和维护全过程的BIM 技术应用。

BIM 成果的展现要求三维渲染效果更加逼真、精美,而采用传统方式进行三维场景渲染耗时长、成片后不易修改编辑;采用GIS 平台则三维效果不理想,因此,需要引入具有实时渲染、场景精美的三维展示平台。

Unity 是一个集游戏开发、实时三维动画创建、建筑可视化等功能的跨平台的开发工具,因其具有三维场景渲染效果酷炫、跨平台移植能力强大等优势被广泛应用于游戏开发、3D 影视制作、工程BIM 模型整合展示等领域。

研究BIM 与Unity3D 结合及三维场景构建关键技术,符合航道BIM 技术发展应用要求。

航道三维场景中以河床地形、航道整治建筑物和水体为核心内容。

本文重点研究上述核心内容在Unity3D 中的整合渲染实现技术,并依托实际航道工程开发实现精美场景的构建。

1地形曲面生成
1.1地形导入
Unity3D 有一套功能强大的地形编辑器,支持以笔刷方式绘制山脉、峡谷、平原、盆地等虚拟地形,同时也支持导入Raw 格式的外部真实地形高度图。

由于航道场景中所构建的地形都是真实地形,以Tiff 、Image 等常见地理地形格式为主,因此,首先需要解决地形导入生成技术。

地形处理导入流程如图1所示。

图1Unity3D 真实地形高程图生成处理流程
DOI 编码:10.19412/ki.42-1395/u.2020.02.009
基于Unity3D+BIM 的航道三维场景构建
关键技术研究
【摘要】本文提出了在Unity3D 平台下解决航道地形曲面生成、航道BIM 模型整合、水面渲染等关键问题的技术方案,并结合实际工程进行了开发验证,实现了精美航道三维场景的构建。

【关键词】Unity3D ;BIM ;地形;水面渲染【中图分类号】TP391
文献标识码:A
文章编号:1006-7973(2020)02-0046-04
宋成果
余青容
顾粲
(长江航道规划设计研究院湖北武汉430040

1.2地形生成
三维地形生成方法采用在3D 引擎中广泛应用的四叉树算法。

四叉树算法分级分块如图2所示。

图2四叉树算法分级分块示意图
四叉树算法的基本思想是:首先把一副图像或栅格地图等分成四个一级字块,顺序为左上,右上,左下,右下;然后逐块检查其中所有格网的属性值(或灰度值),若相同,则该字块不再分;若不同,则将该子块进一步分成四个二级子块;如此递归地分割,直到每个子块的属性或灰度均相等为止。

为了避免四叉树算法实现的地形出现裂缝,采取加点法进行处理,即:在较低分辨率的分块边界上新增一些顶点,确保两个分块顶点保持连续。

1.3地形高程分析
Unity3D 中地形高程配色效果通过Shader 着色器和代码进行控制,实现了地形高程在5个梯度色内平滑过渡,并可自由配置颜色和对应高度百分比。

地形高程着色后的地形即配色功能界面如图3
所示。

图3地形生成效果及高程配色功能界面图
2航道BIM 模型整合
航道BIM 模型内容包括整治工程建筑物(如筑坝、护岸、护滩、护底等)、航标(浮标和岸标)、码头、桥梁等。

BIM 模型的创建一般依托Autodesk 平台进行设计,如Civil3D 、Revit 等设计软件。

Unity3D 支持市场上常见的模型格式,包括.3ds 、.fbx 、.dxf 、.maxl.、dae 、.obj 等。

为了提升BIM 模型导入Unity3D 的效率和准确性,航道模型首先在Autodesk 的GIS 平台Infrawoks 中整合,统一坐标、尺寸、纹理后再导出Unity3D 支持的.fbx 格式。

模型格式转换流程如图4所示。

图4建筑物3D
模型格式转换流程
模型导入Unity3D过程中,还应注意模型比例尺和坐标的调整。

(1)模型比例尺
Untiy3D的默认系统单位是“m”,而设计软件默认单位一般是“mm”,因此导入的模型空间比例尺应按比例进行缩放,一般为0.001。

(2)模型坐标
Untiy3D是左手坐标系,而一般设计软件(如3D Studio Max)采用的是右手坐标系,因此,导出前应调整模型坐标方向。

航道BIM模型在Untiy3D中整合后的效果如图5所示。

图5航道整治建筑物BIM模型整合效果图
3水面渲染
航道三维场景中水面占比大,对三维效果影响较大,需重点提升水面反射、折射渲染效果。

3.1反射
反射纹理按反射定律处理。

对于景物完全处于水面以上的,将整个景物镜像渲染即可;对于景物部分在水面以上、部分在水面以下的,在整个景物镜像处理后,剔除水面以上的镜像,剩余部分则需要渲染反射纹理。

水面反射纹理处理如图6所示。

图6水面反射纹理处理示意图
水面以上镜像剔除方法采用Unity3D引擎提供的附加裁减平面和ClipPlane函数实现,其中裁剪平面通过方程式控制,式中A、B、C、D是平面控制的四个唯一系数。

3.2折射
光线折射需要获取物体折射后的缩放系数k,其作用是将场景模型在竖直方向上以水面为基准进行k倍缩放以模拟折射效果。

缩放后的场景再用附加裁减平面将水面以上部分裁减,即可获得折射场景并进行折射纹理渲染。

根据光线折射原理,可得:
----AB⋅tgθ
I=----A′B⋅tgθT
式中:----AB是水下A点法向至水面点B的长度,θI 是入射角,--
--A′B是A点折射后视点A′
法向至水面点
B 的长度,
θT 是折射角。

按照该公式,考虑折射系数ηI (入射光所在介质折射系数)、ηT (折射光所在介质折射系数),则可
计算得折射系数k 。

k =----A ′B ----AB =cos θT cos θI ⋅η
T η
I 折射处理中,不同介质的折射系数不同,常见
介质的折射系数如表1所示。

表1
常见介质折射系数
Unity3D 场景中,水面处理效果如图7所示。

图7航道三维场景中水面处理效果图
4结论
应用航道地形、
BIM 模型、水面在Unity3D 中生成、整合和渲染技术方案,构建的航道三维场景达到了BIM 模型与地形贴合、纹理与设计一致、水面反射折射合理等效果,三维场景更真实精美,可广泛应用于航道工程设计的汇报、宣传和展览。

但与GIS 平台能存储大数据量不同,Unity3D 无法加载超长河段三维模型数据,若要大规模应用,可考虑分水道独立集成。

国家重点研发计划项目:内河航道设施智能化监测预警与信息服务(2018YFB1600400)【参考文献】
[1]董思远,范海文,张金刚.BIM 技术在内河航道工
程中的应用[J].水运工程,2019(11):127-132.[2]赵晓松.基于Untiy3D 的可视化虚拟仿真实验平台的设计与开发[D].西安:西安电子科技大学,2017.
[3]王鹏,杨建东.BIM 技术在新九河段航道整治二期工程设计中的应用[J].水运工程,2018(9):21-24+32.
[4]郭涛.BIM 技术在航道建设中的作用[J].水运工程,2018(12):21-25.
[5]Jian Mei Ma.The Design and Realization of 3D Virtual Campus[J].Applied Mechanics and Materi⁃als,2014,3560(667).【收稿日期】2020-03-28
【作者简介】宋成果(1988-),男,工程师,主要从事
航道信息化研究方面的工作。

介质真空空气水玻璃
折射系数1.01.00031.3331.5。

相关文档
最新文档