王超英
摘要:該文對虛擬現(xiàn)實和shockwave進行闡述,介紹了如何利用Director實現(xiàn)虛擬現(xiàn)實多媒體課件的設(shè)計與制作,以達到在多媒體課件中,實現(xiàn)三維仿真及漫游的目的。
關(guān)鍵詞:Shockwave;Director;虛擬現(xiàn)實;多媒體課件
中圖分類號: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
隨著虛擬現(xiàn)實技術(shù)的發(fā)展,基于虛擬現(xiàn)實技術(shù)的多媒體課件在教育中的作用也越來重要。在實際教學(xué)中,為表現(xiàn)一些空間立體化的知識、如原子、分子的結(jié)構(gòu)、分子的結(jié)合過程、機械的運動時,使用交互功能的3D課件使學(xué)習(xí)過程形象化,學(xué)生更容易接受和掌握,并在實際的動手操作中得到更深的體會,從而提高多媒體課件的功能,更加有效地提高教學(xué)效果。
1虛擬現(xiàn)實與交互式多媒體
1.1虛擬現(xiàn)實技術(shù)概述
虛擬現(xiàn)實(Virtual Reality,簡稱VR)是利用電腦模擬也一個虛擬的3D空間世界,讓使用者如同在現(xiàn)實中一樣以不同的視角去觀察3D空間內(nèi)的事物。虛擬現(xiàn)實技術(shù)作為一種新型的教學(xué)媒體改變了以往的人機交互方式,能讓瀏覽者通過親自的“經(jīng)歷”和“感受”獲得知識。虛擬現(xiàn)實作為一種全新的教學(xué)媒體形式,突破了時空的限制,增強了各個學(xué)科的課堂教學(xué)效果,推動計算機輔助教育的不斷前進。
虛擬現(xiàn)實技術(shù)的實現(xiàn)主要有3大類:一是通過直接編程實現(xiàn),如VRML、C++、Delphi等;二是基于OpenGL圖形庫編寫程序建模同時添加實時性和交互性功能模塊實現(xiàn);三是直接通過建模軟件和虛擬現(xiàn)實軟件共同實現(xiàn),如Maya RTA、Virtools、Cult3D、View? point、Pulse3D、Shockwave 3D、Shout3D等,這類方法當前是主流。
1.2 Shockwave
與其他虛擬現(xiàn)實技術(shù)相比,ShockWave 3D具有一定的優(yōu)勢:
1)是一種針對Internet的虛擬現(xiàn)實技術(shù),或稱Web 3D技術(shù)。ShockWave 3D引擎從一開始就是為Internet設(shè)計的,它可以在網(wǎng)絡(luò)上進行流式傳輸。
2)文件尺寸小,下載時間少。ShockWave3D文件比其他Web3D技術(shù)的文件小得多,對于運行大一些的三維場景,ShockWave3D更具優(yōu)勢。
3)可與多媒體緊密結(jié)合。因為Director本身是一個多媒體集成開發(fā)工具,因此用Director開發(fā)的虛擬現(xiàn)實應(yīng)用可以和其他多媒體元素很好結(jié)合,使應(yīng)用更具有吸引人的交互方式。1.3 Director
虛擬場景程序設(shè)計通常是建立在DirectX 3D或OpenGL等圖形標準的基礎(chǔ)上,通過DirectX 3D和OpenGL等API函數(shù)庫結(jié)合高級語言編程實現(xiàn)三維虛擬的交互操作。但這結(jié)非專業(yè)人員來說非常困難。Director作為一個強大的多媒體開發(fā)工具,可以整合圖形、動畫、文本和視頻來生成豐富多彩的多媒體作品,而且它還是一個強大的虛擬現(xiàn)實應(yīng)用開發(fā)工具。Director中的引入的Shockwave 3D引擎,結(jié)合上百條控制Lingo的函數(shù),結(jié)合Director本身的多媒體功能,使開發(fā)出的多媒體課件在交互能力上具有強大的優(yōu)勢。
3利用D irector實現(xiàn)虛擬現(xiàn)實多媒體課件
3.1構(gòu)建虛擬場景
建立三維實體模型是實現(xiàn)虛擬仿真的基礎(chǔ)。從簡單的三維文字動畫到交互式三維游戲環(huán)境,都可以通過Shockwave 3D表現(xiàn)出來。但Shockwave 3D引擎只能瀏覽三維模型,雖然用戶也可以通過Lingo來創(chuàng)建Shockwave 3D場景,不過要想創(chuàng)建復(fù)雜些的場景就必須借助專業(yè)的三維軟件。從多媒體課件制作的角度,需要選擇成熟、易學(xué)、兼容性好、具有一定交互功能的軟件,本文使用3DS Max作為建模工具,導(dǎo)出為Shockwave 3D模型(擴展名為.w3d),利用Director的3Dbehaviors或Lingo語句控制3D模型實現(xiàn)多媒體課件的三維交互功能。
在制作模型時要注意:1、做簡模:盡量減少模型的面數(shù),模型面數(shù)過多,會導(dǎo)致文件容量增大,面數(shù)如能控制在兩萬以內(nèi),則能保證在大部分機器上都能瀏覽順暢。2、模型的面一般應(yīng)控制為單面:即面只有一個方向,這樣可以減少實時渲染時的運算量。3、模型的三角網(wǎng)格盡量是等邊三角形,不要出現(xiàn)長條型:因為長條形的面不利于實時渲染,還會出現(xiàn)鋸齒,紋理模糊等現(xiàn)象。4、在表現(xiàn)細長條的物體時,盡量不用模型而用貼圖的方式表現(xiàn)。5、模型的數(shù)量不要太多。6、合理分布模型的密度。7、保持模型面與面之間的距離。如果物體的面與面之間貼得太近,會出現(xiàn)兩個面交替出現(xiàn)的閃爍現(xiàn)象。
首先利用3DSMax完成三維造型,為其添加適當?shù)牟馁|(zhì)紋理,然后選取菜單上的文件|導(dǎo)出命令,在導(dǎo)出對話框中,選擇“Shock? wave 3D場景導(dǎo)出”。這樣就將模型轉(zhuǎn)換成Shockwave 3D格式文件,然后導(dǎo)入Director MX中就形成了3D演員。
圖1最簡單的Shockwave虛擬現(xiàn)實系統(tǒng)結(jié)構(gòu)
3.2將制作好的三維場景添加到Director課件中
3.2.1利用3D行為實現(xiàn)三維交互
把3D模型導(dǎo)入舞臺后,利用3D行為實現(xiàn)課件三維場景交互。打開Library面板,選擇3D中的Actions類行為面板,在該面板中選擇一個Rotate Camera的Public行為,按住鼠標左鍵不放,將其拖動到3D精靈上。圖2所示是在3D精靈上添加Rotate Camera行為后彈出的設(shè)置對話框。
圖2 Rotate Camera行為的設(shè)置對話框
設(shè)置好參數(shù)后完成該行為的添加,但是此時添加的行為并不能被激活,原因是需要添加一個觸發(fā)器將其觸發(fā)。打開3D中Trig? gers類行為面板,選擇Mouse Left,將其拖動到3D精靈上,設(shè)置好圖3對話框中的參數(shù),即可完成設(shè)置。此時就可以通過鼠標左鍵來觸發(fā)模型的旋轉(zhuǎn)。
圖3 Mouse Left行為的設(shè)置對話框
3.2.2利用Lingo語句實現(xiàn)三維交互
利用Director的3D行為雖然可以很好控制3D模型,但交互性比較復(fù)雜的還是比較難以實現(xiàn)的。因此熟練地運用3D的Lingo語句可以更加靈活方便的控制3D模型。
例如將模型拖入舞臺形成精靈1,為精靈1添加腳本,產(chǎn)生獲取當前精靈的控制權(quán)和角色,然后獲取角色的模型,利用用戶的按鍵對模型進行旋轉(zhuǎn)或者平移等操作。
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結(jié)論
結(jié)合虛擬現(xiàn)實技術(shù)強大的媒體控制能力,能夠創(chuàng)作出逼真的虛擬現(xiàn)實環(huán)境。在多媒體課件開發(fā)中應(yīng)用虛擬現(xiàn)實彌補了傳統(tǒng)課件不能創(chuàng)建三維仿真環(huán)境的缺陷,使得多媒體課件具有了一定的三維仿真和漫游能力,進一步拓展了多媒體課件的功能,使學(xué)習(xí)過程形象化,學(xué)生更容易接受和掌握。
參考文獻:
[1]梁琨,黃小麗.虛擬現(xiàn)實技術(shù)在教育中的應(yīng)用探討[J].軟件導(dǎo)刊:教育技術(shù),2008(3).
[2]古成中,吳新躍.基于Director的交互式虛擬仿真系統(tǒng)[J].杭州:工程設(shè)計學(xué)報,2007(4).
[3]馮莉莉,武衛(wèi)玲.基于3ds Max的虛擬校園三維模型的創(chuàng)建[J].林業(yè)科技情報,2009(1):10-11.
[4]郭新房,何方.Director交互式多媒體開發(fā)[M].清華大學(xué)出版社;2009:289-312.
[5]葉華喬,習(xí)海旭,黃純國.虛擬現(xiàn)實技術(shù)在職業(yè)教育教學(xué)中的應(yīng)用[J].武漢船舶職業(yè)技術(shù)學(xué)院學(xué)報,2007(3).