国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Unity虛擬校園漫游系統(tǒng)的設(shè)計與開發(fā)

2014-02-03 07:34:43張紹江
關(guān)鍵詞:碰撞檢測漫游攝像機

張紹江

(天津中德職業(yè)技術(shù)學(xué)院,天津,300350)

基于Unity虛擬校園漫游系統(tǒng)的設(shè)計與開發(fā)

張紹江

(天津中德職業(yè)技術(shù)學(xué)院,天津,300350)

隨著虛擬現(xiàn)實技術(shù)的不斷發(fā)展和計算機硬件系統(tǒng)性能的不斷提高,虛擬現(xiàn)實技術(shù)已被廣泛應(yīng)用于眾多領(lǐng)域,虛擬校園漫游系統(tǒng)就是其中之一,它讓學(xué)生足不出戶就能游覽校園全貌,感受校園文化,對學(xué)校的對外宣傳起到積極作用。文章使用Unity游戲引擎設(shè)計了一套虛擬校園漫游系統(tǒng),并介紹了該系統(tǒng)的開發(fā)流程和使用的關(guān)鍵技術(shù)。

虛擬現(xiàn)實;虛擬校園;漫游;Unity

一、虛擬現(xiàn)實技術(shù)和Unity平臺

虛擬現(xiàn)實(Virtual Reality,簡稱VR)是在綜合使用計算機圖形圖像技術(shù)、傳感器技術(shù)、人機交互技術(shù)、網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)等創(chuàng)設(shè)的一個以視覺感受為主,包括聽覺等多種感受在內(nèi)的人工虛擬世界,并在這個虛擬世界中運用多種交互手段給人一種多感官的刺激,是一種高級的人機交互系統(tǒng)[1]。同時,虛擬現(xiàn)實不僅是一個演示載體,還是一個設(shè)計工具,它以視覺為主要形式產(chǎn)生一個多維的信息空間,為我們創(chuàng)建和體驗虛擬世界提供了有利的支持[2]。隨著虛擬現(xiàn)實技術(shù)的不斷發(fā)展和計算機硬件系統(tǒng)性能的大幅提升,虛擬現(xiàn)實技術(shù)的應(yīng)用領(lǐng)域從最初的軍事仿真已逐漸過渡到文物保護、交通模擬、城市規(guī)劃、室內(nèi)設(shè)計、游戲開發(fā)、教育教學(xué)等諸多領(lǐng)域,并取得了巨大的發(fā)展。其中虛擬校園漫游系統(tǒng)就是虛擬現(xiàn)實技術(shù)在校園景觀展示方面的應(yīng)用。

Unity是一款跨平臺的游戲開發(fā)引擎,主要應(yīng)用于虛擬現(xiàn)實、建筑可視化、三維視頻游戲等互動系統(tǒng)的開發(fā)。其主要特點是入門簡單、自動化程度高,可同時運行在windows和Mac OS操作系統(tǒng)下,支持C#、JavaScript、Boo三種腳本語言,其成品可發(fā)布至windows、Mac、Android等多種平臺。

二、虛擬校園漫游系統(tǒng)的開發(fā)流程

按照虛擬現(xiàn)實系統(tǒng)開發(fā)的一般流程,可以將虛擬校園漫游系統(tǒng)的開發(fā)流程分為素材的收集與整理、三維場景的建立與優(yōu)化及系統(tǒng)交互的開發(fā)4個部分,如圖1所示。

圖1 虛擬校園漫游系統(tǒng)的開發(fā)流程圖

素材的收集與整理為三維場景的建立提供校園內(nèi)部建筑、場地、道路等尺寸數(shù)據(jù)和外觀圖像素材;三維場景建立后要優(yōu)化并導(dǎo)入到Unity中進行使用;最后在Unity中進行系統(tǒng)交互的開發(fā)。

三、虛擬校園漫游系統(tǒng)開發(fā)涉及的關(guān)鍵技術(shù)

(一)三維場景建模技術(shù)

在三維場景的建立過程中,校園中的地面、建筑等主要使用3DS MAX軟件來完成。先通過丈量好的尺寸數(shù)據(jù)或施工圖紙繪出建筑外觀輪廓線,再制作建筑物外墻,然后通過布爾運算和對多邊形中的頂點、邊、面和元素進行修改,完成建筑模型的建立。最后,將處理好的建筑外觀圖像作為建筑模型的貼圖進行應(yīng)用,如圖2所示。

圖2 使用3DS MAX進行建筑建模圖

在3DS MAX中建立的三維模型需要導(dǎo)出到Unity中進行使用。常用的方法是在3DSMAX中將文件導(dǎo)出為.FBX文件,連同貼圖一同放置到Unity的資源文件夾中。打開Unity后,即可自動加載,供開發(fā)人員使用。

對于天空盒的建立,Unity中提供了一個設(shè)置選項,可以方便地使用Unity中默認(rèn)的天空盒資源,或者自定義5張可無縫連接圖片進行天空盒的設(shè)置。

(二)三維場景的優(yōu)化技術(shù)

三維場景中面數(shù)的多少直接關(guān)系到系統(tǒng)運行的效率,因此要盡量降低模型的面數(shù),以達(dá)到系統(tǒng)流暢運行的目的[3]。

1.三維建筑的優(yōu)化

一是將漫游過程中看不到的面降低其復(fù)雜程度,使用一個平面來代替;二是使用紋理貼圖技術(shù),將面數(shù)較多的外墻文字、門窗部分的模型,復(fù)雜的光影效果等元素進行先期渲染,然后作為虛擬校園中建筑的貼圖使用,以達(dá)到減少面數(shù)的目的。

2.樹木、路燈、隔離墩等場景元素的優(yōu)化

在校園場景中,離不開樹木、隔離墩、垃圾桶等場景元素,數(shù)量多且不是重點??墒褂肈oubleBoarding(交叉板)技術(shù)進行優(yōu)化,即使用兩個互相垂直且中心交叉的平面,并為其添加樹木、隔離墩等場景元素的透明紋理。

3.實時交互技術(shù)

系統(tǒng)交互主要在Unity中開發(fā)。虛擬校園漫游系統(tǒng)中的交互主要是鍵盤與鼠標(biāo)的交互,通過鍵盤和鼠標(biāo)的控制改變場景中漫游視角的瀏覽位置與角度,主要使用C#腳本語言編寫的腳本文件來實現(xiàn)。例如向前移動的交互代碼為:

此外,GUI也是虛擬校園漫游系統(tǒng)的主要交互方式,負(fù)責(zé)系統(tǒng)漫游方式的選擇、系統(tǒng)的幫助和退出。例如,創(chuàng)建“自動漫游”功能按鈕的代碼如下:

4.碰撞檢測技術(shù)

碰撞檢測是虛擬現(xiàn)實中一項重要技術(shù),是基于現(xiàn)實生活中一個普遍存在的事實:兩個不可穿透的對象不能共享相同的空間區(qū)域[4]。碰撞檢測技術(shù)的主要目的是檢測兩個物體之間是否發(fā)生了碰撞,如果發(fā)生碰撞將如何進行處理。好的碰撞檢測要求物體在場景中可以平滑移動[5]。在Unity中,內(nèi)置了盒形碰撞器、球體碰撞器、膠囊碰撞器、網(wǎng)格碰撞器等來實現(xiàn)物體之間的碰撞檢測。用于進行碰撞檢測的函數(shù)有:

MonoBehaviour.OnCollisionEnter(Collision colli sionInfo)、

MonoBehaviour.OnCollisionExit(Collision collision Info)、

MonoBehaviour.OnCollisionStay(Collision collision Info),分別表示當(dāng)進入碰撞器、退出碰撞器和逗留碰撞器時所觸發(fā)的函數(shù)。

四、虛擬校園漫游系統(tǒng)的實現(xiàn)

(一)系統(tǒng)的總體規(guī)劃與功能設(shè)計

虛擬校園漫游系統(tǒng)一般是在網(wǎng)頁瀏覽器上展示學(xué)校整體面貌的系統(tǒng),為使用戶能夠直觀獲取校園的外觀特征,校園中的建筑、場地等都真實重現(xiàn),并且用戶可以通過鼠標(biāo)、鍵盤自主控制觀看角度。虛擬校園漫游系統(tǒng)主要實現(xiàn)以下功能:

1.漫游功能

系統(tǒng)的漫游功能包含自動漫游與交互式漫游兩種方式。自動漫游是指漫游路徑已固定的方式,在該方式下瀏覽視角將按照規(guī)劃好的路徑進行運動,用戶不能改變其狀態(tài)。交互式漫游是用戶可以通過鼠標(biāo)、鍵盤等交互方式控制瀏覽視角與位置的方式,這種方式需要用戶手動控制,靈活性更強。

2.GUI功能

系統(tǒng)提供操作方便的GUI用戶界面,用于控制手動漫游與交互式漫游之間的相互切換,以及幫助、退出系統(tǒng)等功能。

(二)系統(tǒng)主要功能的實現(xiàn)

1.自動漫游功能的實現(xiàn)

自動漫游功能是按照預(yù)先設(shè)定好的路徑進行的漫游,可以通過為顯示漫游瀏覽內(nèi)容的主攝像機(以后稱為“漫游攝像機”)設(shè)定動畫的方式來實現(xiàn)。這需要在Animation(動畫)面板中為漫游攝像機設(shè)置關(guān)鍵幀動畫,如圖3所示。

圖3 為漫游攝像機設(shè)置關(guān)鍵幀動畫圖

2.交互式漫游功能的實現(xiàn)

由于交互式漫游功能是用戶控制漫游攝像機進行瀏覽的方式,整個漫游的路徑受用戶控制,為避免漫游攝像機與建筑、樹木等碰撞后“穿入”其內(nèi)部的情況,需要為場景中的物體添加碰撞器,進行碰撞檢測。

交互式漫游使用Unity中的第一人稱角色控制器來實現(xiàn),給人以強烈的沉浸感。在實現(xiàn)上使用一個名稱為“First Person Controller”的物體作為用戶操作的對象,同時添加“Character Controller”這一角色控制組件和Mouse Look、Character Motor、FPSInput Controller三個C#腳本組件,即可實現(xiàn)交互式漫游功能。

3.GUI界面的實現(xiàn)

GUI界面主要用于實現(xiàn)手動漫游與交互式漫游之間的切換、打開幫助和退出系統(tǒng)等功能,以界面功能按鈕為主。例如,由手動漫游向交互式漫游進行切換時,用戶只需使用鼠標(biāo)點擊“交互式漫游”按鈕,然后系統(tǒng)將關(guān)閉自動漫游攝像機,打開交互漫游攝像機,完成功能的轉(zhuǎn)換。具體程序如下:

void OnGUI(){

if(GUI.Button(newRect(400,560,100,50),"交互式漫游")){

其他功能按鈕使用同樣的方法進行創(chuàng)建,并為其添加被點擊時所執(zhí)行的語句。完成后的效果,如圖4所示。

圖4 GUI界面功能按鈕圖

隨著計算機技術(shù)和虛擬現(xiàn)實技術(shù)的不斷發(fā)展,虛擬現(xiàn)實技術(shù)已經(jīng)成為用戶通過計算機來獲取知識信息的新途徑。虛擬校園漫游系統(tǒng)是使用Unity進行開發(fā)的能夠在瀏覽器上使用的校園展示系統(tǒng),它為學(xué)生及其家長提供了一個了解學(xué)校的平臺,對學(xué)校的對外宣傳起到了積極的作用。

[1]石教英.虛擬現(xiàn)實基礎(chǔ)及實用算法[M].北京:科學(xué)出版社,2002:1-3.

[2]Steven M.Drucker,David Zeltzer.Intelligent Camera Control in a Virtual Environment[J].USA:Computing&Electronic Books,1998,34-57.

[3]賈民政,劉書香.3ds Max中低多邊形模型的創(chuàng)建方法研究.北京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報[J],2012 (7):36-39.

[4]王祎.虛擬現(xiàn)實中碰撞檢測關(guān)鍵技術(shù)研究[D].吉林:吉林大學(xué),2009.

[5]王樹斌.淺析Unity3d開發(fā)游戲流程及常用技術(shù)[J].電腦知識與技術(shù),2012,8(22):5351-5352.

編輯 朱榮華

G712

A

2095-8528(2014)02-065-03

2014-07-03

張紹江(1980-),男,天津市人,碩士,天津中德職業(yè)技術(shù)學(xué)院藝術(shù)系講師,研究方向為影視動畫與虛擬現(xiàn)實。

猜你喜歡
碰撞檢測漫游攝像機
全新預(yù)測碰撞檢測系統(tǒng)
基于BIM的鐵路信號室外設(shè)備布置與碰撞檢測方法
霹靂漫游堂
Unity3D中碰撞檢測問題的研究
電子測試(2018年1期)2018-04-18 11:53:00
看監(jiān)控攝像機的4K之道
攝像機低照成像的前世今生
新安訊士Q6155-E PTZ攝像機
NASA漫游記
BIM技術(shù)下的某辦公樓項目管線碰撞檢測
如何消除和緩解“攝像機恐懼癥”
新聞前哨(2015年2期)2015-03-11 19:29:25
饶阳县| 安福县| 萨迦县| 大厂| 临清市| 都昌县| 贡觉县| 嵊泗县| 文化| 荆门市| 孟连| 宁海县| 西平县| 红原县| 林口县| 武冈市| 松潘县| 桐梓县| 普兰县| 攀枝花市| 从江县| 四川省| 恩施市| 南汇区| 喀喇沁旗| 伊通| 罗山县| 霍州市| 登封市| 永登县| 深州市| 萍乡市| 哈密市| 洪雅县| 满城县| 汝阳县| 老河口市| 得荣县| 宜宾市| 北流市| 济阳县|