孫壽鵬
摘 要:虛擬實(shí)驗(yàn)環(huán)境的實(shí)現(xiàn)是基于多媒體計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)和建模技術(shù)的結(jié)合,包括相應(yīng)的實(shí)驗(yàn)室環(huán)境、相關(guān)的實(shí)驗(yàn)設(shè)備、實(shí)驗(yàn)對(duì)象和實(shí)驗(yàn)信息資源。學(xué)習(xí)者可以自由進(jìn)入虛擬實(shí)驗(yàn)室操作儀器,進(jìn)行各種實(shí)驗(yàn),豐富感性知識(shí),加深對(duì)教學(xué)內(nèi)容的理解。
關(guān)鍵詞:unity3D虛擬實(shí)驗(yàn)平臺(tái)
一.unity3D技術(shù)概述
1.1 虛擬實(shí)驗(yàn)
虛擬現(xiàn)實(shí)技術(shù)是信息領(lǐng)域的前沿技術(shù),它在上世紀(jì)90年代作為一種基于可計(jì)算信息的沉浸式交互環(huán)境出現(xiàn),它使用了多種計(jì)算機(jī)技術(shù),如人工智能、模式識(shí)別、計(jì)算機(jī)圖形學(xué)和低層界面。虛擬現(xiàn)實(shí)技術(shù)是以計(jì)算機(jī)控制技術(shù)為核心,利用三維計(jì)算機(jī)圖形技術(shù)、網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)、人機(jī)交互技術(shù)、人機(jī)界面技術(shù)、傳感器技術(shù)、可視化技術(shù)、立體顯示技術(shù)和仿真技術(shù),建立一個(gè)具有視覺(jué)、聽(tīng)覺(jué)和觸覺(jué)感受的虛擬世界。虛擬現(xiàn)實(shí)技術(shù)的目標(biāo)是獲得真實(shí)世界的感覺(jué),因此多感知是虛擬現(xiàn)實(shí)技術(shù)的靈魂。通過(guò)虛擬實(shí)驗(yàn)室可以實(shí)現(xiàn)數(shù)據(jù)共享、軟件共享、遠(yuǎn)程儀器控制等功能。虛擬實(shí)驗(yàn)室是一種通用的虛擬技術(shù),可以在通用計(jì)算機(jī)平臺(tái)上取代傳統(tǒng)的電子實(shí)驗(yàn)室。通過(guò)虛擬實(shí)驗(yàn)室可以進(jìn)行各種實(shí)驗(yàn),具有靈活性高、成本低、效率高等特點(diǎn)。中國(guó)工業(yè)大學(xué)利用虛擬現(xiàn)實(shí)技術(shù)開展物理實(shí)驗(yàn)取得了一定的成績(jī),通過(guò)虛擬現(xiàn)實(shí)技術(shù)將實(shí)驗(yàn)設(shè)備、教學(xué)內(nèi)容、教學(xué)指導(dǎo)等整合在一起,克服了時(shí)間和空間的限制,使學(xué)生在虛擬實(shí)驗(yàn)環(huán)境中進(jìn)行實(shí)驗(yàn)。然而,我國(guó)虛擬實(shí)驗(yàn)室的發(fā)展仍處于起步階段,存在共享性差、互動(dòng)性差、擴(kuò)展能力不足等問(wèn)題。針對(duì)高職院校計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)的需求和難點(diǎn),設(shè)計(jì)了一個(gè)虛擬實(shí)驗(yàn)系統(tǒng)。實(shí)驗(yàn)教學(xué)的管理和維護(hù)集中在計(jì)算機(jī)上,開發(fā)了 b/s 和 c/s 混合系統(tǒng)結(jié)構(gòu)的虛擬實(shí)驗(yàn)平臺(tái)。
1.2虛擬實(shí)驗(yàn)的發(fā)展
虛擬實(shí)驗(yàn)的發(fā)展可以分為三個(gè)階段: 第一階段是思維模型階段和邏輯分析階段。本階段主要是基于物理實(shí)驗(yàn),利用邏輯分析和實(shí)驗(yàn)數(shù)據(jù)對(duì)思想層面進(jìn)行模擬。第二階段是計(jì)算機(jī)模擬階段。在此階段,以數(shù)學(xué)模型和邏輯模型為基礎(chǔ),通過(guò)計(jì)算機(jī)處理和存儲(chǔ)數(shù)據(jù),建立了數(shù)字化實(shí)驗(yàn)?zāi)P?。用戶通過(guò)計(jì)算機(jī)輸入設(shè)備操作實(shí)驗(yàn),具有一定的互動(dòng)性,但實(shí)驗(yàn)體驗(yàn)較差。第三階段是虛擬現(xiàn)實(shí)階段。在這一階段,參與者使用虛擬現(xiàn)實(shí)專業(yè)設(shè)備和互聯(lián)網(wǎng)操作實(shí)驗(yàn)來(lái)獲得最真實(shí)的實(shí)驗(yàn)體驗(yàn)。計(jì)算機(jī)模擬虛擬實(shí)驗(yàn)的成本相對(duì)較低,可以獲得真實(shí)的實(shí)驗(yàn)經(jīng)驗(yàn)。因此,計(jì)算機(jī)模擬虛擬實(shí)驗(yàn)的形式更為廣泛。
UNIY3D 是一款針對(duì)游戲開發(fā)、可視化仿真、多平臺(tái)開發(fā)需求的三人男性游戲引用,基于開源.Net 平臺(tái),一個(gè)真正實(shí)現(xiàn)開發(fā)、跨平臺(tái)發(fā)布的功能,其內(nèi)置的 Ncui 插件、腳本語(yǔ)言、豐富的類庫(kù)和物理成果,可以幫助開發(fā)人員快速構(gòu)建虛擬仿真系統(tǒng)。不需要編寫復(fù)雜的代碼,程序員可以使用 Unity3D 的可視化集成開發(fā)環(huán)境快速開發(fā)場(chǎng)景。Unity3D 在編寫程序方面有著特殊的優(yōu)勢(shì)。例如,與平臺(tái)相關(guān)的操作封裝在其內(nèi)部,復(fù)雜的游戲?qū)ο箨P(guān)系由不同的視圖管理,JavaScript或 Boo 腳本語(yǔ)言應(yīng)用于軟件平臺(tái)的編程。一個(gè)腳本程序會(huì)被自動(dòng)編譯成。腳本語(yǔ)言本質(zhì)上具有相同的性能,它們的執(zhí)行速度比傳統(tǒng)的 JavaScript 快20倍。這些腳本語(yǔ)言還具有良好的跨平臺(tái)能力。這意味著開發(fā)者可以在不同的平臺(tái)上部署軟件,比如 Windows,Mac,Xbox 360,PlayStation 3,Wii,iPad,iPhone 和 Android。此外,虛擬實(shí)驗(yàn)平臺(tái)可以通過(guò)安裝插件在 Web 上運(yùn)行。另一個(gè)特點(diǎn)是虛擬實(shí)驗(yàn)平臺(tái)的資源和對(duì)象可以以包的形式進(jìn)行導(dǎo)入或?qū)С觯@樣可以很容易地使不同的游戲項(xiàng)目共享開發(fā)工作。因此,在游戲開發(fā)中使用包可以大大提高開發(fā)效率。除了資源材料文件,具體功能可以打包,如人工智能,網(wǎng)絡(luò)操作,字符控制等。
二.基于unity3D平臺(tái)的虛擬實(shí)驗(yàn)平臺(tái)創(chuàng)建流程
一個(gè)虛擬實(shí)驗(yàn)平臺(tái)是由程序腳本控制的,用來(lái)訪問(wèn) Unity3D 的內(nèi)部。在 Unity3D 中有許多系統(tǒng)類,這些類在腳本中很有用。有兩種類型。一個(gè)被命名為應(yīng)用于操作虛擬實(shí)驗(yàn)平臺(tái)對(duì)象的運(yùn)行時(shí)類,另一個(gè)被命名為應(yīng)用于修改諸如插件和視圖信息等 Unity3D 工具的編輯器類。
盡管 Unity3D 中的一個(gè)類只有少量的方法,但它不僅易于使用,而且開發(fā)虛擬實(shí)驗(yàn)平臺(tái)功能強(qiáng)大。理解方法函數(shù)是在虛擬實(shí)驗(yàn)平臺(tái)程序中使用方法函數(shù)的關(guān)鍵。一些類表示可視的虛擬實(shí)驗(yàn)平臺(tái)對(duì)象,它們都從 Object 類繼承。這些類與相機(jī)、聲音、動(dòng)畫、粒子、剛性、材質(zhì)、紋理、顏色、字體、圖形用戶界面文本有關(guān)。其他類用作輔助操作。
將組件模型應(yīng)用于三維虛擬實(shí)驗(yàn)平臺(tái)開發(fā)中,提供了一種可擴(kuò)展的編程體系結(jié)構(gòu)。該組件模型可以方便地重用虛擬實(shí)驗(yàn)平臺(tái)功能模塊。虛擬實(shí)驗(yàn)平臺(tái)場(chǎng)景中的每個(gè)實(shí)體都被稱為一個(gè) Object。一個(gè)虛擬實(shí)驗(yàn)平臺(tái)對(duì)象代表一個(gè)虛擬實(shí)驗(yàn)平臺(tái)對(duì)象,在實(shí)際的平臺(tái)設(shè)計(jì)與構(gòu)建過(guò)程中,一個(gè)組件可以看作是一個(gè)集合,其中包含一組相關(guān)的函數(shù),可以通過(guò)接口訪問(wèn)這些函數(shù)。例如,一個(gè)腳本可以為虛擬實(shí)驗(yàn)平臺(tái)對(duì)象提供一個(gè)邏輯操作,而且 Unity3D 中的 Box Collider 組件特別提供了對(duì)虛擬實(shí)驗(yàn)平臺(tái)對(duì)象的碰撞偵測(cè)支持。Unity3D 有許多預(yù)定義的組件。程序員可以將其中的一些組合起來(lái)創(chuàng)建一個(gè)功能豐富的虛擬實(shí)驗(yàn)平臺(tái)對(duì)象。圖1顯示了 Unity3D 中組件模型的概念。
一個(gè)虛擬實(shí)驗(yàn)平臺(tái)由一個(gè)或多個(gè)場(chǎng)景組成,每個(gè)場(chǎng)景包含一個(gè)或多個(gè)虛擬實(shí)驗(yàn)平臺(tái)對(duì)象,而且每個(gè)虛擬實(shí)驗(yàn)平臺(tái)對(duì)象都由一些組件或子對(duì)象組成。在虛擬實(shí)驗(yàn)平臺(tái)開發(fā)中,除了直接使用三維虛擬實(shí)驗(yàn)平臺(tái)中預(yù)定義的虛擬實(shí)驗(yàn)平臺(tái)對(duì)象外,程序員還可以創(chuàng)建一個(gè)空的虛擬實(shí)驗(yàn)平臺(tái)對(duì)象,其中包含對(duì)象的位置、旋轉(zhuǎn)和比例等信息,然后添加腳本或其他組件。為了促進(jìn)同類型的虛擬實(shí)驗(yàn)平臺(tái)對(duì)象管理,軟件提供了預(yù)置,這是一種類似模板的技術(shù)。預(yù)置可以同時(shí)包含對(duì)象和虛擬實(shí)驗(yàn)平臺(tái)資源,比如3 d 模型。當(dāng)需要?jiǎng)?chuàng)建同類型的虛擬實(shí)驗(yàn)平臺(tái)對(duì)象時(shí),可以在這種情況下使用預(yù)設(shè)。所有的虛擬實(shí)驗(yàn)平臺(tái)物體將同時(shí)更新時(shí),其預(yù)置被改變。Prefab 的上述機(jī)制可以大大提高虛擬實(shí)驗(yàn)平臺(tái)的維護(hù)效率。
四.結(jié)束語(yǔ)
選擇 unity3D 作為開發(fā)工具,開發(fā)模擬實(shí)驗(yàn)系統(tǒng)應(yīng)彌補(bǔ)傳統(tǒng)數(shù)學(xué)條件的不足,為教師和學(xué)生提供一個(gè)真實(shí)的、沒(méi)有時(shí)間和空間限制的實(shí)驗(yàn)環(huán)境,改革現(xiàn)代實(shí)驗(yàn)教學(xué),充分利用數(shù)學(xué)資源對(duì)提高教學(xué)質(zhì)量具有重要的促進(jìn)作用。
參考文獻(xiàn):
[1]施新宇,邱峰,石承玉,施浩. 基于VR的渦噴六航空發(fā)動(dòng)機(jī)虛擬實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)與制作[J]. 電腦知識(shí)與技術(shù),2020,16(01):251-252+256.
[2]楊國(guó)鑫,鄭阿群,李健軍,白艷紅. 基于Unity3D的化學(xué)虛擬實(shí)驗(yàn)教學(xué)平臺(tái)構(gòu)建[J]. 實(shí)驗(yàn)室科學(xué),2019,22(05):72-76+80.
[3]趙顯敏. 基于Unity3D的初中物理虛擬實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)與應(yīng)用研究[D].四川師范大學(xué),2019.