基于Silverlight的3D虛擬教學(xué)系統(tǒng)關(guān)鍵技術(shù)研究
關(guān)鍵詞:虛擬現(xiàn)實(shí) 虛擬教學(xué)系統(tǒng) Silverlight 富客戶端
虛擬現(xiàn)實(shí)應(yīng)用于教育是教育技術(shù)發(fā)展的一個(gè)飛躍。它營(yíng)造了“自主學(xué)習(xí)”的環(huán)境,由傳統(tǒng)的“以教促學(xué)”的學(xué)習(xí)方式代之為學(xué)習(xí)者通過(guò)自身與信息環(huán)境的相互作用來(lái)得到知識(shí)、技能的新型學(xué)習(xí)方式。利用虛擬現(xiàn)實(shí)技術(shù)建立的各種虛擬實(shí)驗(yàn)室,擁有低廉的成本、零操作實(shí)驗(yàn)風(fēng)險(xiǎn)、無(wú)時(shí)空限制等傳統(tǒng)實(shí)驗(yàn)室難以比擬的優(yōu)勢(shì)。虛擬現(xiàn)實(shí)的沉浸性和交互性,使學(xué)生能夠在虛擬的學(xué)習(xí)環(huán)境中扮演一個(gè)角色,全身心地投入到學(xué)習(xí)環(huán)境中去,有利于學(xué)生的技能訓(xùn)練。虛擬校園是虛擬現(xiàn)實(shí)技術(shù)在教育培訓(xùn)中最早的具體應(yīng)用,提供相對(duì)完整的三維可視化虛擬校園以學(xué)員為中心,加入一系列人性化的功能,通過(guò)交互式遠(yuǎn)程終端,提供開(kāi)放性的、遠(yuǎn)距離的持續(xù)教學(xué)。目前,許多高校都在積極研究虛擬現(xiàn)實(shí)技術(shù)及其應(yīng)用,并相繼建起了虛擬現(xiàn)實(shí)與系統(tǒng)仿真研究室,將科研成果迅速轉(zhuǎn)化實(shí)用技術(shù)。
1 3D渲染引擎系統(tǒng)架構(gòu)設(shè)計(jì)
一個(gè)3D引擎最基本的功能應(yīng)該包括對(duì)3維場(chǎng)景的數(shù)據(jù)管理、功能合理的渲染器、與外部軟件的交互能力。完整功能的3D游戲引擎需要的基本部件有系統(tǒng)(System)、控制臺(tái)(Console)、支持(Support),渲染/引擎內(nèi)核(Renderer/Engine Core)、介質(zhì)層(Interface)、以及工具/數(shù)據(jù)(Tools/Data)等。系統(tǒng)的整體框架如圖1所示。
系統(tǒng)(system)是引擎與機(jī)器本身做通信交互的部件。一個(gè)優(yōu)秀的引擎在待平臺(tái)移植時(shí),它的系統(tǒng)則是唯一需要做主要更改(擴(kuò)加代碼)的地方。把一個(gè)系統(tǒng)分為若干個(gè)子系統(tǒng),其中包括:圖形(Graphics)、輸入(Input)、聲音(Sound)、記時(shí)器(Timer)、配置(Configuration)。主系統(tǒng)負(fù)責(zé)初始化、更新、以及關(guān)閉所有的子系統(tǒng)。
圖形子系統(tǒng)(Graphics Sub-System)可以基于OpenGL、Direct3D, Glide或是軟件渲染(software rendering)實(shí)現(xiàn)。在Sliverlight中,提供了原生的支持。輸入子系統(tǒng)(Input Sub-System)需要把各種不同輸入裝置的輸入觸發(fā)做統(tǒng)一的控制接收處理。聲音子系統(tǒng)(sound system)負(fù)責(zé)載入、播放聲音。支持3D聲音。3D游戲引擎中很多出色的表現(xiàn)都是基于“時(shí)間系統(tǒng)”(time),Silverlight 5的DrawingSurface提供了對(duì)時(shí)間系統(tǒng)的管理。
Renderer/Engine Core (渲染/引擎內(nèi)核)包括以下幾個(gè)部份:可見(jiàn)裁減(Visibility)、碰撞檢測(cè)與反饋
(Collision Detection and Response)、攝像器(Camera)、靜態(tài)幾何體(Static Geometry)、動(dòng)態(tài)幾何體(Dynamic Geometry)、粒子系統(tǒng)(Particle Systems)、布告板(Billboarding)、網(wǎng)格(Meshes)、天空體(Skybox)、光線(Lighting)、霧(Fogging)、節(jié)點(diǎn)陰影(Vertex Shading)等。
Interface (接口)層提供攝像器(camera)、模型屬性(model properties)、光線(lights)、粒子系統(tǒng) 物理(particle system physics)、聲效播放(playing sounds)、音樂(lè)播放(playing music)、輸入操作(handling input)、切換等級(jí)(changing levels)、碰撞檢測(cè)以及反饋(collision detection and response)、以及2D圖形界面的頂端顯示、標(biāo)題畫(huà)面等。
2 系統(tǒng)詳細(xì)設(shè)計(jì)
根據(jù)系統(tǒng)的設(shè)計(jì)架構(gòu),詳細(xì)設(shè)計(jì)的類圖如下:
2.1 渲染引擎核心
在Silverlight5中3d渲染需要開(kāi)啟GPU加速,即設(shè)置EnableGPUAcceleration為true。添加DrawSurface控件同時(shí)定義Draw事件。生成Draw事件處理函數(shù)。定義一個(gè)存儲(chǔ)頂點(diǎn)數(shù)據(jù)的結(jié)構(gòu)體。通過(guò)引進(jìn)一個(gè)輕量級(jí)的XNAGraphicsFramework4.0提供對(duì)3D的支持,該特性可以開(kāi)發(fā)更豐富的游戲和用戶體驗(yàn)。
2.2 渲染線程
Silverlight 5中,線程架構(gòu)有一個(gè)新的變化,加入了 composition thread,該線程分擔(dān)了UI線程的部分工作,負(fù)責(zé)在GPU 加速功能被開(kāi)啟時(shí),承擔(dān)GPU 相關(guān)操作的工作任務(wù)。Silverlight中的異步數(shù)據(jù)下載對(duì)此做了很好的支持,為此設(shè)計(jì)資源管理器,在資源抵達(dá)時(shí),通過(guò)繼承INotifyPropertyChanged類,在數(shù)據(jù)加載時(shí)對(duì)注冊(cè)了PropertyChangedEventHandler委托事件的類進(jìn)行通知。
2.3 資源管理器
資源加載線程資源對(duì)象的創(chuàng)建分為兩步,先是資源文件到內(nèi)存數(shù)據(jù)塊的加載,再創(chuàng)建最后的資源對(duì)象。異步請(qǐng)求數(shù)據(jù)執(zhí)行避免了主線程因?yàn)槲募蘒O而阻塞。主線程可以在任何時(shí)候提出加載請(qǐng)求,其主要參數(shù)就是待加載文件的Uri。加載模塊將請(qǐng)求放入一個(gè)待完成請(qǐng)求的隊(duì)列。加載線程不斷從請(qǐng)求隊(duì)列中取出命令消息,完成文件的打開(kāi)及讀取,將加載后的內(nèi)存指針保存到命令消息結(jié)構(gòu)中,并把完成后的命令消息增加到一個(gè)已完成命令的隊(duì)列中去。
2.4 系統(tǒng)通訊
Silverlight中的Socket通信是典型的異步機(jī)制。.net 中每一個(gè)進(jìn)程都有一個(gè)完成端口對(duì)象,它內(nèi)部有個(gè)設(shè)備列表,用戶把某個(gè)socket傳進(jìn)完成端口時(shí),它就把這個(gè)socket加入到設(shè)備列表中進(jìn)行監(jiān)視。
3 結(jié)語(yǔ)
通過(guò)對(duì)3D虛擬教學(xué)系統(tǒng)關(guān)鍵技術(shù)中3D渲染引擎的研究與設(shè)計(jì),為進(jìn)一步設(shè)計(jì)基于客戶端的3D渲染技術(shù)提供了參考,該實(shí)例證明了在目前網(wǎng)絡(luò)環(huán)境和終端計(jì)算條件下,實(shí)現(xiàn)遠(yuǎn)程3D虛擬教學(xué)系統(tǒng)的可行性。3D虛擬教學(xué)系統(tǒng)強(qiáng)大的交互性和浸沒(méi)感,對(duì)改善教學(xué)條件和提高教學(xué)效果具有劃時(shí)代的意義。通過(guò)對(duì)現(xiàn)代高新技術(shù)和渲染引擎的分析研究,引入云端渲染技術(shù),實(shí)現(xiàn)了虛擬教學(xué)系統(tǒng)終端3D呈現(xiàn)。
參考文獻(xiàn):
[1]曾芬芳.虛擬現(xiàn)實(shí)技術(shù)[M].上海:上海交通大學(xué)出版社,1997.
[2]李亞琭,郝應(yīng)光,唐禎安.遠(yuǎn)程教育與虛擬實(shí)驗(yàn)室[J].自然雜志,2003,23(3):157-160.
[3]劉曉君.基于Web的虛擬教學(xué)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2005.
[4]丁士鋒.Silverlight-RIA開(kāi)發(fā)技術(shù)詳解[M].北京:人民郵電出版社,2008.
[5]熊云龍.基于Silverlight的RIA研究及應(yīng)用[D].重慶大學(xué),2001.
責(zé)任編輯:葉雨田
-
現(xiàn)貨模式下谷電用戶價(jià)值再評(píng)估
2020-10-10電力現(xiàn)貨市場(chǎng),電力交易,電力用戶 -
PPT | 高校綜合能源服務(wù)有哪些解決方案?
2020-10-09綜合能源服務(wù),清潔供熱,多能互補(bǔ) -
深度文章 | “十三五”以來(lái)電力消費(fèi)增長(zhǎng)原因分析及中長(zhǎng)期展望
2020-09-27電力需求,用電量,全社會(huì)用電量
-
PPT | 高校綜合能源服務(wù)有哪些解決方案?
2020-10-09綜合能源服務(wù),清潔供熱,多能互補(bǔ) -
深度文章 | “十三五”以來(lái)電力消費(fèi)增長(zhǎng)原因分析及中長(zhǎng)期展望
2020-09-27電力需求,用電量,全社會(huì)用電量 -
我國(guó)電力改革涉及的電價(jià)問(wèn)題
-
電化學(xué)儲(chǔ)能應(yīng)用現(xiàn)狀及對(duì)策研究
2019-08-14電化學(xué)儲(chǔ)能應(yīng)用 -
《能源監(jiān)測(cè)與評(píng)價(jià)》——能源系統(tǒng)工程之預(yù)測(cè)和規(guī)劃
-
《能源監(jiān)測(cè)與評(píng)價(jià)》——能源系統(tǒng)工程之基本方法
-
貴州職稱論文發(fā)表選擇泛亞,論文發(fā)表有保障
2019-02-20貴州職稱論文發(fā)表 -
《電力設(shè)備管理》雜志首屆全國(guó)電力工業(yè) 特約專家征文
2019-01-05電力設(shè)備管理雜志 -
國(guó)內(nèi)首座蜂窩型集束煤倉(cāng)管理創(chuàng)新與實(shí)踐
-
人力資源和社會(huì)保障部:電線電纜制造工國(guó)家職業(yè)技能標(biāo)準(zhǔn)
-
人力資源和社會(huì)保障部:變壓器互感器制造工國(guó)家職業(yè)技能標(biāo)準(zhǔn)
-
《低壓微電網(wǎng)并網(wǎng)一體化裝置技術(shù)規(guī)范》T/CEC 150
2019-01-02低壓微電網(wǎng)技術(shù)規(guī)范