标题 | 基于VR技术的化学教学资源开发 |
范文 | 杨军杰 王小霞 摘要:化学实验是一门操作性非常强的实验科学,许多化学实验存在一定的危险性、不可现实操作性、难以理解性。而虚拟现实实验直接操作对象是三维模型,并结合文字、声音的提示,不仅能使学生达到身临其境的效果也能够提高学生的学习兴趣,而且具有可靠的安全性。因此,基于虚拟现实技术的化学实验就显得尤其重要。本研究基于虚拟现实技术,结合硬件设备HTC Vive和Unity3D三维引擎,进行化学教学资源的开发与实现,以期优化教学效果提高学生学习的积极性,同时也希望丰富化学实验教学方式。 关键词:虚拟现实技术;HTC Vive;Unity3D;化学教学资源 中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2019)30-0219-03 1概述 自2016年虚拟现实元年以来,虚拟现实发展迅速,多用来三维空间、物体的展示以及医疗、工业、飞行等技能的训练。通过文献研究分析发现,国内学者关于虚拟现实应用于化学实验教学中的研究较少、研究表述不够详尽,且多偏向于理论研究,可实践性不强。基于该研究背景,在本研究中详细介绍了VR化学实验教学资源的开发过程,实现了通过steamVR Plugin插件以及VRTK插件实现实验室制氧气实验。希望给相关的实验教学研究者、使用者和VR资源开发者提供一定的参考。 2虛拟现实技术 VR(Virtual Reality,即虚拟现实,简称vR)以计算机技术和头戴显示器技术为核心融合传感器、眼动仪、数据手套和大数据等多领域技术生成三维虚拟世界,并通过手柄或数据手套实现人机交互,实现能拓展人类的感知边界效果。VR技术作为一种可以创建和体验虚拟世界的计算机仿真技术,结合当前峰值传输速率10Gbps的5G技术,可以满足VR应用对网络宽带和延时的需求,能够真正实现沉浸性。VR平台被认为是下一代计算平台,而VR眼镜也被认为是人类的最后一块屏幕。本研究以“VR实验室制氧气实验”为例以丰富化学教学资源。 3硬件设备及软件 HTC Vivef浸入式头戴显示器)是由HTC与Valve软件公司共同开发的一款浸入式虚拟现实设备,主要有头显本体、两个手柄、两个基站、转接盒和各类线材组成。当连接所有设备,并在设置SteamVR时按照提示用手柄划出虚拟空间,体验者能够自由探索虚拟空间中的任何地方。HTC Vive采用OLED液晶屏来作为头盔显示器屏幕,该屏幕双眼合并的有效分辨率可高达2160*1200像素,一定程度上减少头晕的感觉。HTC Vive采用Valve公司研发的Lighthouse定位技术,Valve在头显和控制器上安装了很多光敏传感器,高速运行的摄影机通过Light—house基站发出的红外激光,在各个传感器的位置定位,当体验者移动或者旋转时,根据位置差可以计算出头显的位置和运动轨迹。 Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发引擎。插件是制作优秀VR资源的基础。SteamVR Plugin插件是开发虚拟现实的必备工具,其最重要的是该插件提供了一个虚拟环境中的摄像机[Camera-Rig]预制体。VRTK(Virtual RealiIv Toolkit)是使用Unity进行VR交互开发的利器,VRTK能实现VR开发中大部分交互效果。本研究使用Unity3D作为开发工具,并结合SteamVR Plu-gin插件和VRTK插件,实现VR实验室制氧气实验。 4虚拟现实教学资源开发 本研究主要分为三部分内容,一是Uinty场景搭建;二是物体的交互,该部分是VR开发的重点也是关键之处,本研究主要运用SteamVR Plugin插件和VRTK插件提供接口与HTC Vive硬件连接,实现物体的交互;三是实验室制氧气实验的实现。 4.1实验场景建模实现 本研究用3D Studio Max创建模型,3ds Max以模型的快速编辑、提供多种修改器和贴图方便的优点,得到很多建模用户的青睐。本研究将.MAX文件导出为.FBX格式文件,再将.FBX导入到Unity中Project的Assets文件夹中,将其放到Hierarchy面板中,使其成为Gameobject物体,对模型的位置进行归零处理,以便后期制作,并分别赋予其材质,本实验模型如图1所示。 4.2实验交互实现 由于VR的多维特点注定了其交互要比平面图形交互具有更丰富的形式,在VR资源的制作中,交互是重中之重。本研究实现的三个交互功能分别是:①实验物体的抓取操作,这是VR制作的最基本的物体交互;②点燃酒精灯开始试验,以酒精灯的点燃与熄灭为例,自定义脚本实现物体的深层次交互;③VR中的uI制作及交互,制作滚动提示轮播画面。 4.2.1 VR场景搭建 在开发VR之前,环境的搭建是关键,本研究所用的软件版本为:Unity:2017.3.0f3、VRTK:3.2.1、SteamVR:1.2.2,Unity引擎和插件版本最好对应,否则就会出现配置错误的情况。配置环境的具体步骤:①打开UniIv开发平台,新建一个New UnityProject选择3DTemplate,把在3ds Max中做好的模型.FBX文件导入到Unity的Assets中;然后将所需模型放至Hierarchy层级树面板中;②删除Main Camera,在Hierarchv层级树中CreateEmpty新建Gameobject重命名为[VRTK_SDKManager],新建[VRTK_SDKSetup]、LeftController、RightController空物体,布局如图2所示;③使[CameraRig]成为[VRTK_SDKSetup]的子物体;④分别为[VRTK_SDKManager]添加VRTK_SDKManager、[VRTK_SDKSetup]添加VRTK_SDKSetup、LeftController和Right-Controller添加VRTK_ControllerEvents脚本控件,VRTK_SDKSetup的配置如图2所示。 打开SteamVR以及HTC Vive,在SteamVR软件上会有头显本体、两个手柄、两个基站图标,均显示绿色,即可以使用。在Unity中点击Play按钮即可实现虚拟世界的漫游。 4.2.2实验仪器的抓取及交互 (1)抓取3D物体的基本原理及实现 抓取3D物体的基本原理分为①获取手柄的引用;②手柄与3D物体的碰撞检测;③获取按钮事件;④抓取:失去rigibodv相关属性;⑤松开:重新获取自身的rigibodv相关属性。在VRTK配置面板中最重要的就是抓取机制(Grab Attach Mechan-ic)以及抓取的二级联动(Secondary Grab Attach)的选择。在抓取机制中本实验选择默认也是最典型的Child of Controller,将要抓取的物体作为控制手柄的子物体;另外一项FixedJoin在手柄和抓取物体之间建立Fixed Joint连接,当有物体挡住被抓取物体时,会产生碰撞,超过默认1500的力时就会断开与手柄的连接。在二级联动机制中,默认Swap Controller允许抓取的物体在两个手柄之间交换;以下两项分别为Control Direction和AxisScale允许物体在被另外一个手柄抓取时控制物体的旋转方向和物体的缩放。本研究以抓取酒精灯为例,为酒精灯添加脚本选择默认的VRTK配置面板即可,点击Setup selected object(s),同时选中LeftController、RightController,添加脚本如图3所示,使用手柄的Grib键实现物体的抓取。 (2)酒精灯火焰的点燃与熄灭 本研究用火柴来点燃酒精灯,一个手柄触碰到火柴盒并按下Grib键时,在另一只手柄上出现一只火柴,按下Trigger键火柴点燃,碰触到酒精灯时酒精灯点燃,开始试验。其可以分为两个步骤:①为火柴(Match)添加为可交互,配置如图7所示大致相同,做成预制体备用;②火柴盒的Collider替换为VRTK实例里面的ArrowSpawnerBox;③配置Arrow Peffab即可。同时辑写自定义C#脚本ChangeLight.cs如图4,把此脚本挂载到Match上,并指定火焰粒子特效给Lightl,当产生Match时火柴点燃,酒精灯点燃,效果如图5所示。 (3)VR中uI的制作及交互 在VR中uI的制作和交互是制作VR资源很重要的一环,其制作和一般Unity开发的uI制作大致相同,将Canvas的Ren-der Mode修改为世界坐标系(world Space),调整至合适位置,添加相应的交互脚本即可。在VR中uI的交互与一般Unity的uI主要两方面不同,首先VR中的uI交互是基于手柄(射线),所以必须添加VRTK_UIPointer脚本,然后需要给Canvas画布添加可交互脚本VRTK_UICanvas。添加这两个基础的脚本之后,在原有手柄上已有VRTK_Pointer以及渲染器的前提下,即可实现在VR中的uI交互。 在虚拟实验中,通常会对某物体的功能进行提示以便于实验者更好地理解和掌握该场景,而突兀的文字提示不能達到沉浸的效果。本实验中当实验者移动时提示标签会跟随实验者的移动而转动方向,像是标签一直注视着实验者,使实验者更能沉浸其中。对于VR中的uI交互,在项目开始时,会有选择场景,或者在实验时提供提示功能的作用,点击按钮会轮播图片或者场景。在本实验中实现点击前进、后退按钮实现画面轮播,在这里使用了DOTween插件,以达到有过渡的效果,实现效果如6图所示。 4.3打包与发布 本实验是基于Unity+HTC Vive的VR项目,所以发布在PC平台上,借助HTC Vive实现运行。如果项目用到Shader,打包时需要注意要将Shader同时打包,具体操作步骤为Edit→Proj-ect Settings→Graphics,将用到的Shader拖至右侧的Inspector面板的AlwaysIncluded Shaders选项中。然后就可以打包发布,其操作步骤为File→Build Settings→Add Open Scenes→Player Set-tings(设置参数:XR Setting→OpenVR)一Build,填入项目名称并选择路径存储生成.EXE文件。打包完成后,连接HTC Vive并打开SteamVR,双击.EXE文件,即可实现漫游与项目操作。 5结论 本研究开发了实验室制氧气的交互实验,主要利用3DSMax进行建立模型,通过HTC Vive交互设备和Unity3D开发引擎实现了实验物体的抓取、交互、uI制作,通过本研究的沉浸式交互,体验者可以增加对化学实验的兴趣,提高实验效率,避免一些不必要的危险,同时也给虚拟现实开发者一定的借鉴。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。