APP下载

基于VR 的水模拟水灾害教学实验平台研究*

2022-09-17李智星王俊珲王昕泽

科技与创新 2022年18期
关键词:教学实验实景灾害

王 峰,李智星,王俊珲,王昕泽

(1.水利水电国家级实验教学示范中心(西安理工大学),陕西 西安 710048;2.西安理工大学水利水电学院,陕西 西安 710048)

虚拟现实技术(VR)已进入一个全新的实景仿真应用时代[1]。利用虚拟现实技术开发虚拟仿真教学实验平台,可突破教学实验场地和课程安排限制,是很好的辅助和补充[2]。水利专业教学中的极端水力学现象和水灾害演进都较难以用传统实验方法模拟,且大型水利仪器设备和实验模型存在构造复杂、占用专用场地、价格昂贵、涉水涉电等问题,一定程度上制约了教学实验的灵活性和实效性,影响了学生实验实践和创新能力培养。将虚拟现实技术独有的展示特效、交互性能与水文水动力理论知识、洪水灾害演进机理相结合,将成为水利专业教学教具开发、教学科研实验发展的重要方向。

1 虚拟现实技术

虚拟现实技术是一种可创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合、交互式的三维动态视景和实体行为的系统仿真,并使用户沉浸到这一环境中[3]。虚拟现实具有交互性、沉浸性和构想性3 大特点[4]。通过三维建模和编程开发搭建模拟场景,让用户借助必要装备与虚拟环境进行交互,相互影响,增强了用户对虚拟场景所对应真实场景的感受和体验。

2 水模拟水灾害VR 教学实验平台设计

本文依托所承担的项目课题,以高校水利专业课程教学实验和科普为需求牵引,研究开发水模拟水灾害VR 教学实验平台,解决复杂恶劣天气和地理环境下极端水力学现象、水灾害用传统教具、实验手段难以表达的问题,提高水模拟水灾害教学实验成效。Unity3D 是支持多平台的综合型游戏开发工具和全面整合的专业游戏引擎,可提供丰富的物理特效,有大量第三方插件支撑,采用事件函数驱动机制。采用Unity3D 开发虚拟实验项目,可实现高效率的开发与部署。因此,本文采用Unity3D 设计开发水模拟水灾害VR 教学实验平台。

2.1 设计思路

本文研究的水模拟水灾害认知情景环境为城市城区、河道沟谷及其邻近区域的复杂地理场景,并配套雷闪、狂风、暴雨等恶劣天气环境。配备VR 头盔、手柄等沉浸式虚拟现实设备以及计算机图形工作站、PC 电脑等搭建教学实验VR 体验硬件平台。开发技术方案是通过3DMax 软件、倾斜摄影测量三维建模途径获取三维实景模型,利用Unity3D 软件和C#语言编写开发水模拟水灾害虚拟仿真场景特效、人机互动、消息反馈功能,场景特效、交互功能等。平台设计流程如图1所示。

图1 设计思路

获取水模拟水灾害典型情景区域地理空间相关数据。典型区域主要有2 类,一类是城市易形成暴雨内涝区域,如低洼处、道路桥隧、下穿通道等;另一类是河道水库洪水发生区域,如河流河道、水库库区及大坝下游区域。在项目开发中针对选定区域需事先准备该区域及其周边高精度数字高程数据,以及居住、工矿、交通、植被等土地利用信息。

典型情景区域三维实景模型建立。本文通过2 种途径建立三维实景模型,一种是基于区域空间地图(如GIS、CAD)、实景照片等数据,采用3DMax、Photoshop等软件进行三维实景建模;另一种是基于无人机倾斜摄影测量数据,采用Pixel4D、Smart3D 等后处理软件生成高精度倾斜摄影实景三维模型。将获取的三维实景模型导入到Unity3D 中,初步建立VR 虚拟现实场景。

VR 场景交互设计与开发。按照水模拟水灾害教学实验内容和设计脚本,在Unity3D 中采用C#脚本语言完成虚拟仿真场景特效、交互设计、功能开发、数据响应等编程开发;设置各类体验视角,设定各种体验路线,开发各项交互功能,后台数据请求和响应,按不同参数条件设置虚拟仿真环境中不同模拟结果。

2.2 系统平台架构

本文设计的水模拟水灾害VR 教学实验平台采用三层体系结构,分别是应用层、业务层、数据层。应用层即表现层,提供用户界面,根据用户不同操作选择相应功能;业务层主要处理用户请求,将用户请求传递给表现层,各服务器与数据层进行交互,完成对数据的操作;数据层是系统数据的管理核心。

3 平台开发流程及实践验证

本文选用VR 眼镜头盔、体感手柄和高性能电脑、显示屏作为VR 体验平台配套硬件,利用Unity3D 软件、C#语言开发水模拟水灾害教学实验平台VR 程序资源包,如城市雨洪灾害VR 体验、河道洪水灾害VR体验、堤坝溃决洪水灾害VR 体验等。本文以“城市雨洪灾害逃生避险VR 体验”系统为例,阐述了具体开发流程。

3.1 资源导入和场景搭建

在Unity3D 中新建一个Project,创建完成后,通过菜单“File”→“NewScene”新建场景,在Assets选项下拉菜单里弹出import package 对话框选择导入已建立的三维实景模型资源文件。

3.2 界面交互开发

使用Unity3D 中Unity 导航栏菜单NGUI 选项下的CreateaNewUI,创建UIRoot,分别编写UIRoot 和UIPanel 脚本。利用UIRoot 脚本完成UI 界面高度、缩放比例等参数调整,利用UIPanel 脚本完成控件添加和布局,之后在UI 界面对应按钮下绑定相应C#脚本。以体验场景切换按钮为例,创建名为SwitchScene 的C#脚本,该脚本分别通过Onclick()函数监控鼠标按钮点击、Application.LoadLevel()函数切换并加载对应场景、Application.Quit()函数关闭退出Unity3D 窗口程序,将编写的C#脚本绑定至对应图标按钮下,可实现场景切换和虚拟教学实验功能触发。系统主界面如图2所示。图2(a)展示了“城市雨洪灾害逃生避险VR 体验”系统提供的“洪涝灾害体验”和“逃生避险演练”2 大体验功能模块,在体验中提供上帝、司机和路人3种体验视角。图2(b)表明系统提供引导体验和自由体验2 种学习者模式供选择,可选择切换至不同模式下的体验场景。

图2 系统主界面

3.3 三维场景交互及体验功能开发

三维场景交互及体验功能主要包括场景切换、视角切换、位置移动等动作与交互,物品拾取、丢弃动作与交互,界面标签选择、条件控制交互、实时信息反馈、进程控制等交互及体验功能开发。本文针对某城区制作了三维实景场景,利用水动力模型对某场次暴雨进行数值模拟,将数值结果转为雨洪演进过程风险等级,作为依据在Unity3D 中开发暴雨积水涨水过程特效。系统VR 教学体验内容展示如图3所示。图3(a)展示了短时暴雨导致城市街道积水逐渐成灾的体验效果,图3(b)展示了暴雨导致城市低洼地快速形成严重积涝,车辆被困、行人难以通行的体验效果。

图3 系统VR 教学体验内容展示

3.4 程序资源包发布

在Unity3D 中利用“Build Settings”菜单中的Platform 列表下选择“PC,Mac&Linux Standalone”选项,完成程序资源包打包发布;之后将其部署在PC图形工作站电脑,连接配置三星玄龙MR+VR 头盔;最后完成软硬件结合的VR 教学实验平台的构建。

利用本文研究成果在西安理工大学水模拟及灾害管理中心搭建了水灾害VR 教学实验简易平台,为学校“水力学”“河流动力学”等研究生课程教学提供教学实验支撑,为水文水动力数值模拟与仿真提供了毕业设计和科研验证平台。将本文研究成果应用于庆阳市海绵科普中心,为参观者感知城市雨洪内涝、河道沟道洪水灾害,为洪水防灾减灾科普知识提供VR 教学体验环境支撑。

4 结语

综上,本文针对水模拟水灾害教学实验采用传统实验模型和大型仪器设备存在的问题,结合虚拟现实技术优势,以计算机三维仿真建模、虚拟现实为技术支撑,研究与设计了沉浸式、多感知、交互性强、用户体验良好的水模拟水灾害VR 教学实验平台。实践证明,本文研究成果可有效支撑水利相关专业快速灵活开设虚拟仿真教学实验,增加教学实验时空自由度、学生实践性和感知性,提升了水模拟水灾害教学实验效果,同时在水灾害科普教育中也能灵活运用,具有良好的应用前景。

猜你喜欢

教学实验实景灾害
数字博物馆 线上实景游
灾害肆虐
高校体育教学应用心理健康影响的实证研究
具身教学应用于小学绘本故事课堂的研究
能否用斐林试剂鉴定“温度对酶活性的影响”实验
第四届20强+1实景家装节开幕
2015年我国海洋灾害造成直接经济损失72.74亿元
宝马首次在中国实景演示高度自动驾驶技术