二十世纪六十年代兴起的认知心理学在教育教学领域提出了一些新思想、新观念,给今天的教学方式带来了一场新的革命。现代认知心理学主要研究人们对知识的获得、储存、提取和运用的过程,认为人在信息加工时是主动的,不是被动的。因此,它对现代教学有着极其深刻的影响,尤其对变革传统的教学方式有着指导性作用。
在当今的信息时代,教育面临着严峻的挑战。新知识、新技术不断产生,旧知识快速老化并被淘汰。因而我们迫切需要对现有的、传统的教学方式进行改革,以提高教学效率。
利用虚拟现实技术和计算机网络进行教学则是提高教学效率、改善教学环境和提升教学质量的行之有效的重要途径。
虚拟现实(VR)是20世纪末才兴起的一门崭新的综合性信息技术。它实时的三维空间表现能力、自然的人机交互式操作环境以及给人带来的身临其境感受,将从根本上改变人与计算机之间枯燥、生硬和被动的现状,为人机交互技术开创新的研究领域。随着虚拟现实技术的发展,它在教学中得到了越来越多的应用。它的交互、沉浸和多感知的特点给学生带来了浓厚的学习兴趣,使学生沉浸在虚拟环境中,大大提高了学生学习的主观能动性。
据了解,已有国内外学者利用Flash、VRML、OpenGL等软件做过类似的案例,但Flash做出的动画是二维的,缺乏立体形象的感觉;而VRML和OpenGL虽然可以做出三维的模型,但它们缺乏可视化开发环境,并且需要较高的编程技术,所以在实际开发过程中存在难度大、实现复杂、辅助功能不强等诸多问题,易用性和实用性不甚理想。
基于PCS(Product-Context-Scenario)技术的Virtools Dev采用非常直观的方式呈现3D内容,为研发人员提供了一个便捷的整合、沟通与分享三维体验的开发平台,在可视化开发环境方面有明显的优势。本文采用3D-VIRTOOLS-Web模式构建虚拟太阳系的架构方案。即在3DStudio Max中完成虚拟太阳系环境的三维建模、动画制作;在Virtools Dev中进行相关数据处理、三维对象的控制及交互设定;在Web中实现课程的交互和反馈。结果表明,采用该架构方案能克服前面所述方法的不足,具有真实性、交互性、简单和易实现等特点。
一、虚拟太阳系的总体架构
(一)架构目的
虚拟太阳系架构的根本目的是:改变传统“教师教学生学”的单一教学方式,采用虚拟现实技术和计算机网络技术构建网络、多媒化的探究性教学方式,提高学生学习的主动,性和想象力,使其利用网络进行实际操作、搜索资料和进行讨论,提出自己的看法和建议,从而提高他们的创造性思维。
虚拟太阳系把虚拟现实、多媒体和计算机网络等技术与教育教学理论有机地结合起来,为学生呈现了一个丰富精彩的虚拟世界,虚拟太阳系网站如图1所示。
其主要特点有六个方面:其一,利用3ds nlax对太阳系的主要成员(太阳和行星)进行三维建模,并根据它们在太阳系中的空间位置来设置其相对位置;其二,具有丰富的交互功能,如果点击左侧的菜单或页面中的物体,此物体会自动放大并飞到你的眼前,从而使你可以更加仔细地观察它,再点击它又回到原来的位置;其三,支持多媒体信息辅助,可以设置3D音效、背景音乐等;其四,具有文本解释功能,可以通过点击“使用帮助”菜单来获取操作方法,当点击虚拟环境中某个具体物体时,会自动弹出文本介绍;其五,具有讨论反馈的功能,通过点击“BBS讨论”链接,可以在BBS上留言或讨论问题;其六,具有知识拓展的功能,通过点击“相关资料”链接,可以获得关于太阳系知识的丰富资料,包括网站、文本、视频、图片等。
(二)组织结构
根据学生的实际需要与思维拓展,虚拟太阳系主要由操作区域、使用帮助、BBS讨论区、相关资料四个模块组成。这四个模块虽然功能各不相同,但都是为了同一个教学目的,而且彼此相互联系和补充。其组织结构如图2所示。
操作区域模块主要包括太阳、行星、轨道、弹出菜单和物体动画,虚拟太阳系主界面的设计如图3所示: 当把鼠标放在左侧物体菜单上时,会弹出此物体的英文名称,用鼠标左键单击时,会播放物体的动画(地球动画播放演示如图4所示),使学生更清楚地观测星球。当点击界面上的某个星球时,同样会播放它的动画和运动轨迹,这样就可以更生动形象地把物体表面和运动呈现到观测者面前,使其更容易记忆和发散思维。帮助模块主要帮助使用者更简单、快速地操作此虚拟系统,上面有文本介绍和图片演示,包括如何操作和提示信息;BBS讨论区模块是让学生进行操作和体验后,讨论有关太阳系的疑问和想法,从而和其他同学交流,如:星球的大小、位置、距离等,同样也可以发挥想象力,提出自己的构想,为进一步改善此系统提供宝贵的建议;相关资料模块主要收集了许多有关太阳系的资料,包括网站地址、文本介绍、视频、图片等,而且还包括搜寻工具的使用,如:使用Google、百度等搜索引擎的方法等,让学生们自己动手,举一反三,从而得到自己想要的资料。
二、虚拟太阳系的设计和实现方法
(一)VIR_TOOLS软件概述
Virtools是由法国全球交互三维开发解决方案公司VIRTOOLS开发,其三维引擎已经成为微软XBox认可系统。其特点是方便易用,应用领域广。
1 Virtools成分
Virtools在3D互动展示方面是一种强大的技术。Virtools有很完善的组成:一个创作应用程序、一个动作引擎、一个渲染引擎、一个Web播放器、一个软件开发工具包(sDK)。
Virtools Dev是一个创作应用程序,一款允许你快速简单建立3D内容的应用程序。Virtools Dev不是一款建模软件,但是,类似摄影机、灯光、曲线、界面组件和3D结构等简单的媒体能通过点击一个图标建立一个动作引擎。Virtools是一个动作引擎、Virtools是一个渲染引擎,那是因为Virtools处理动作。有一个渲染引擎来绘制你在Vii"tools Dev 3D设计中的图像o Virtools是一个Web播放器。提供一个免费的Web播放器,能被任何人下载使用。Virtools Dev是一个软件开发工具包,包括一个能访问动作的某个部分和渲染过程的软件开发工具包。
2 Virtools模块
Virtools除了自身的3D/VR开发平台Virtools Dev以外,还有五个可选模块:物理属性模块(Virtools Physics Pack for Dev)、沉浸式平台((Virtppls VR Pack for Dev))、人工智能模块(Virtools AI Pack for Dev)、Xbox开发模块(Virt001 s Xbox Kit for Dec)和网络服
务器模块(VirtooI s Server)。
3 Virtools特征
Virtools能用来制作具有沉浸感的虚拟环境,它能帮助参与者生成诸如视觉、听觉、触觉、味觉等各种感官信息,给参与者一种身临其境的感觉,是一种新发展的、具有新含义的一种人一机交互系统,可以制作出不同用途的3D产品,如:网际网络、计算机游戏、多媒体、建筑设计、交互式电视、教育训练、仿真与产品展示等等。相对于其他相关虚拟现实技术,采用Virtools还具有减小开发难度、降低开发周期、真实性好、交互性强等特点,因此,此构建虚拟太阳系采用了Virtools技术。
(二)构建虚拟太阳系的主要流程
1 建立三维模型和virtools资源库
由于Virtools本身没有建模的功能,所以一般建模方法是采用建模软件来实现,如:3DMAX或Maya等。笔者采用的是3DStudio Max。通过三维建模、设定材质、赋予贴国、添加动画、渲染、烘焙后借助Max Exposer插件导出为NMO格式文件并保存(导出NMO格式文件需要安装相应的Max Exposer插件),然后在Virtools中导入所生成的NMO文件,从而产生了场景物体的原始档,原始档内存储有物体的相关属性,如:基本的形状、面片和颜色等,同时也存储有相应纹理材质,最终保证物体的逼真性。
在Virtools Dev中用Resources/Create New Data Resource命令创建新的资源库,把准备好的各种NMO格式文件拷贝到资源库相应的文件夹中,Virtools Dev将自动分类并加载。这部分工作旨在为在Virtools中进行拖放操作做好前期准备。需注意的是对每个不同的虚拟实验项目应建立单独的资源库,这样更便于后期的修改更新及文件管理。
2 交互行为控制
利用Virtools Dev对虚拟太阳系进行交互行为控制,就是将物体演示步骤分解成具体行为,并与键盘的操控和鼠标的拖曳、点击等动作构成映射。交互设定是通过Virtools中内置行为模块实现的,能够对二维或三维模型进行各种基本操作(如:平移、旋转、缩放、颜色和透明度变化、二维贴图等)复杂操作(如:投影、燃烧、行走、奔跑、后退等)。
在Virtools Dev中主要是通过行为模块(BBs)来进行交互行为控制的。Virtools自带有500多个BBs,每个BBs具有特定的作用和功能,而且BBs本身有参数设定,从而可以把功能不同的BBs相互连接起来并且进行参数设定,以达到想要实现的目的。
Virtools自带的BBs基本能满足设计的要求。另外,还有两种方法可以设计出具有特殊功能的BBs来满足交互设计的要求:一种是通过Vc++编程;另一种是利用Virtools的软件开发工具包SDK。通过SDK可以创建一个新的动作(BBs)、修改现有动作的运行,通过给输入和输出文件写BBs可实现一些特殊格式的模型文件的导入导出、修改替换或扩充Virtools Dev的渲染引擎。
3 成品发布
虚拟太阳系经过场景建模、交互行为设定、测试正确后,可以采用三种方式进行发布:一种是通过“Export to Virtools player”命令直接保存为*,vmo格式;第二种是通过“Create Web Page”命令将文件保存为htm格式,这样,客户端只需下载并安装插件“3D Life Play”即可进行虚拟实验;第三种是利用Virtools打包器生成*exe可执行文件上传到网站上,用户直接下载到本地主机上来使用。
三、虚拟太阳系实例分析
虚拟太阳系模型能让学生从三维空间对太阳系进行立体的、全方位的观察和操作,从而对太阳系的组成、概貌、大小和尺寸等有更深的体会和理解,提高学习的效率和乐趣。下面通过实例来说明利用Virtools制作虚拟太阳系的主要步骤:
(一)整体场景的调入及设置
1 模型库场景调入与设置
首先,导入NMO模型文件到Virtools的三维编辑区,设置它的大小与位置,并且设定初始值,建立灯光与摄像机;其次,从模型库中调入所需的实体、图形或视频文件到三维编辑区,并设置它们的属性;最后从模型库中调入需要的动画文件到相应的角色上,从而完成基本场景的调入和设置。
2 弹出菜单的制作与设置
弹出菜单都是用2D Sprites(二维精灵)来制作与实现的,所以要把2D Sprigs从文件夹中拖放到三维编辑区,并按照顺序排列和摆放它们,设定初始值,以方便恢复已调整好的位置,为后期添加BBs模组、实现交互行为做准备。
(二)鼠标触发动作的设置
1 鼠标点选轨道图标
因为每个行星都按一定的轨道在运转,所以我们根据行星的运行轨迹设计了它们的轨道,使之更加形象;当用鼠标点击轨道图标时轨道出现5秒钟,然后自动消失,用到的BBs有Wait Message、Group lerator、Show、Hide和Delayer。该行为交互的脚本流程如图5所示。
2 鼠标触发弹出菜单
当把鼠标拖放到左侧星球或轨道图标上时,会自动弹出一个带有该星球名字的菜单,鼠标移走它即消失,这个弹出菜单的作用就是显示此星球的名字,从而使学生更容易识别记忆。这个脚本流程用到了两个封装的BBs、Roll On与Rou Off,封装的BBs就是把许多基本的BBs按一定顺序连接起来,然后把它们包裹起来,重新命名。它的好处是使脚本流程看起来更简洁清晰,并且可以在以后用到的时候重新调用,减少了开发脚本的工作量。具体脚本流程如图6。Roll On展开如图7。
3 标点选图标或星球实体
当用鼠标点击左侧图标或星球实体时,星球会变大,并且飞翔到操作者的眼前,再点击又恢复到原来状态。当星球变大并飞到操作者眼前时,右侧会弹出一个帮助菜单,上面会显示此星球的名字、半径、轨道、密度和卫星等情况,以利于操作者在观察的同时获得更多的知识。这个过程比较复杂,它包括星球变大、显示和隐藏帮助菜单、星球状态转换等几个分支,这些效果主要是通过设置摄像机来实现的,因为摄像机相当于我们的眼睛,当摄像机变化时,我们看到的东西也会发生变化。具体脚本流程如图8、图9、图10、图11。
(三)星球自转与公转的设定
虚拟太阳系是模拟真实太阳系而设计的,所以与现实中的自然规律一样,行星绕着太阳公转,卫星绕着行星公转,而太阳、行星和卫星本身还在自转,因为几个行星的公转和自转是一样的设置,所以这里就用行星地球和卫星月球作为代表,这里用到的BBs有Rotate、curveFollow等。具体脚本流程如图12、图13所示。
(四)星球表面效果的设定
我们知道太阳表面有耀斑和黑子活动,所以在太阳的表面要设置像闪耀的火焰的效果,对于这些效果在Virtools Dev中实现非常容易,用一个粒子系统模块就可以实现。这里我们用球状粒子系统模块SphericalParticleSystem来模拟太阳表面的火焰效果。具体脚本流程如图14所示。
(五)后期整合
利用3ds max和Virtools完成建模交互设计后,虚拟太阳系的工作已经完成了大部分,后面就是结合网站设计软件Dreamweaver、Asp和Photoshop来完成虚拟太阳系网站的其他模块,最后通过前面提到的三种发布方式,把虚拟太阳系成品发布到网站上,以提供学习者使用。
四、结论
《基础教育课程改革纲要》明确指出:“大力推进信息技术在教学过程中的普遍应用,促进信息技术与学科课程的整合,逐步实现教学内容的呈现方式、学生的学习方式、教师的教学方式和师生互动方式的变革,充分发挥信息技术的优势,为学生的学习和发展提供丰富多彩的教育环境和有力的学习工具。”笔者认为,技术的应用最终是为了更好地优化学习。虚拟现实技术可以生动形象地为学生展现教学内容,让学生对所学内容产生浓厚的兴趣,网络技术可以让学生在线协作学习、相互讨论、及时反馈;而虚拟太阳系正是两种技术在教育应用中的一次尝试和探索,它改变了传统的教学方式,提高了教学效率,改善了教学环境,提升了教学质量,不仅能使学生掌握知识,还能使学生学会如何学习,培养学生独立思考的能力和自主学习的能力,有利于学生的个性发展。虽然虚拟现实技术在教育中的应用刚刚兴起,与其他领域相比还不太成熟,但相信它在教育系统中一定会有美好的未来!