范文杰
【摘要】隨著科技的快速發(fā)展,計(jì)算機(jī)提供的虛擬世界已經(jīng)成為人們生活中不可或缺的重要部分。虛擬現(xiàn)實(shí)技術(shù)是計(jì)算機(jī)科學(xué)研究的一個(gè)重要領(lǐng)域,虛擬校園是虛擬現(xiàn)實(shí)技術(shù)的一種應(yīng)用。通過(guò)將虛擬現(xiàn)實(shí)技術(shù)引入到數(shù)字校園的開(kāi)發(fā)中,可以為校園的設(shè)計(jì)與規(guī)劃提供一種全新的方式。本論文以某大學(xué)為例,采用Unity3D 作為虛擬漫游系統(tǒng)的開(kāi)發(fā)平臺(tái), 使用3DsMax為場(chǎng)景建模, 通過(guò)JavaScript 和C# 語(yǔ)言實(shí)現(xiàn)人機(jī)交互, 最后結(jié)合網(wǎng)絡(luò)完成整體導(dǎo)出,從而實(shí)現(xiàn)虛擬三維校園的開(kāi)發(fā)。
【關(guān)鍵詞】 Unity3D;3DsMax;交互;虛擬三維校園
【中圖分類(lèi)號(hào)】TP319
【文獻(xiàn)標(biāo)識(shí)碼】B
【文章編號(hào)】1671-8437(2017)18-0001-02
1引言
虛擬現(xiàn)實(shí)技術(shù)利用計(jì)算機(jī)生成接近真實(shí)的虛擬三維環(huán)境,能夠讓用戶(hù)完全沉浸其中,并且通過(guò)人機(jī)交互接口使用戶(hù)與虛擬環(huán)境產(chǎn)生直接交互。目前虛擬現(xiàn)實(shí)技術(shù)已經(jīng)廣泛應(yīng)用在電子商務(wù)、教育、醫(yī)療、工業(yè)仿真等眾多領(lǐng)域。近年來(lái)異軍突起的Unity3d虛擬環(huán)境開(kāi)發(fā)平臺(tái)得到業(yè)界的追捧。 本論文以某大學(xué)為研究對(duì)象, 從創(chuàng)建虛擬三維校園需求分析入手,通過(guò)前期測(cè)量,使用3DsMax制作各個(gè)數(shù)字分場(chǎng)景的模型,然后合并場(chǎng)景并將文件導(dǎo)入到Unity3D 中。最后借助Unity3D 平臺(tái)開(kāi)發(fā)虛擬三維校園漫游系統(tǒng), 并實(shí)現(xiàn)網(wǎng)絡(luò)環(huán)境下運(yùn)行。
2制作流程
21Unity3D平臺(tái)
Unity3D(簡(jiǎn)稱(chēng)U3D)是用于創(chuàng)建諸如三維游戲、實(shí)時(shí)三維動(dòng)畫(huà)、建筑可視化等互動(dòng)內(nèi)容的一個(gè)功能強(qiáng)大的專(zhuān)業(yè)游戲引擎。它支持多種腳本語(yǔ)言,其中包括C#、JavaScript、Python等,其兼容各類(lèi)操作系統(tǒng),可以運(yùn)行在用戶(hù)熟悉的Windows和Mac OS X下,可將最終生成的虛擬交互系統(tǒng)發(fā)布至各種操作平臺(tái),支持Mac和Windows的網(wǎng)頁(yè)瀏覽,真正地實(shí)現(xiàn)了跨平臺(tái)。
22開(kāi)發(fā)流程
開(kāi)發(fā)一個(gè)虛擬三維校園漫游系統(tǒng)的過(guò)程可以分為四個(gè)階段,第一階段應(yīng)該從該系統(tǒng)的需求分析入手,明確系統(tǒng)中每個(gè)模塊要實(shí)現(xiàn)的功能。第二階段是通過(guò)各種手段獲取校園地理位置數(shù)據(jù),可以采用CAD平面圖、衛(wèi)星地圖、實(shí)地測(cè)量、拍照等多種方式結(jié)合。第三階段是使用3DsMax 建模軟件對(duì)獲得的數(shù)據(jù)及圖片信息完成模型制作,對(duì)模型優(yōu)化后利用 3DsMax 插件導(dǎo)出Unity3D 能夠接受的 FBX 類(lèi)型。第四階段是在Unity3D 軟件中導(dǎo)入前期完成的模型,進(jìn)行貼圖、特效和燈光設(shè)置。使用 Javascript 和 C# 語(yǔ)言對(duì)人物添加碰撞檢測(cè)并設(shè)計(jì)界面菜單的交互,系統(tǒng)完成后進(jìn)行性能測(cè)試,最終生成可執(zhí)行文件和網(wǎng)絡(luò)文件。詳細(xì)流程如圖1所示:
3關(guān)鍵技術(shù)
31碰撞檢測(cè)技術(shù)
碰撞檢測(cè)功能是用于模擬虛擬環(huán)境中的物體遇到障礙物時(shí)發(fā)生的物理反應(yīng),比如遇到樹(shù)木、墻壁時(shí), 就不能繼續(xù)前行。碰撞檢測(cè)在Unity3D中可以在腳本語(yǔ)言中實(shí)現(xiàn),關(guān)鍵代碼如下:
function OnCollisionEnter(obj:Clooision){
Debug.Log(obj.gameObject.name);}
32漫游實(shí)現(xiàn)技術(shù)
我們?cè)谌魏我粋€(gè)漫游系統(tǒng)中都要用到的鼠標(biāo)按鍵行走功能,而在Unity3d 中是可以通過(guò)WSAD四個(gè)鍵實(shí)現(xiàn)上下左右來(lái)控制行走功能,代碼在FPScontraljs 腳本文件中。部分關(guān)鍵代碼如下:
4效果展示
該系統(tǒng)運(yùn)行時(shí)的部分截圖如圖2所示,地點(diǎn)位于學(xué)校體育館。
5結(jié)束語(yǔ)
本論文介紹了虛擬三維校園系統(tǒng)設(shè)計(jì)的整體流程和部分相關(guān)的技術(shù)。該系統(tǒng)經(jīng)過(guò)測(cè)試,能夠滿足用戶(hù)的基本需求,對(duì)學(xué)校的對(duì)外宣傳和建設(shè)規(guī)劃也能起到積極的推動(dòng)作用。通過(guò)對(duì)該系統(tǒng)的開(kāi)發(fā),充分證明Unity3D對(duì)于虛擬交互環(huán)境的創(chuàng)建是一個(gè)非常實(shí)用的工具。endprint