APP下载

基于虚拟现实的实验系统的设计及应用研究

2018-08-29高俊涛李林林

计算机与数字工程 2018年8期
关键词:小球虚拟现实对象

高俊涛 李林林

(东北石油大学计算机与信息技术学院 大庆 163318)

1 引言

随着教育现代化进程及信息技术的快速发展,作为计算机三大网络通讯技术之一的虚拟现实技术,近年来工商工程界和科学界将其列为重点研究的技术。关于2016年被称VR元年,我认为,2016年是虚拟现实技术应用的元年,而不是技术成熟的元年,尽管如此,虚拟现实技术未来发展趋势仍是不可估量的,应用前景更加广泛,如医学、工程、工商业、电子商务、教育领域等。根据教育信息化发展规划,虚拟现实技术应用于教育教学逐渐完善教学系统设计模式[1],是提高教育质量的技术手段,是互联网+教育[2]的必然趋势。

2 概述

2.1 虚拟现实技术概述

虚拟现实技术(Virtual Reality,VR)是计算机技术快速发展过程中的新兴的一种综合集成技术,由多媒体技术、网络技术、人工智能技术、传感技术、仿真技术和计算机图形学人机接口技术等多种技术集成[3],是综合性较强的计算机技术,融合多元信息的具有多种感知功能的人机交互设备。利用虚拟现实技术强大的图形图像处理功能,可以创建三维立体全景视觉体验空间,用户利用视觉、听觉、触觉等感官,通过有关设备仪器与虚拟环境、虚拟对象实时交互,沉浸在虚拟现实中,如同身临其境,为用户提供空间想象力。目前虚拟现实技术已广泛应用与心理学、医学医疗、手术模拟教学、建筑设计等。根据有关学者研究结果,虚拟现实技术有三个基本特征即构想性、交互性、沉浸性。

2.2 Virtools和3DS MAX简介

3DS MAX是三维建模渲染动画与制作软件,Autodesk公司开发。其强大的建模功能,已被应用于各个领域,如游戏、多媒体课件制作、广告设计、影视制作等。

Virtools是一款具有丰富交互行为模块的3D虚拟现实实境编辑软件,也是一款整合性软件[4],能够制作出不同用途的三维实时交互产品,如教育训练、建筑设计、校园虚拟漫游、交互式电子设备等。但Virtools不具备3DS MAX实时三维建模功能,因此,制作三维虚拟现实交互系统必须借助三维建模软件,如Maya、3DS MAX等。

3 虚拟实验系统设计框架

3.1 传统实验系统的设计框架

传统的虚拟实验系统主要包括两部分:软件和硬件。硬件主要是计算机、操作设备如输入输出;软件主要是应用软件及数据库。在整个虚拟实验系统中计算机是核心部分[6],交互性能的差异主要是计算机的配置决定的,传统的输出输入已不能满足需求,如图1所示。实现虚拟实验系统的软件部分主要是:3DS MAX、Auto CAD、Maya等是常用的建模软件,此外,声音仿真、视景仿真软件也是虚拟实验设计过程中不可缺的[5],如,Poly Trans、Creator等,交互软件主要有Web3D软件系列,如Unity3D、EON等。

图1 传统实验系统框架

3.2 改进后的虚拟实验系统设计框架

传统的虚拟实验系统相对比较单一,一个系统实现一种功能[7],一种虚拟模型只能实现一种实验,基于这种情况,改进后的虚拟实验系统中一种模型设备能实现多种实验。如图2所示,采用多种实验的思想设计虚拟实验系统总体框架,难点在于虚拟实验的设计实现,但在系统中实验之间的关系不大。

图2 基于Virtools虚拟实验系统总体设计

从上图可以看出,虚拟实验系统主要包括图形用户界面、多实验等。操作流程:用户通过输入输出设备操作Virtools引擎软件,在图形用户界面选择想要的实验,然后进行有序操作,实验操作完成后,退出,否则进入有序操作界面继续实验。

对虚拟实验系统总体框架的设计,整个系统框架包括两部分:硬件和软件。只简单说明软件部分。本次系统是基于Virtools引擎技术开发,需要用到Virtools引擎的相关技术,如创建组件、脚本、粒子系统等。实现整个系统的建设,要完成下面图所示的内容,如图3所示。

图3 基于Virtools的虚拟实验系统实现框架

从上图可知,基于Virtools的虚拟实验系统的实现分为三个阶段:前期、中期、后期。前期主要是场景模型的设计及用户界面的设计;中期即将相应的3D模型、模型贴图及UI图导入Virtools中,编写对应的脚本程序,方便虚拟场景交互设计;后期是实验系统发布,发布相应的程序,供用户学习使用。

场景模型的制作异常重要,制作效果决定整个系统的逼真性[8]。常用的三维建模软件有:Maya、Auto CAD、3DS MAX等,本实验系统采用的是3DS MAX建模软件,是一款计算机图形软件,被应用于多个领域。在虚拟实验系统中的应用主要是设置场景、模型建立、设计建筑材质、设置场景动画、设置运动路径、计算动画长度和调节动画等。

用户界面制作UI即对界面的美观、人机交互的整体设计进行开发实现。图形界面的设计制作主要是利用Photoshop处理图形,Ps即Adobe System开发的图像处理工具。虚拟实验系统中,演示模块、标题显示、操作模块、标签提示、步骤提示等是用户界面的主要模块,演示模块含有多种实验的演示,操作模块也是如此。

中期工作将制作完成的三维模型导入Virtools中,Virtools是一款三维交互软件,是多种功能的3D模型与互动技术的集成。

Virtools支持3DS MAX建模软件工具的插件转换,架构开放且极其灵活,也集成了极强大的渲染引擎,产品发布灵活。

3.3 虚拟实验系统的建模技术

虚拟建模技术是模拟真实世界的物体事物,逼真的数字模型很重要。虚拟实验系统中场景就是对真实世界中的物体事物进行建模,以及对虚拟物体的形状、运动学约束、外观以及物理特性进行建模[9]。

1)几何建模

几何建模就是对真实世界中的物体的形状和外观进行建模。形状建模描述虚拟对象的形状三角形及顶点,及其外表,如颜色、反射系数、纹理。多数的虚拟对象的表面都由三角形网格组成。要表现出三维物体,基础的工作就是绘制三维物体的形状轮廓,利用点和线构建三维物体外边界。对于物体的形状建模经常用图形库建模。开放式图形库OpenGL、分层结构交互性图形系统PHIGS、图形核心系统等是常用的图形库。如图4所示的几何图形。

外观建模,物体对象的外表示区别于其他物体的一种质的特点,虚拟环境中对象的真实感取决物体表面纹理映射和光照。关照是根据现实生活中关照原理抽象成数学模型来计算,再根据光照处理算法,计算光亮度值。如图4所示,白色球是点光源,在Box和Sphere两对象上发生了反射,产生明暗效果。

图4 OpenGL几何图形和光照示意图

2)运动建模

上述几何建模反映了物体对象的静态性质,物体不仅有静态,虚拟物体对象在虚拟环境中还有动态的性质,本实验中关于物体对象的旋转、位置变换、伸缩、碰撞、表面变形等特性属于运动建模。主要是用于确定运动的物体对象在坐标系中位置及在虚拟系统中的运动。

3)物理建模

继几何建模和运动建模,物理建模就是综合体现物体对象的物理特性,如惯性、重力、表面硬度、变形模式及柔软度等,这些特性为虚拟系统中的物体对象带来极大的真实感。物理建模包括:表面变形、受力计算和碰撞检测等。物体建模是虚拟对象中高层次的建模,需要计算机图形学和物理学结合,涉及力学反馈。

碰撞检测是测定虚拟物体对象相互之间能否发生碰撞,主要方法有沿坐标轴包围盒检测法、方向包围盒检测法、包围球检测法等[10]。物体发生碰撞,检测之后就会产生碰撞响应,碰撞响应取决于碰撞的物体对象自身特性及应用要求。如果碰撞的物体是非刚性的,碰撞响应形式是表面的变形;若碰撞的物体是刚性的,碰撞后响应形式是受力计算。

表面变形是控制虚拟物体对象三角形顶点,让其发生变化,因而虚拟物体对象原有三角形的网格发生变化,达到物体变形效果。一种极端情况是表面切割,最初处在同一位置的两个新的顶点代替了靠近碰撞位置的顶点,随碰撞过程进行,这些个顶点逐渐分开,碰撞路径又有新的顶点反复重复这一过程。

受力计算可以使虚拟物体对象更具有真实感,需要考虑的有表面接触的类型及虚拟物体对象的运动特性与物理特性。

4 虚拟实验系统应用研究

4.1 虚拟实验操作流程

虚拟实验系统的设计框架,为虚拟实验应用提供了理论基础[11]。以球体的平抛运动为例,应用虚拟实验系统,采用实验对比法,分析虚拟实验系统的性能及可靠性。

虚拟实验中的操作,也需要按照实际实验那样完成操作流程的设计,根据球体平抛运动的实际实验流程,制定虚拟实验系统操作流程框架,如图5所示。由图可知,用户可以选择两种模式:演示模式、操作模式。若用户选择操作模式,就会根据实验流程有序进行实验操作。

图5 虚拟实验操作流程图

4.2 虚拟实验模式框架

本系统是多种实验的虚拟实验系统,选择模式框架如图6所示。在球体平抛运动实验作为系统中一个实验案例进行制作说明。

图6 模式框架

4.3 平抛运动虚拟实验实现操作

1)实验目的、原理

实验目的:用实验描绘出小球运动轨迹;用描绘的小球的轨迹球出初速度。

实验原理:平抛运动可被看作两种方向上的和运动即水平方向上的匀速直线运动、垂直方向的自由落体运动。用描述法描述小球运动的轨迹,建立坐标系。测出曲线某一点坐标值x、y,由重力加速度g的数值,应用式(1)求飞行时间t,在应用式(2)和(3)求运动的水平分速度V0即小球平抛运动的初速度。

2)虚拟实验模型

Virtools不具三维模型建立的功能,本实验使用3DS MAX建立模型[12]。在本实验中所需实验模型有实验室场景、实验桌、支架、木板、挡板和小球等。把建好的模型格式转换为。vmo格式导入Virtools中。

3)交互设计

将在3DS MAX中建好的器具模型导入Virtools中,平抛运动虚拟实验交互过程是设计的重点内容,如图7所示。

图7 平抛运动虚拟实验结构

(1)演示模式即可以从各个角度观看虚拟实验器材,动态演示。在动态演示小球将会自动滚下并并打印出下落的轨迹,其脚本包含的BB模块:Send Message、PushButton、Show、Resetore IC、Deac⁃tivate Script、Set As Active Camera、Hide Hierarchy和Activate Script。

①自由浏览演示脚本包含的交互模块:Rese⁃tore IC、PushButton、Activate Script、Hide Hierarchy、Set As Active Camera。当按钮被按下时,无关对象将被隐藏,有关对象恢复初始状态。

②自由演示,该模块脚本包含的模块:Rese⁃tore IC、PushButton、Activate Script、Hide Hierarchy、Deactivate Script、Send Message。当干按钮被按下时,球体下落且在记录板上准确记下球体运动轨迹,并利用某些点记录球体的初速度。无关对象将被隐藏,有关对象恢复初始状态。

(2)实验模式即调整小球的位置,让小球落下,并记下下落时小球的运动轨迹。其脚本包含的BB模块:Send Message、PushButton、Show、Resetore IC、Deactivate Script、2D Text、Hide Hierarchy 和 Acti⁃vate Script。

在实验模式重点介绍主要技术操作脚本,如下。

①体初始位置脚本,包含的模块Mouse Wait⁃er、Switch On Parameter、Show、Activate Script、Set Position、Hide Hierarchy。按下按钮,选择球体初始高度,脚本功能是在初始高度栏目显示球体初始高度值。

②开始按钮,其脚本包含的模块有:PushBut⁃ton、Activate Script、Send Message。功能,激活脚本,发送消息。重置按钮制作类似,不再详述。

(3)绘制曲线即用键盘输入确认点的位置,按照输入的点绘制曲线。其脚本:Send Message、PushButton、Show、Resetore IC、Deactivate Script、Set As Active Camera、Hide Hierarchy、Activate Script和Identity。

4)碰撞检测

碰撞检测在虚拟现实环境中对环境的逼真性、真实感有着巨大的作用[13]。Virtools中碰撞检测模块有Collision Detection模块,用来检测三维对象之间是否发生碰撞,前提是被检测的物体对象已被声明为障碍物。该模块由两部分组成:一个输入端、两个输出端。连接输入端就是激活该检测模块,输出端设置为True就意味着检测出两个物体对象发生碰撞,False就是没有发生碰撞。Virtools提供了以下三种几何精度:Building Boxes(包围盒式)、Au⁃tomatic(自动式)、Faces(面对面式)。

Building Boxes用于检测精度较低、运算速度比较高的场景,这种情况下,所有对象统一使用长方体包围盒代替;Automatic是指在检测过程中,

精度就是物体对象自身带的精度;Faces用在面对面相遇的两个或多个物体对象,检测精度较高,同时也能降低场景运算速度[14]。如图8所示。

图8 Virtools中碰撞检测

最后虚拟实验发布,Virtools中带有发布为网页格式,虚拟实验设计完成后可以直接存为网页格式,发布到网上。

4.4 实验结果分析

1)虚拟实验结果

平抛运动虚拟实验设计完成后,就可以利用该系统进行实验,本次实验采用小球所处的6个不同的位置,实验数据如表1所示,球体运动轨迹如图9所示。

表1 平抛运动虚拟实验的数据

2)真实实验结果

在现实实验中,将小球的6个高度值与虚拟

实验中的高度取值一样,实验完毕,用三角板与刻度尺测量出不同位置处小球落下后坐标y和x,得到如下表而数据,运动轨迹如图9所示。

表2 平抛运动实际实验数据

图9 球体平抛运动轨迹

把上述虚实实验数据带入式(1)、(2)和(3),得到每个位置两组小球的两组初速度,如下表3所示。

表3 小球初速度

在误差允许的范围内,根据球体每个位置处6个坐标点求出的平均速度作为球体平抛运动的初速度。通过对比表1和表2,再由表3得出,平抛运动虚拟实验和实际实验数据结果基本一致,从而验证了平抛运动虚拟实验系统的可行性。

5 结语

虚拟现实技术应用范围广泛,对于我们来说已不是新的名词,新的技术,虚拟现实技术与教育学理论、心理学、教学设计理论相结合是必然的[15]。但其发展至今,仍存在许多不足,技术尚不够成熟。作为计算机技术,在教育现代化进程中,虚拟现实技术作为新时代的技术产物,以及其构想性、交互性、沉浸性、感知性等特点,在教育界的科研工作者、基层教育人员以及各大高校的工作人员开始探索其在教育领域的应用。目前为止,已有不少研究成果,但技术还需进一步完善。不可否认,计算机辅助教学变革着教育理念,给教育带来新的教学手段和教育模式。在不久的将来,使用终端设备如智能手机,随时随地观看虚拟现实视频会成为可能,虚拟现实技术[16]的前景不可估量。

猜你喜欢

小球虚拟现实对象
晒晒全国优秀县委书记拟推荐对象
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
虚拟现实技术在中学校园中的应用
小球进洞了
小球别跑
攻略对象的心思好难猜
风口上的虚拟现实
虚拟现实技术向科幻小说借灵感
区间对象族的可镇定性分析
个性签名