《现代教育技术》虚拟实验室的设计与实现李欣(浙江师范大学教师教育学院,浙江金华321004)摘要:虚拟实验系统丰富了实验教学的教学模式和学习方式,为实践教学的创新提供了新的平台和拓展空间。结合国家精品课程《现代教育技术》的建设,以认知科学及建构主义学习理论为基础,提出了利用虚拟现实及多媒体技术构建虚拟实验系统的架构方案,并对系统的开发流程进行了探讨,在此基础上设计了虚拟实验系统原型。最后以实例描述了虚拟实验系统开发的关键技术。关键词:虚拟实验;建构主义;Vitrtools;Moodle平台中图分类号:G434文献标识码:A《现代教育技术》以培养未来教师的教育技术理论、教育技术技能为根本目标,是我国高师院校教师教育课程体系中一门重要的公共基础课程。浙江师范大学的《现代教育技术》课程于2004年进入国家精品课程行列,在这一理论与实践并重的课程中,如何加强并完善实验教学已成为精品课程建设中的重要环节。为了丰富和完善实验教学体系,更有效地推动该课程的实验教学,我们开始了“现代教育技术”虚拟实验室的研发,设计并实现了“现代教育技术”虚拟实验系统原型。随着虚拟现实技术的发展,虚拟实验在实验教学中得到越来越多的应用,国内外学者在这方面做了大量的研究工作[1-6]:文[1][2][3]进行了虚拟实验的交互设定和网络体系结构的研究,文[4][5][6]介绍了对象、建筑物、自然环境的构建方法。文[1-6]有一个共同特点,即均采用VRML(VirtualRealityModelingLanguage)技术。由于目前VRML不提供可视化开发环境,基于VRML的虚拟现实可视化工具还有待进一步研究[7][8],开发者必须从VRML提供的基本形体出发搭建复杂场景;虽然3DSMax和Maya等建模工具提供导出VRML的*.wrl文件格式的功能,但后期的文件优化耗时费力;以VRML为基础的基于Java技术通过EAI(ExternalAuthoringInterface)进行的交互控制,要求用户必须熟悉Java语言以及VRML的交互编程,因此,基于VRML或采用高级语言如JAVA、C语言等实现虚拟实验系统[9][10][11][12],在实际开发过程中存在难度大、实现复杂、辅助功能不强等诸多问题,易用性和实用性都不甚理想。基于PCS(Product-Context-Scenario)技术的VirtoolsDev采用非常直观的方式呈现3D內容[13],为研发人员提供了一个便捷的整合、沟通与分享三维体验的开发平台,在可视化开发环境方面有明显的优势。本文针对上述的不足,在充分调研的基础上,本着“技术设计为教学设计服务”[14]的原则,提出了3D-Virtools-Moodle构建虚拟实验室的架构方案。即在3DStudioMax中完成虚拟实验室、教学媒体设备的三维建模、动画制作;在VirtoolsDev中进行相关数据处理、三维对象的控制及交互设定;在Moodle教学管理平台中实现虚拟实验的绩效评估和教学管理。实现结果表明,采用该架构方案能克服上述方法的不足,具有真实性、交互性、简单和易实现等特点。一、虚拟实验室总体设计(一)设计目标“现代教育技术”虚拟实验室的设计目标是,改变高校现有实验教学中普遍存在的生均实验设备拥有量、设备更新周期以及学习时间冲突等根本问题[15],切实贯彻教学改革目标,以认知科学及建构主义学习理论为基础,利用虚拟现实及多媒体技术构建三维虚拟实验环境,为学生提供一个具有强烈真实感以及强大交互功能的“现代教育技术虚拟实验室”(见图2),支持探索学习、协同学习、经验学习等基于建构主义学习理论概念,并提供知识获取工具。主要特征有:①对实验室、实验仪器及附属设施,按实际尺寸进行三维建模,并以三维空间向量形式表示各实验模型形体和位置的相对关系;②支持实时交互功能。实验者可以通过鼠标、键盘完全操控场景中实验者的虚拟化身,实现从不同角度观察对象,以及漫步、转身、抬头、低头以及跑、跳等功能,为探索学习、经验学习提供支撑;③支持多媒体信息辅助,通过设置3D音效、背景音乐、多用户实时对话,构建一个逼真的三维虚拟世界;④知识库,为学习者的知识获取、形成意义建构提供技术支持;⑤通过Moodle平台实现对实验行为、结果的绩效评估。(二)系统体系结构虚拟实验室依据《现代教育技术》课程实验的要求进行开发,主要由虚拟实验手册、虚拟实验项目、虚拟教学媒体模型库、知识库以及Moodle管理平台五大模块组成。系统的体系结构如图1所示。图1现代教育技术虚拟实验系统的体系结构虚拟实验模块:包括常规媒体、多媒体教学环境、素材采集与处理、课件开发、网页设计与制作五个基础实验,以及自适应辅助工具集。学生在虚拟实验环境中按实验步骤完成整个虚拟实验,允许多次重做,直到熟练为止。图3为虚拟实验之一的常规媒体虚拟实验主界面;虚拟实验手册模块:介绍每个虚拟实验项目的学习背景、学习目标、学习任务、具体操作步骤,操控字母键的含义,以及虚拟实验环境的漫游、操控方法;教学媒体模型库模块(图4):虚拟实验中常用的教学媒体设备,主要有:光学投影仪、数字投影仪、实物展示台、多媒体教室综合平台等。通过键盘上的方向键可实现从各种不同角度观察媒体设备的构造,通过鼠标点击模型上的按钮、开关实现交互,以此了解教学媒体设备的主要构造及操作;知识库模块:包括《现代教育技术》国家精品课程()、《现代教育技术—技能训练》学习网站()、部分教学视频以及教学案例库等。主要通过二维的文本及视频信息让学生了解实验背景、充分掌握每个实验的相关信息;Moodle管理平台模块:动态记录和管理学生的实验过程,关注学生在实验过程中的投入程度和过程性评价。通过平台内嵌的评价反馈功能及时核查学生报告中的实验行为,监督和考评学生的实践技能。(三)虚拟实验室主界面二、虚拟实验的开发方法Virtools是由法国全球交互三维开发解决方案公司Virtools所开发,透过可视化的图形开发界面,开发人员只需要拖曳所需要的行为模块就可以建构出复杂的交互应用程序。可同时满足无程序背景的设计人员以及高级程序设计师的设计需求,让3D美术设计与程序设计人员进行良好的分工与合作,有效缩短开发流程、提升效益。由于软件内置超过500组的行为模块,可以让使用者快速设计出多样的3D数字媒体内容。其三维引擎已成为微软XBox认可系统。其特点是方便易用,应用领域广。本系统开发所应用的主要是Virtools的主开发程序VirtoolsDev。(一)开发平台Virtools简介开发工具的选取是否合适,对能否实现预定目标非常重要。虚拟实验作为整个系统的核心模块,数据处理量大、交互频繁。我们采用VirtoolsDEV作为开发平台,理由有三:①Virtools的三维引擎己经成为微软XBox认可系统,其特点是方便易用,应用范围涵盖游戏开发、数字娱乐、工业设计、新媒体艺术、视景仿真等多元领域,已有赛伯丽亚(Syberia)[16]和国际象棋在线(OnlineChessKingdoms)[17]等成功的开发案例;②Virtools在3D互动展示方面技术强大、组成完善,主要由创作应用程序、动作引擎、渲染引擎、Web播放器、软件开发工具包构成;③除了自身的3D/VR开发平台VirtoolsDev以外,还有5个可选模块:网络服务器VirtoolsServer、物理属性PhysicsPack、人工智能AIPack、游戏开发XBoxKit和沉浸式平台VRPack,为虚拟实验室的预期功能实现及拓展开发提供技术保障;④界面直观、使用容易。Virtools包含有500多个行为模块(BuildingBlocks,简称BBs),并提供重力、摩擦力、弹力、力场等多种物理属性设定,这些功能大大缩短了开发周期,避免了繁复冗长的动态交互设定与程序代码的撰写,只需通过简单的拖、拉、放,就能完成对象的物理属性和行为的设定。Virtools提供给开发者的是一个整合了多样化技术的单一使用界面,上手容易,符合采用“大众化技术”来实现虚拟实验室的开发原则。(二)Virtool设计虚拟实验的关键环节1.三维建模及Virtools资源库的建立虚拟实验环境的构建主要是指实验室及媒体设备模型的构建。由于Virtools本身自带的基本图元建模功能不强,所以建模一般是采用3DStudioMax、Maya等建模功能较强的三维动画软件来实现。笔者采用在3DStudioMax创建三维模型,并完成材质、贴图及动画关键帧的设定,通过安装好的插件导出文件,并以VirtoolsDev的资源文件格式*.NMO保存;然后将NMO文件导入到Virtools的3DLayout(三维编辑区)进行交互设定。在VirtoolsDev中用Resources/CreateNewDataResources创建新的资源库,把准备好的各种*.nmo资源文件拷贝到资源库相应的文件夹中,VirtoolsDev将自动分类并加载。这步工作是为在Virtools中进行拖放操作做好前期准备。对每个不同的虚拟实验项目应建立单独的资源库,这样更便于后期的修改更新及文件管理。2.用行为模块实现交互控制虚拟实验的操作步骤可以归结为模型对象的交互设定问题。具体来说,就是将实验步骤分解成具体的动作,并与键盘的操控和鼠标的拖曳、点击等动作构成映射。交互设定是通过Virtools中内置行为模块实现的,能够对二维或三维模型进行各种基本操作,如平移、旋转、缩放、颜色和透明度变化、二维贴图等,复杂操作如投影、燃烧、行走、奔跑、后退等。在VirtoolsDev中进行交互设定的最大特点,就是行为模块之间只需通过相互连接便能形成灵活的互动效果。每个行为模块(BBs)封装了特定的作用和功能,把许多功能不同的行为模块用相互连接的方式进行编辑,即可实现虚拟实验的要求。一般情况下,Virtools自带的BBs已基本能满足设计的要求。另外,还有两种方法可以设计出具有特殊功能的BBs来满足交互设计的要求:一种是通过VC++编程[18]另一种是利用Virtools的软件开发工具包SDK,通过SDK,可以创建一个新的动作(BBs)、修改现有动作的运行、通过给输入和输出文件写BBs可实现一些特殊格式的模型文件的导入导出、修改替换或扩充VirtoolsDev的渲染引擎。3.虚拟实验的发布虚拟实验室一般由两部分组成:一是虚拟实验环境,二是具体的虚拟实验。其中,虚拟实验环境是指由三维建模构建的虚拟实验空间,如门窗、墙、地板,以及置放其间的实验台、实验仪器设备等;具体的虚拟实验则是指对模型的交互控制,两者共同构成完整的虚拟实验室。虚拟实验在完成建模及交互设定后,可以采用两种方式进行发布:一种是通过“ExporttoVirtoolsPlayer”命令直接保存为*.vmo格式;另一种是通过“CreatWebPage”命令,将文件保存为htm格式。这样,客户端只需下载并安装插件“3DLifePlay”即可进行虚拟实验。三、具体实现案例三维虚拟实验环境,能让学生从三维空间对设备进行全方位的观察并进行交互操作,加深对设备的结构、使用方法的理解和掌握。下面通过实例说明利用Virtools实现虚拟实验系统的关键技术。(一)虚拟实验环境基础属性的实现1.用户(User)的基础属性设置。虚拟角色不能漂在空中,也不能穿透实体对象,为此,需设定角色始终在地板上,能对实体对象进行碰撞检测,同时,可通过键盘实现对虚拟角色的控制。建立用户脚本,设定相关参数,所需的BBs为:EnhancedCharacterKeepOnFloor、KeyboardController、PreventCollision、KeyEvent、SendMessage,具体的脚本流程如图5所示。2.实验室大门的自动启闭用户走近实验室大门,门自动开启;进入实验室后,门自动关闭。为门Door建立脚本,所需的BBs为Proximity、Nop以