王超英
摘要:该文对虚拟现实和shockwave进行阐述,介绍了如何利用Director实现虚拟现实多媒体课件的设计与制作,以达到在多媒体课件中,实现三维仿真及漫游的目的。
关键词:Shockwave;Director;虚拟现实;多媒体课件
中图分类号:TP37文献标识码:A文章编号:1009-3044(2012)02-0450-03
The Design and Production of Multimedia Courseware Based on Virtual Reality of Shockwave and Director
WANG Chao-ying
(Dongguan Polytechinic, Dongguan 523808, China)
Abstract:In this paper, virtual reality and shockwave described, introduced how to use Director to realize the design and production of multimedia courseware of virtual reality, to meet the multimedia courseware to achieve three-dimensional simulation and roaming purposes. Key words:shockwave;director;virtual reality;multimedia courseware
随着虚拟现实技术的发展,基于虚拟现实技术的多媒体课件在教育中的作用也越来重要。在实际教学中,为表现一些空间立体化的知识、如原子、分子的结构、分子的结合过程、机械的运动时,使用交互功能的3D课件使学习过程形象化,学生更容易接受和掌握,并在实际的动手操作中得到更深的体会,从而提高多媒体课件的功能,更加有效地提高教学效果。
1虚拟现实与交互式多媒体
1.1虚拟现实技术概述
虚拟现实(Virtual Reality,简称VR)是利用电脑模拟也一个虚拟的3D空间世界,让使用者如同在现实中一样以不同的视角去观察3D空间内的事物。虚拟现实技术作为一种新型的教学媒体改变了以往的人机交互方式,能让浏览者通过亲自的“经历”和“感受”获得知识。虚拟现实作为一种全新的教学媒体形式,突破了时空的限制,增强了各个学科的课堂教学效果,推动计算机辅助教育的不断前进。
虚拟现实技术的实现主要有3大类:一是通过直接编程实现,如VRML、C++、Delphi等;二是基于OpenGL图形库编写程序建模同时添加实时性和交互性功能模块实现;三是直接通过建模软件和虚拟现实软件共同实现,如Maya RTA、Virtools、Cult3D、View? point、Pulse3D、Shockwave 3D、Shout3D等,这类方法当前是主流。
1.2 Shockwave
与其他虚拟现实技术相比,ShockWave 3D具有一定的优势:
1)是一种针对Internet的虚拟现实技术,或称Web 3D技术。ShockWave 3D引擎从一开始就是为Internet设计的,它可以在网络上进行流式传输。
2)文件尺寸小,下载时间少。ShockWave3D文件比其他Web3D技术的文件小得多,对于运行大一些的三维场景,ShockWave3D更具优势。
3)可与多媒体紧密结合。因为Director本身是一个多媒体集成开发工具,因此用Director开发的虚拟现实应用可以和其他多媒体元素很好结合,使应用更具有吸引人的交互方式。1.3 Director
虚拟场景程序设计通常是建立在DirectX 3D或OpenGL等图形标准的基础上,通过DirectX 3D和OpenGL等API函数库结合高级语言编程实现三维虚拟的交互操作。但这结非专业人员来说非常困难。Director作为一个强大的多媒体开发工具,可以整合图形、动画、文本和视频来生成丰富多彩的多媒体作品,而且它还是一个强大的虚拟现实应用开发工具。Director中的引入的Shockwave 3D引擎,结合上百条控制Lingo的函数,结合Director本身的多媒体功能,使开发出的多媒体课件在交互能力上具有强大的优势。
3利用D irector实现虚拟现实多媒体课件
3.1构建虚拟场景
建立三维实体模型是实现虚拟仿真的基础。从简单的三维文字动画到交互式三维游戏环境,都可以通过Shockwave 3D表现出来。但Shockwave 3D引擎只能浏览三维模型,虽然用户也可以通过Lingo来创建Shockwave 3D场景,不过要想创建复杂些的场景就必须借助专业的三维软件。从多媒体课件制作的角度,需要选择成熟、易学、兼容性好、具有一定交互功能的软件,本文使用3DS Max作为建模工具,导出为Shockwave 3D模型(扩展名为.w3d),利用Director的3Dbehaviors或Lingo语句控制3D模型实现多媒体课件的三维交互功能。
在制作模型时要注意:1、做简模:尽量减少模型的面数,模型面数过多,会导致文件容量增大,面数如能控制在两万以内,则能保证在大部分机器上都能浏览顺畅。2、模型的面一般应控制为单面:即面只有一个方向,这样可以减少实时渲染时的运算量。3、模型的三角网格尽量是等边三角形,不要出现长条型:因为长条形的面不利于实时渲染,还会出现锯齿,纹理模糊等现象。4、在表现细长条的物体时,尽量不用模型而用贴图的方式表现。5、模型的数量不要太多。6、合理分布模型的密度。7、保持模型面与面之间的距离。如果物体的面与面之间贴得太近,会出现两个面交替出现的闪烁现象。
首先利用3DSMax完成三维造型,为其添加适当的材质纹理,然后选取菜单上的文件|导出命令,在导出对话框中,选择“Shock? wave 3D场景导出”。这样就将模型转换成Shockwave 3D格式文件,然后导入Director MX中就形成了3D演员。
图1最简单的Shockwave虚拟现实系统结构
3.2将制作好的三维场景添加到Director课件中
3.2.1利用3D行为实现三维交互
把3D模型导入舞台后,利用3D行为实现课件三维场景交互。打开Library面板,选择3D中的Actions类行为面板,在该面板中选择一个Rotate Camera的Public行为,按住鼠标左键不放,将其拖动到3D精灵上。图2所示是在3D精灵上添加Rotate Camera行为后弹出的设置对话框。
图2 Rotate Camera行为的设置对话框
设置好参数后完成该行为的添加,但是此时添加的行为并不能被激活,原因是需要添加一个触发器将其触发。打开3D中Trig? gers类行为面板,选择Mouse Left,将其拖动到3D精灵上,设置好图3对话框中的参数,即可完成设置。此时就可以通过鼠标左键来触发模型的旋转。
图3 Mouse Left行为的设置对话框
3.2.2利用Lingo语句实现三维交互
利用Director的3D行为虽然可以很好控制3D模型,但交互性比较复杂的还是比较难以实现的。因此熟练地运用3D的Lingo语句可以更加灵活方便的控制3D模型。
例如将模型拖入舞台形成精灵1,为精灵1添加脚本,产生获取当前精灵的控制权和角色,然后获取角色的模型,利用用户的按键对模型进行旋转或者平移等操作。
global mem,obj
global td,sp
on beginsprite me
sp=sprite(me.spritenum)
mem=sp.member
obj=mem.model(1)
end
on enterframe me
case (_key.keypressed()) of
"w":swing(-2.5)
"s":swing(2.5)
"a":scoop(-5)
"d":swing(2)
"g":coop(5)
end case
end
on swing num
repeat with i=1 to 30
obj.rotate(0,(num)*0.5,0)
updatestage
end repeat
end
on scoop num
repeat with i=1 to 20
obj.translate(0,0,num*5)
updatestage
end repeat
end
4结论
结合虚拟现实技术强大的媒体控制能力,能够创作出逼真的虚拟现实环境。在多媒体课件开发中应用虚拟现实弥补了传统课件不能创建三维仿真环境的缺陷,使得多媒体课件具有了一定的三维仿真和漫游能力,进一步拓展了多媒体课件的功能,使学习过程形象化,学生更容易接受和掌握。
参考文献:
[1]梁琨,黄小丽.虚拟现实技术在教育中的应用探讨[J].软件导刊:教育技术,2008(3).
[2]古成中,吴新跃.基于Director的交互式虚拟仿真系统[J].杭州:工程设计学报,2007(4).
[3]冯莉莉,武卫玲.基于3ds Max的虚拟校园三维模型的创建[J].林业科技情报,2009(1):10-11.
[4]郭新房,何方.Director交互式多媒体开发[M].清华大学出版社;2009:289-312.
[5]叶华乔,习海旭,黄纯国.虚拟现实技术在职业教育教学中的应用[J].武汉船舶职业技术学院学报,2007(3).