基于AR的化学实验仿真系统设计与实现

(整期优先)网络出版时间:2021-04-18
/ 2

基于 AR 的化学实验仿真系统设计与实现

杨英硕 张钰瑶

北京理工大学珠海学院 519088

摘要:为了推进在互联网媒体下的新型教学模式,以中学化学为例,本文设计并实现一款基于增强现实技术的化学实验仿真系统。与传统化学实验过程相比,虚拟实验更为安全环保、灵活可靠。该系统使用3D建模技术还原实验设备及材料,通过Unity引擎搭建实验场景,基于AR技术实现用户与虚拟场景的交互,使用AR识别卡和移动设备进行化学实验,具有很高的安全性和容错性。

关键词:新型教学模式;增强现实技术;虚拟实验室;仿真

1 引言

在实际化学实验过程中,若出现设备老化、试剂变质、操作不当的情况,极易引起腐蚀、爆炸等安全事故。且有些化学实验需要精密的仪器和昂贵的化学试剂,错误的实验步骤和操作方法都可能会造成器材毁坏和试剂浪费,对于废气、废液的不当处理也会引起严重的环境污染[1]

针对以上问题,本文提出并设计了一款安全环保的虚拟化学实验仿真系统,利用3D建模、增强现实技术重建了化学实验的操作环境,还原了丰富的实验器材和实验试剂。实验过程中,系统会给出详细的操作指引,显示相应的化学现象,实验结束后系统将给出实验报告,详细记录实验过程中的实验时间、步骤得分、总得分等信息。

基于移动AR技术的化学教学应用软件,能够充当教学演示工具及丰富教学媒体,增强教学内容的表达,促进微观层面的表征和理解,是教材的有益补充和延伸[2],是创新课堂教学形式的重要工具。

2 技术路线与可行性分析

2.1 增强现实技术及其应用

增强现实技术(Augmented Reality,简称 AR)是在广义虚拟现实技术(Virtual Reality,简称VR)基础上的一个延伸[3],通过建立实景与虚景之间的映射关系,把一些抽象或难以感知的实体信息(例如气体、声音、虚拟人物等)与摄像机中的影像信息相叠加,从而将虚拟世界融合于现实世界中,增强用户的感官体验。

近年来,增强现实技术不断发展和完善,也为许多行业带来了新的灵感和思路,在医学、军事、教育、游戏、销售等领域都有较为广泛的应用。其中教育是AR应用技术发展最有潜力的领域之一[4],AR技术将抽象的事物可视化、立体化地呈现出来,帮助学生更直观地理解和记忆,且生动有趣的交互方式大大激发了学生们的学习兴趣。

2.2 虚拟仿真技术

虚拟仿真(Virtual Reality):仿真(Simulation)技术,或称为模拟技术,就是用一个系统模仿另一个真实系统的技术。虚拟仿真实际上是一种可创建和体验虚拟世界的计算机系统。此种虚拟世界由计算机生成,可以是现实世界的再现,亦可以是构想中的世界,用户可借助视觉、听觉及触觉等多种传感通道与虚拟世界进行自然的交互[5]

2.3 技术可行性

本系统使用Maya三维建模软件建立模型,Maya是一款基于PC端的三维动画和建模软件,具有强大的建模工具包和高效率的渲染器,广泛适用于游戏、影视、动画等行业。

系统使用Unity3D引擎开发,它是一款功能强大的综合性虚拟现实引擎,具有可视化的编辑环境、基于组件的开发模式、强大的物理引擎以及完善的粒子系统,完全满足虚拟实验室的开发需求[6]

增强现实效果通过Easy AR软件开工具包实现。Easy AR是一款免费的AR引擎,支持单图识别、多图识别、表面追踪、3D 物体追踪等功能,支持上千个本地目标的加载和识别,没有次数限制,操作便捷。

此外该系统使用SQlite轻量数据库管理数据,这些平台和工具都为AR虚拟化学实验系统提供了技术保障。

2.4 操作可行性

使用该系统时只需准备识别卡和移动手机两样东西,识别卡用于识别化学器材,手机用于实现交互。系统采用菜单式页面,页面风格简洁,便于学生理解和操作。

3 AR化学实验仿真系统的设计

607b7f48042ed_html_8b2cc99702a69af3.png 图 1

3.1 开发流程

如图1所示,本项目分为前台展示系统和后台管理系统两部分。后台管理主要用于构建和存储文本、图片、模型等相关数据信息,将这些数据载入到Unity中实例化,最终呈现在前台用户界面中。开发前期,利用Maya建立器材模型,设置好材质后导出为.fbx模型文件,将模型资源通过静态、动态两种方式载入到Unity引擎中。之后使用Easy AR开发工具联系以上的数据及资源,在 Unity3D引擎内通过编辑脚本实现AR识别和AR交互,从而实现虚拟化学实验的各个功能。

3.2使用流程




607b7f48042ed_html_dcb88a7d8866afbe.png

图 2 使用流程图

3.3 功能设计

基于AR的化学实验仿真系统主要具有器材搭建、试剂添加、现象模拟、步骤提示、实验评估等功能(见表1)。

表 1

功能

详解

器材搭建

摄像机识别不同的AR卡片,在卡片上显示出相应的器材模型。同时识别两张以上AR卡片时,可将其中两张卡片靠近,从而连接卡片上的器材。

试剂添加

AR识别显示模型后,点击UI图标可通过屏幕交互添加相应的固体和液体试剂。

现象模拟

模拟实验过程中产生的气泡、气体、烟雾、火花、火焰等实验现象。

步骤提示

提示实验操作步骤。

实验评估

总结实验的完成情况,包括实验时间、步骤得分、总得分。并统计每次实验的得分和步骤错误次数。


3.4 界面设计

应用的界面是用户评价这个应用的第一窗口,可以是一组命令,也可以是一个或多个菜单,通过这些命令或菜单,用户与程序能够进行通信。本质上来说,这也正是人与机器之间的交互发生的空间。以图3为例,设计时应重点突出与自身产品的关联性以及实用性,以确保用户能够理解我们想要表达的内容。同时确保每个页面只有一个或者两个焦点,让用户能在第一时间看见,将最重要的信息和内容展现给用户。该系统是围绕着化学这一主题制作的,那么所选图案以及界面设计都应该与化学产生关联,能让用户一眼就了解到设计这个应用的中心主题,以及这个应用都有些什么功能。


607b7f48042ed_html_4d9dbd6fb10be56.png

图 3

4 AR化学实验仿真系统的实现

4.1 器材搭建

AR化学实验室的器材搭建分为识别和组装两部分。识别功能使用Easy AR开发工具包完成,按照“一物一卡”的原则为实验器材模型添加识别图。组装器材的功能通过Unity3D中的物理引擎完成,为3D器材模型添加略大于识别卡大小的碰撞盒,编写碰撞响应函数,若两张识别卡相互靠近则触发碰撞函数,实现器材连接(见图4)。

607b7f48042ed_html_7915eb6018128bd8.jpg

图 4

4.2 试剂添加

试剂添加功能的顺序位于识别之后,组装之前,摄像机识别出器材后,若需要添加试剂则点击器材,点击背包上相应的按钮,选择需要的化学试剂。试剂分为液体试剂和固体试剂。

4.2.1固体试剂添加

固体试剂添加分为取出、添加两个步骤。在Unity内创建两段动画,通过碰撞检测触发动画。在取试剂的工具上绑定自定义的脚本实现拖拽功能,若工具碰撞检测到试剂瓶和器材瓶,则分别触发取出和添加试剂动画。

4.2.2 液体试剂添加

添加液体试剂需要模拟液体的形态和倾倒的状态,通过编写Shader脚本实现。含有_MainColor(瓶内液体的主要颜色)、_FillAmount(瓶内液体的高度)、_TopColor(最上层液体平面颜色)、_RimColor(液体边缘颜色)、_Rim(液体边缘宽度)等属性参数,实现方法如下:

(1)液体晃动:计算物体在X、Z轴移动时的速度和角速度值作为晃动参数和 0 做插值,乘上正弦波,得到 X、Z 方向的摆动幅度并传入到着色器脚本内[7]。在vert函数中,使用 RotateAroundYInDegrees 旋转物体的屏幕坐标,乘上摆动幅度后得到 X、Z 方向的梯度值(见图5)并传入片元函数 frag 内,得到液面的晃动效果。

607b7f48042ed_html_68b56d36b01adec3.png

图 5

(2)液面硬过渡效果:使用step函数

(3)液面以上部分透明:使用 Blend SrcAlpha OneMinusSrcAlpha 剔除液面以上的黑色部分。

(4)液面颜色效果:通过Vface,取出背面的像素当作水面。

(5)液体高度变化:在顶点函数内的worldPosAdjusted.y 基础上加上一个高度系数_FillAmount。

607b7f48042ed_html_a5dac088e8ea2670.jpg

图 6

4.3 实验现象模拟

化学反应过程中常伴随着变色、燃烧、烟雾、火花、沉淀、气泡等化学现象。从简单的化学现象中可以推断出化学物质的性质和判断化学试剂的主要成分,所以化学现象其实是化学反应的一种外在体现形式,是不可或缺的一部分[8]


607b7f48042ed_html_87b843968746b45b.jpg

图 7

在该系统中,气泡和溶解的效果是通过Shader制作而成的,其他大部分的反应现象是通过Unity引擎内的Particl System实现的,该粒子系统功能强大,含有上百种参数,可以模拟气体、燃烧、烟雾、火花等简单的化学现象(见图7)。其中气体粒子特效较为特殊,生成之后会因为气压而顺着导管移动,为了模拟气体移动的效果,本系统使用了ITween插件,提前设置规划了粒子的移动路径,再运用ITween.MoveTo函数使气体沿着路径移动。

4.4 实验评估

该系统中每个实验的实验评估分为两部分,单次评估和总评估。单次实验评估包含实验用时、步骤详情、步骤得分以及总得分,使用户可以清晰地认识到自己的不足之处。总实验评估包含错误统计和分数趋势图,主要起到总结统计的作用,帮助学生直观地看到自己的成绩动态以及易错点。

5 结语

本文结合现实化学实验的弊端以及增强现实技术的应用,提出并设计了一款基于AR的虚拟化学实验仿真系统,详细介绍了该系统的关键技术、开发过程、使用流程、功能设计与实现方法。增强现实技术能够为学习者建构虚拟学习情境、多方位地理解学习内容,将教育游戏元素与智能技术相结合,可以增强应用的趣味性,使其不仅仅作为展示、观察和体验工具,而是能够帮助学习者对学习内容有更深入练习和建构的学习应用[9]

参考文献:

  1. 姚建华,李佳,黄迎,徐雯丽,蒋舒仰,胡静. 虚拟技术与化学研究[J]. 上海化工,2014,39(10):20-22.

  2. 王辞晓,李贺,尚俊杰. 基于虚拟现实和增强现实的教育游戏应用及发展前景[J]. 中国电化教育,2017(08):99-107.

  3. 王俊. 户外增强现实GIS的应用研究[D].西南大学,2014.

  4. 汪存友,程彤. 增强现实教育应用产品研究概述[J]. 现代教育技术,2016,26(05):95-101.

  5. 蒋庆全. 虚拟现实技术探析[J]. 国防技术基础,2002(04):3-6.

  6. 杨勇,郭玲,张钢. 运用虚拟仪器技术改革电子实验教学[J]. 现代电子技术,2004(16):60-61.

  7. 郭佩姗. 基于实时网格变形的容器内液体仿真方法的应用研究[D].北京工业大学,2019.

  8. 冯燕,孙鹏,朱凯. 虚拟仿真技术在化学教学改革中的作用[J]. 教育教学论坛,2020(07):155-156.

  9. 祝士明,陈静潇. 虚拟现实学习环境的作用、挑战以及应对策略[J]. 现代教育技术,2019,29(02):39-45.