姚 琪,蒋达央
(常州信息职业技术学院 经贸管理学院,江苏 常州 213164)
随着网络技术和多媒体技术的发展,三维网络动画技术和虚拟现实技术的应用进入了高校一线教学。所谓虚拟现实技术,就是利用电脑模拟产生一个三维虚拟世界,提供使用者视觉、听觉、触觉等感官模拟,让使用者有身历其境之感。虚拟现实的感官模拟功能对提高实训类课程的教学质量有着重要作用,它可将传统实训课无缝移植到三维网络教学平台开展教学活动[1]。基于网络的虚拟现实技术在高校实训教学中的应用,可以减少学校对实训设备的投入,降低设备损耗,增强学生的学习兴趣,提高教学质量。传统的网络实训课程建设缺乏真实环境模拟,在很大程度上影响了实训类课程的教学效果。本设计将三维Web技术和虚拟技术引入网络实训课程的建设,实现了二维网络实训课程向三维网络课堂的转变。
三维虚拟网络实训课堂主要利用Web3D技术进行系统设计,采用3D互联网平台,将现实世界中与实训教学相关的学习内容和教学过程进行三维虚拟立体展示,用户可对实训设备进行互动操作[2]。所有三维模型和交互动画的设计开发都基于Web3D技术标准。开发人员在虚拟实训课堂平台中可搭建专业实训教室,每个专业实训教室可以根据实训课程的要求添加设备模块。学生以虚拟人物角色进入实训教室,可选择不同难度系数的实训设备进行学习。整个实训过程采用视频录像形式全程记录,以便于教师评分。三维虚拟网络实训课堂设计的关键是建模技术分析、定位技术分析和角色动画技术分析。
三维模型构建的方式很多,但虚拟网络实训课堂的运行必须基于Web浏览器,且模型的开发要简单、高效,模型的文件格式要规范、通用。因此,三维建模这项基础工作是整个实训系统设计的关键环节。
第一种模型设计方式是将二维图像经过三维技术处理后直接显示成伪三维图像,对于复杂图像则需进一步使用Catmull-Rom插值算法和滤波等三维平滑处理技术[2],以减少锐刺、马赛克的出现。该方式主要面向精度要求不高且无须参与后期三维交互动画设计的静态三维模型设计,例如实训楼外观、教室内部布局模型设计等。
第二种模型设计方式是采用传统三维建模软件设计模型的方式。该方式主要应用于复杂实物模型的设计,尤其是后期有交互动画需求的实训设备模型的设计。因为实训所用的仪器设备几何面与线条复杂,要求建模精度高,所以利用专业的三维模型设计软件可以降低设备三维模型的建模难度,提高建模效率和满足应用需求。常用的教学仪器设备三维建模软件有OpenGL、Pro/Engineer、Sketchup、3ds MAX[3]。这几个软件对机械、电子、建筑行业的设备建模能力非常强,且都有自己的函数库和基础模型库,可以极大地提高建模效率[4]。采用这种建模方式需注意所生成的模型文件格式与Web3D平台所支持的文件格式的兼容性。例如,Pro/Engineer自身不具备 Web3D技术平台所用文件格式的导出插件,在进行三维模型输出时需先导出.3ds格式的中间文件,然后再导入3ds MAX软件中,再将其输出为.c3d文件,从而实现该模型能在3D网络平台中浏览[5]。
第三种模型设计方式是采用新兴的三维激光扫描技术建模。该技术应用成本较高,主要用于对现有实体物件的三维外观设计。该技术利用激光测距原理获取实体目标的位置数据,进而快速、准确生成三维数据模型。三维激光扫描技术可以真实描述目标对象的整体结构及形态特性,具有不需要合作目标,高精度、高密度、高效率、全数字特征等优点[6]。
在现实世界,实训课堂教学设备的定位分3个层级:第一级是课程名称的定位;第二级是实训地点的定位;第三级是实训设备机位号定位。但是在三维虚拟网络实训课堂中,除以上3个层级外,还需要增加一个难度系数层级。所谓难度系数层级是指根据教学需要,把同一设备划分成若干难度不同的实训设备,以实现不同机位有不同难度技能训练的目的。例如定位某个学生某门课程的学习进度,该系统将采用基于OpenURL(开放链接)位置查询的APIS(应用程序接口)来获取位置,以下为APIS返回的XML代码:
赋予静态的三维人物模型以生命力,这是三维虚拟网络实训课堂设计不可缺少的组成部分。目前主流的人物角色动画控制技术是关节骨架控制技术[7]。该技术通过三维人物角色的关节,使其符合实际的物理规律。角色动画有骨骼动画和顶点动画两种类型。骨骼动画比顶点动画占用空间小,因为它不需要像顶点动画那样需存储每一帧的各个顶点的数据,而是只需存储每一帧的骨骼的数据。因此,在虚拟网络实训课堂系统中主要采用骨骼动画设计技术,以非刚体运动方式模拟人物角色生动逼真的动画。
三维虚拟网络实训课堂的实现主要需做好以下几个方面的工作:(1)三维虚拟实训场地环境的建设;(2)课程及设备资源的标注与定位;(3)Web3D系统与教学管理系统的数据库接口设计。
三维网络虚拟实训课堂的主要功能模块有5个。
(1)用户管理模块。不同的用户角色具有不同的权限,可实现对系统的分级管理。超级管理员可操控其他用户的功能权限,教师用户可以对学生用户进行协助学习过程控制。
(2)系统管理模块。可实现对虚拟环境及实训设备的增加、删除和修改等功能,以及对系统的虚拟教学资源的更新等工作。
(3)实训课程难度系数划分与定位管理模块。可实现将整个实训过程分成若干个难度系数不同的单元,而后可将该单元附加到虚拟实训设备上。
(4)定位管理模块。可实现对课程有关资源信息(如课程名称、实训地点等)在三维虚拟环境中进行标注定位管理(如标签集中分发、调整等)。
(5)数据库接口管理模块。可实现虚拟实训课堂系统与教务管理系统的数据共享。常用数据包括课程数据、教师数据、学生数据、成绩数据。
根据三维虚拟网络实训课堂系统的应用需求,系统Web应用服务器和数据库服务器采用微软公司的Windows 2008Server操作系统,数据服务器的数据库系统采用微软公司的SQL Server2005。系统开发环境使用微软公司的Visual Studio 2010,该开发环境在研发基于.NET4.0动态网页时可以减少代码的输入,并且可兼容多种程序设计语言。动画整合设计充分利用了法国Dassault Systemes公司的Virtools实时三维创建工具进行动态计算、行为处理以及场景渲染。
三维虚拟实训课堂系统利用XML技术,先将教务管理平台数据库按普通文件方式打开,读出系统所需数据项,然后将数据通过数据转换程序完成教务数据库到虚拟实训系统数据库的转换,并按新的数据格式存储,从而在不损坏原数据的情况下实现数据共享。对于学生成绩数据,也可以将虚拟实训系统处理后的数据通过数据转换接口存回教务管理系统数据库中,具体实现过程如图1所示。
图1 跨系统数据共享
三维虚拟网络实训课堂的教学环境主要包括4类三维视图,各视图均以三维形态展示给用户:
(1)实训基地建筑三维视图:展示完整的虚拟实训楼外观和内部的三维结构;
(2)教室内部环境三维视图:展示不同专业实训教室的三维空间结构及装潢;
(3)实训仪器设备三维视图:展示实训教室的仪器设备及机位编号;
(4)人物角色三维视图:展示实训参与人员,包括教师角色和学生角色。
由于各三维视图的作用和使用方式不同,所以在系统实现过程中采用了不同设计方式。实训基地建筑视图、教室内部环境视图因展现的内容和结构相对固定,修改频次较少,因此采用静态的三维视图来完成;而人物角色、仪器设备视图因需要重点体现交互式动画设计,内容更新快,传输数据量大,因此对这两个视图采用动态三维视图生成的方法完成,尤其是与实训设备的交互操作三维动画,主要采用基于VSL Sript(virtools scripting language)程序设计语言来完成[8]。
查询功能主要指对实训地点三维坐标的查询和具体实训单元标签信息的查询。当用户在查询框中输入查询条件后,系统的三维场景视图中心点立即定位在对应的查询位置。
利用Virtools生成的三维虚拟场景与Web3D网络实训平台的数据交换是系统查询功能实现的关键[9]。三维虚拟场景以对象的形式嵌入在3D网页中,虚拟场景只能通过向网页发送JavaScript脚本来实现与其相对应的功能[10]。该功能是通过Virtools自身的BBs(Building Blocks)功能来实现。下面编写的是一个关于实现三维虚拟场景触发网页事件的函数模块脚本程序。该程序利用OpenWindow()函数接受一个三维场景调用网页上的JavaScript指令,Open-Window()函数原型定义如下:
以上程序表示用户在网页中浏览三维场景时,可实现在该场景页面中弹出新窗口。用户可在新窗口输入查询条件,从而实现数据从三维场景向服务器传递的功能。服务器端将查询结果返回客户端的代码相对简单,采用Response.Write()语句输出到网页即可。
对于服务器返回的信息,系统可利用Virtools自带的DoCommand()函数传达信息以激活三维虚拟场景对应的模块,关键程序实现如下:
以上程序代码实现了将网页消息发送给三维场景中指定物体的功能。当网页中发出的消息同时满足SendMessage是message和ObjectName是lab1时,该程序就执行。系统通过Web getdata获得课程在服务器上的地址字符串,并把该值传递给课程信息调用模块,实现服务器端加载相应实训设备模型到三维场景中,从而完成网页信息和三维场景信息的传递,实现信息查询功能。
利用Web3D支持JavaScript这一功能,在网页代码中编写jsp脚本程序来实现人物角色的行进动作控制功能。下面就是一个利用键盘的W键对人物角色进行前进和停止的控制程序。
该程序利用onKeyDown和onKeyUp事件,判断其中的switch(event.keyCode)的值来控制场景视角,从而实现角色的前进和停止动作。
Web3D技术和虚拟现实技术在网络实训类课程中的应用,对传统网络课程的建设形式和教学方式产生了重要影响。无论从网络实训课程内容的组织形式和表示方式来分析,还是从学生的学习心理特点来研究,基于三维虚拟技术的网络实训课堂的优点都非常突出。这种设计思想改善了网络课程建设效果,提升了教学应用价值,给学生创设了一个全新的实训环境。
(
)
[1]张丽霞,商蕾杰.虚拟课堂学习支架的类型及功能[J].中国电化教育,2011(4):27-31.
[2]叶家鸣,钱萌,程树林.基于Catmull-Rom插值算法的二维图像的三维显示[J].计算机技术与发展,2007(10):234-236.
[3]冯清秀,夏俊力.基于OpenGL的交互式PLC虚拟实验系统[J].实验室研究与探索,2011,30(2):47-50.
[4]刘尚勤,顾耀林.基于X3D构建高效的虚拟场景[J].计算机工程与设计,2006,27(2):303-306.
[5]李闯,朱静.基于Google SketchUp的虚拟校园三维建模[J].吉林建筑工程学院学报,2012(10):33-35.
[6]Broggi A,Cerri P,Antonello P C.Multi-Resolution Vehicle Detection using Artificial Vision[C]//IEEE Intelligent Vehicles Symposium.2004:310-214.
[7]赵金龙,胡小丽,王硕,等.利用Web3D技术建设数字图书馆平台的研究[J].大学图书馆学报,2011(1):51-53.
[8]Schoning J,Steinicke F,Kruger A,et al.Interscopic multi-touch surfaces:Using bimanual interaction for intuitive manipulation of spatial data[J].IEEE Symposium on Digital Object Identifier,3D User Interfaces.2009:127-128.
[9]陈琎,王劲飞,何兴恒.利用四叉树分割技术对二维图像的三维转换[J].计算机技术与发展,2006(1):52-54,58.
[10]何曲,杨洁,张红燕.基于X3D的三维虚拟图书馆的构建[J].电脑知识与技术,2010(16):4511-4513.