基于Unity 3D的桥梁VR仿真设计

2019-10-09 11:44王瑜晨
中国新技术新产品 2019年1期
关键词:溪河漫游虚拟现实

王瑜晨

摘 要:虚拟现实(Virtual Reality, VR)具有很好的沉浸感、交互性和自由性,该文以安徽省宣城市宛溪河大桥为例,提出一种基于Unity 3D并使用C#语言开发的VR仿真设计模式,该模式基于三维建模、模型优化、模型及场景加载、人机交互和运动等进行仿真设计,结果表明该方法可以有效提高工程前期施工方案决策效率,同时对桥梁施工过程中的远程监控具有一定的辅助作用。

关键词:桥梁工程;Unity 3D;虚拟漫游;实时渲染

中图分类号:TP391.9      文献标志码:A

0 引言

虚拟现实(Virtual Reality, VR)在航空航天、机械制造、医学、文化旅游等行业迅猛发展,其中虚拟漫游是VR的一个重要应用方向,其实现了三维景观的数字化和虚拟化,并将真实的场景显示在屏幕上。与传统的视频动画不同,虚拟漫游更具有沉浸感、交互性和自由性。

该文以宣城市宛溪河矮塔斜拉桥为例,设计了包括桥梁主体以及周围城市、水域景观一体化的三维VR仿真场景,将桥梁工程与虚拟现实技术结合起来,打破了桥梁施工在方案比选方面的诸多限制,最终实现桥梁施工方案的高效比选。

1 桥梁主体及周围景观建模和优化处理

该文研究的是基于Unity 3D平台开发的VR仿真系统,Unity 3D在模型构建方面仅具备基础的建模功能,无法构造桥梁等复杂模型,无法反映桥梁内部真实构造情况,因此运用工业建模软件Maya进行模型制作,但由于其文件格式与Unity 3D引擎不兼容,因此须再使用工程级建模软件3Ds Max对模型进行材质渲染,提高模型真实性,并将模型文件转化为.FBX格式,以供Unity 3D环境使用,具体流程如图1所示。

为实现虚拟现实仿真设计在Unity 3D环境下,能够最真实地反映桥梁建成后的结构状态以及其与周围城市、水域景观融合状态,该设计根据《宣城市宛溪河矮塔斜拉桥设计》里的斜拉桥真实施工尺寸及实际施工节段进行三维建模,模型主要有宛溪河大桥主体结构、周围城市水域景观2个部分,各部分模型结构如图2所示。

为了呈现最真实的场景效果、提高建模的精细度、减少模型材质之间的干扰,要将桥梁主体结构与周围环境景观分开建模,同时为了保证桥梁各部分结构尺寸的精确,采用Auto CAD构建桥梁各部分的详细结构尺寸,辅助3Ds Max优化模型。

2 模型及场景加载

将前期制作的大桥和景观2个部分模型在3Ds Max中导出.FBX格式,并将该文件导入Unity 3D中,将导入模型的坐标与Unity 3D环境坐标系进行关联,完成模型加载。为了使场景更具有真实感,需要添加光源,使物体出现阴影、反射等真实现象。该虚拟现实系统使用平行光源,并对主摄像机添置天空盒子,宛溪河大桥场景效果如图3所示。

3 人机交互设计开发

人机交互设计以及虚拟漫游的实现,需要对其进行程序设计。Unity 3D支持使用C#、Java和Boo这3种语言的编程,均是基于.NET平台开发运行。该文采用C#语言进行程序设计,并使用引擎自带的MonoDevelop进行程序设计,人机交互界面采用Unity 3D自带的插件NGUI开发。为保证虚拟漫游的顺利进行,使用C#语言进行漫游动作程序编写。为更好地构建漫游桥梁各部分结构,使用鼠标确定摄像机位置。

start_qua = transform.rotation;start_pos= transform.position  //记录摄像机初始位置

mousePos2 = Input.mousePosition //记录鼠标实时移动的位置

if (Mathf.Abs(offset.x) > Mathf.Abs(offset.y)) //比较坐标值,区分上下与左右位置

transform.RotateAround  //调节摄像机漫游角度

为保证第一视角漫游时的真实体验感,桥体结构模型添加了碰撞检测功能。加载过模型后将全部模型建立Mesh,并将单个模型单元赋予Mesh Collider,调节碰撞参数。当依靠鼠标移动第一视角时,摄像机达到桥体结构表面时即会触发碰撞机制,令其无法向模型内部移动。

4 运动仿真

为了实现虚拟景观中水流的运动仿真,采用C#语言对河道模型进行了材质调节,使河道具有真实的流动以及反光效果。如图4所示是宛溪河河道模型材质处理参数。运用C#编写4个部分程序代码:水流材质、水面光影、鏡像反光、水波变化。对上述四部分程序进行参数适配,最终获得最接近真实水面反应的河道水流效果。

为真实仿真外界光线变化,对添加的平行光影编写运动程序,保证在适当的漫游过程能较完整的体验光照变换的景观效果,经过反复测试最终确定设置3 min为一个光影换周期。

5 结语

该文主要对宣城市宛溪河大桥进行了虚拟现实技术的研究设计,在Maya中进行三维建模,在3Ds Max中进行模型优化,实现了基于Unity 3D引擎、使用C#语言开发的虚拟现实场景设计,可以在不同画面层次获得很好的临场感。

通常情况下,桥梁施工不仅周期长而且还极其复杂,其中施工方案一般还需要作多次展示和修改,总体上缺乏临场感,该文提供的方法可以很好地解决这个难题。因此,该文提供的方法对桥梁工程前期方案比选以及桥梁施工过程的远程监控有着重要的研究意义。

参考文献

[1]朱惠娟.基于Unity3D的虚拟漫游系统[J].计算机系统应用,2012,21(10):36-39.

[2]高国雪,高辉,焦向东,等.基于Unity3D的焊接机器人虚拟现实仿真技术研究[J].组合机床与自动化加工技术,2018(3):19-22.

[3]汪学著,孙凤佳.宣城市宛溪河矮塔斜拉桥设计[J].世界桥梁, 2012,40(1):11-13.

[4]C Helbig,H S Bauer,K Rink,et al.Concept and workflow for 3D visualization of atmospheric data in a virtual reality environment for analytical approaches[J].Environmental Earth Sciences,2014,72(10):3767-3780.

[5]A Okita.Learning C# progra mming with Unity 3D[J].English Journal,2014(1):249-267.

[6]周信文,俎晓芳,罗津,等.基于Unity3D的地铁三维虚拟漫游设计[J].计算机系统应用,2018,27(3):258-262.

[7]张煜,陈天星,陈力,等.基于Unity3D的计算机虚拟试衣测量系统设计与实现[J].计算机测量与控制,2018(2):44-47.

猜你喜欢
溪河漫游虚拟现实
REALITY BITES
NASA漫游记
虚拟现实技术向科幻小说借灵感
美丽的泗溪河
美丽的泗溪河
浅谈虚拟现实
宛溪河矮塔斜拉桥索塔鞍座区应力分析
边走边看:漫游海底 梦想成真