倪 斌
(河南司法警官職業(yè)學(xué)院,河南 450000)
基于虛擬現(xiàn)實(shí)技術(shù)的智慧校園設(shè)計(jì)與實(shí)現(xiàn)*
倪 斌
(河南司法警官職業(yè)學(xué)院,河南 450000)
以我國(guó)的某大學(xué)為例,利用虛擬現(xiàn)實(shí)技術(shù)進(jìn)行與校園逼近的虛擬環(huán)境的設(shè)計(jì),用戶能夠通過操控計(jì)算機(jī)實(shí)現(xiàn)與虛擬校園的交互,進(jìn)而達(dá)到控制智慧校園的目的。當(dāng)前存在許多建模軟件能夠輔助虛擬校園的實(shí)現(xiàn),如Photoshop、AutoMaya等技術(shù),這些技術(shù)能夠獲取校園的建筑數(shù)據(jù);而3D模型技術(shù)能夠?qū)π@進(jìn)行具體的仿真;Unity 3D引擎技術(shù)能夠設(shè)計(jì)出用戶交互界面。這些技術(shù)的融合使用能夠建立出與校園實(shí)際景觀相符合的智慧校園。智慧校園還能夠展示小地圖、調(diào)控界面的多個(gè)參數(shù)以及對(duì)界面進(jìn)行定位等。
虛擬現(xiàn)實(shí)技術(shù);智慧校園;建模軟件;3D建模
虛擬現(xiàn)實(shí)技術(shù)經(jīng)過多年的發(fā)展已經(jīng)日趨成熟,在一定程度上推動(dòng)了信息化發(fā)展的進(jìn)程。由此產(chǎn)生了“數(shù)字校園”的構(gòu)想和概念,進(jìn)而衍生了“智慧校園”的概念?!爸腔坌@”自問世以來都得到了學(xué)術(shù)界的青睞和廣泛關(guān)注?!爸腔坌@”在對(duì)校園進(jìn)行三維建模的基礎(chǔ)上,打造出與實(shí)際校園逼近的整體模型,然后用戶可以利用一些交互方式來操控這個(gè)數(shù)字校園??偟膩碚f智慧校園表現(xiàn)出了操作便捷化、界面優(yōu)美化和信息集中化等優(yōu)勢(shì)。隨著信息化浪潮的發(fā)展,我國(guó)許多高校都已經(jīng)陸續(xù)開始了3D數(shù)字校園的建設(shè)和研究?;诖吮尘?,本文以我國(guó)某大學(xué)為例進(jìn)行3D智慧校園的設(shè)計(jì),該設(shè)計(jì)能夠在計(jì)算機(jī)上為學(xué)生提供虛擬的校園環(huán)境,因此學(xué)生能夠通過計(jì)算機(jī)對(duì)學(xué)校路況、地形以及各個(gè)建筑物的名稱進(jìn)行了解,進(jìn)而能夠有效地把握學(xué)校的相關(guān)資源。另外,虛擬校園打造的虛擬平臺(tái)還能夠?yàn)樾M庥脩舫尸F(xiàn)學(xué)校的相關(guān)信息,真實(shí)地將學(xué)校的實(shí)際情況傳遞給外界,讓校外人員能夠貼近實(shí)際了解學(xué)校。該虛擬校園的設(shè)計(jì)需從三維建模和引擎設(shè)計(jì)兩方面入手。三維建模的軟件有很多,例如AutoCAD、Maya等軟件俺,這些軟件都各具千秋,各有特長(zhǎng)。對(duì)于三維校園虛擬環(huán)境的建模來說,這些軟件在開發(fā)成本、開發(fā)周期、操作難易程度等方面都具有較大的差別,需要根據(jù)開發(fā)時(shí)的具體環(huán)境和學(xué)校的具體情況,綜合考慮開發(fā)成本和周期以及學(xué)校的現(xiàn)狀等因素進(jìn)行選擇。本文選擇Maya作為三維建模工具,因?yàn)橄鄬?duì)其他三維建模軟件來說,Maya更具真實(shí)感,操作性更強(qiáng),更能讓用戶真正沉浸在其中。三維模型建好之后需要對(duì)其進(jìn)行美化處理,常用的軟件有Photoshop和Illustrator等,最后再運(yùn)用Unity進(jìn)行智慧校園的建設(shè)。本文的智慧校園設(shè)計(jì),在建模、引擎、貼圖和用戶界面上,為其他學(xué)校提供了具體案例,期望能夠?yàn)槲覈?guó)高校的數(shù)字化校園建設(shè)提供一定的借鑒。
(一)軟件設(shè)計(jì)流程
(1)項(xiàng)目需求的分析:這是項(xiàng)目設(shè)計(jì)的最關(guān)鍵的一個(gè)環(huán)節(jié),該過程需要對(duì)最終的實(shí)現(xiàn)效果進(jìn)行設(shè)想,即需要考慮到虛擬智慧校園的建設(shè)對(duì)學(xué)生學(xué)習(xí)和生活的便利性;也需要對(duì)項(xiàng)目所需要的條件進(jìn)行綜合考慮,如成本、周期、物理等其他資源。在此基礎(chǔ)上才能夠進(jìn)行完整的項(xiàng)目規(guī)劃;
(2)對(duì)校園的平面數(shù)據(jù)進(jìn)行采集:利用谷歌地圖等相關(guān)工具對(duì)校園的地理數(shù)據(jù)進(jìn)行多方位的采集,該流程作為后期建模的基礎(chǔ),數(shù)據(jù)的采集直接關(guān)系到模型的比例和材質(zhì);
(3)使用AutoMaya軟件實(shí)現(xiàn)三維建模;
(4)使用Photoshop進(jìn)行模型的制作:該過程在3D模型建立的基礎(chǔ)上進(jìn)行材質(zhì)的選擇并進(jìn)行紋理貼圖的繪制,另外此過程還需要利用Unity軟件進(jìn)行用戶交互界面的設(shè)計(jì);
(5)利用Unity引擎技術(shù)進(jìn)行虛擬校園的搭載:此過程中的編程語言可以是JAVA,也可以是CJHJ語言,站在用戶的角度對(duì)3D智慧校園進(jìn)行搭載;
(6)對(duì)項(xiàng)目進(jìn)行調(diào)試并加以評(píng)價(jià):主要對(duì)虛擬校園中存在的漏洞進(jìn)行檢測(cè)并加以完善。
(二)軟件的模型架構(gòu)分析
這個(gè)項(xiàng)目主要由兩個(gè)模塊組成:一是模型的建立,二是引擎的搭建。模型的建立主要是指利用三維建模技術(shù)進(jìn)行模型的搭建;而引擎的搭建主要指的是利用Unity技術(shù)進(jìn)行程序設(shè)計(jì),在借助某些編程語言對(duì)用戶交互界面進(jìn)行設(shè)計(jì),以實(shí)現(xiàn)用戶的交互體驗(yàn)功能。
(1)三維模型的建立一般由以下三個(gè)階段進(jìn)行設(shè)計(jì)(圖1)。
圖1 數(shù)字模型的設(shè)計(jì)步驟
(2)在三維模型建設(shè)后,利用Unity軟件進(jìn)行引擎平臺(tái)的搭建,用戶界面的顯示方式結(jié)合了二維和三維,同時(shí)用戶界面還兼具導(dǎo)航等功能,導(dǎo)航顯示以二維平面顯示。三維虛擬環(huán)境中的布局方式還是采用三維手段。前面利用Maya設(shè)計(jì)出的模型以obj的格式保存,再開始此過程。將obj格式的文件導(dǎo)入引擎中以達(dá)到控制的目的。下圖2是程序的功能模塊。
圖2 程序功能模塊圖
(三)功能實(shí)現(xiàn)
利用3D引擎技術(shù)搭建學(xué)校的宣傳推廣信息,主要以二維的界面形式顯示,3D模型的建立能夠幫助用戶體驗(yàn)和操控虛擬環(huán)境。下面將以三維功能搭建作為重點(diǎn)例子進(jìn)行介紹:站在第三人視角對(duì)虛擬人員進(jìn)行操控以游覽數(shù)字校園環(huán)境對(duì)多種物理效應(yīng)進(jìn)行仿真,例如對(duì)自由落體效應(yīng)進(jìn)行仿真、剛體碰撞實(shí)驗(yàn)的模擬等;盡可能使數(shù)字校園內(nèi)的聲效具有三維效應(yīng),以保證真實(shí)感;創(chuàng)建導(dǎo)航、定位等功能模塊;對(duì)全天的光強(qiáng)、溫度等環(huán)境條件進(jìn)行模擬。
(一)對(duì)數(shù)據(jù)資料進(jìn)行收集
收集的數(shù)據(jù)資料包括該大學(xué)中建筑樓的設(shè)計(jì)圖紙、各個(gè)角度的視圖以及實(shí)際照片等,這些是后面模型建立的數(shù)據(jù)。圖3是學(xué)校建筑物的俯視圖。
圖3 學(xué)校各建筑的俯視圖
(二)多邊形模型的建立
Maya建模需要進(jìn)行大量的布爾操作。通常來說布爾操作具有三種類型:Union、Difference、Intersection。Maya建模就是利用多邊形建模實(shí)現(xiàn)樓梯等單元的制作。表1表示的是長(zhǎng)方體的多個(gè)參數(shù)。
表1 長(zhǎng)方體的參數(shù)設(shè)置
(三)材質(zhì)與紋理貼圖
建立完模型后進(jìn)行材質(zhì)的選擇,并在模型中進(jìn)行貼圖。材質(zhì)的本質(zhì)是物體對(duì)光線的折射狀態(tài)。貼圖決定了物體表面呈現(xiàn)的顏色,質(zhì)量高的貼圖會(huì)使物體表現(xiàn)的更加真實(shí)和逼真。Maya建模中使用頻率較高的材質(zhì)見表2。Maya建模中有Normal、Projec-tion和Stencil三種2D貼圖方式;不同的貼圖方式使物體呈現(xiàn)不同的表面。本文中貼圖的獲取步驟如下:UV的獲取→在PS中導(dǎo)入U(xiǎn)V→進(jìn)行貼圖的繪制。
(一)主場(chǎng)景的設(shè)計(jì)和實(shí)現(xiàn):搭建人物模型,并對(duì)其操作以對(duì)實(shí)際的虛擬場(chǎng)景進(jìn)行體驗(yàn)。運(yùn)用菜單位于主界面的右下角位置,如下圖4所示。
圖4 軟件主界面效果圖
(1)小地圖導(dǎo)航功能的實(shí)現(xiàn):小地圖模型位于主界面的左邊,點(diǎn)擊其中的按鈕能夠獲取小地圖的效果,見圖5。用圓點(diǎn)在小地圖中表示人物,從而實(shí)現(xiàn)人物在實(shí)際校園中的定位,小地圖界面中的“+”與“-”按鈕能夠分別對(duì)地圖進(jìn)行放大和縮小操作。下面將對(duì)小地圖的設(shè)計(jì)原理進(jìn)行分析:對(duì)實(shí)際校園場(chǎng)景中多安置一個(gè)攝像頭,將該攝像頭稱為camera0,實(shí)際校園場(chǎng)景中的原有的攝像頭被稱為Main Carema;主攝像頭的主要功能是對(duì)所在場(chǎng)景中的景色進(jìn)行渲染;然后把Camera0置于高處,并讓該攝像頭面向地面,該攝像頭在地面上形成的投影就形成了小地圖;最后再綁定攝像頭得到圖像的X、Z坐標(biāo)和實(shí)際場(chǎng)景中的X、Z坐標(biāo),進(jìn)行完全實(shí)現(xiàn)了小地圖。
(2)如何有效的使用Unisky插件:場(chǎng)景中的天氣可以使用Unisky插件進(jìn)行模擬,以實(shí)現(xiàn)在不同的時(shí)間段呈現(xiàn)不同景色的效果,下圖6表示的是場(chǎng)景的具體視像。
圖6 不同天氣條件下的模擬效果圖
(3)對(duì)界面的多種參數(shù)進(jìn)行設(shè)置:界面中能夠被調(diào)控的參數(shù)有五個(gè),分別是時(shí)間軸、旋轉(zhuǎn)速度、音效等。圖7所示的是五個(gè)參數(shù)的調(diào)節(jié)方式,使用的是滾動(dòng)條。因此可以看出,同一場(chǎng)景在不同時(shí)間段表現(xiàn)出的景象是不一樣的。
圖7 界面參數(shù)調(diào)控效果圖
(二)角色操縱與調(diào)控
(1)角色操縱和調(diào)控程序需要對(duì)角色的位置進(jìn)行判斷,如果角色位于地面上,則界面上的按鈕能夠?qū)巧M(jìn)行移動(dòng)。具體代碼如下:
if (controller.is Grounded == true)
{if (Input. Get Key (Key Code. W))
{
Animation. Cross Fade("01_Cool Walk");
Vector3 forward = transform.Transform Direction(Vector3.forward);
Controller.Move (forward*movespeed*Time. delta-Time);
同時(shí)也可以預(yù)設(shè)虛擬環(huán)境中人物在失重后的場(chǎng)景,通過對(duì)重力加速度進(jìn)行模擬,具體代碼如下:
movedirection. y-=gravity*Time. delta Time;controller. Move (movedirection*(Time. delta Time*2) ) ;
上述代碼能夠利用計(jì)算機(jī)的W、A、S、D鍵控制虛擬場(chǎng)景中的任務(wù)。另外,Unity引擎技術(shù)中的Smoth follow腳本能夠使Main Camera與虛擬場(chǎng)景中的人物保持相同的移動(dòng)狀態(tài)。
(2)重力效應(yīng)和剛體碰撞效應(yīng)的模擬參數(shù)的設(shè)置界面如圖8所示。在進(jìn)行參數(shù)的設(shè)置時(shí)需要選中g(shù)enerate colliders選項(xiàng),在場(chǎng)景中進(jìn)行剛體的添加,在此模型下人物只能觸摸建筑物而不能穿越建筑物。下面的條件語句能夠?qū)μ摂M人物與地面是否接觸進(jìn)行判斷:
if(control-ler.isGrounded==true)
{}
如果虛擬人物沒有與地面接觸,則調(diào)用一下語句:
movedi-rection.y-=gravity*Time.deltaTime;
如果虛擬人物位于地面,則可判定人物落下。
圖8 剛體碰撞參數(shù)設(shè)置
另外,重力系數(shù)使用浮點(diǎn)型變量進(jìn)行定義和初始化,當(dāng)重力系數(shù)增大時(shí),虛擬人物的下降速度增大。如此一來便可以對(duì)虛擬人物的降落效果進(jìn)行模擬。
本文以我國(guó)某大學(xué)為例,基于虛擬現(xiàn)實(shí)技術(shù)設(shè)計(jì)出與現(xiàn)實(shí)校園相近的、逼真的虛擬環(huán)境,用戶通過計(jì)算機(jī)的操控與該虛擬環(huán)境進(jìn)行交互,實(shí)現(xiàn)對(duì)智慧校園的控制。利用AutoMaya、Photoshop、Illustrator等建模、美化軟件,進(jìn)行校園建筑數(shù)據(jù)獲取、3D模型的建立以及貼圖紋理的映射等;利用Unity3D引擎進(jìn)行用戶交互設(shè)計(jì),建立起大學(xué)實(shí)際仿真景觀的3D智慧校園。在此基礎(chǔ)上,還實(shí)現(xiàn)了小地圖的展示、界面多參數(shù)的調(diào)控、界面定位等個(gè)性化功能。
[1]薛亞婷.基于Google Earth及KML的數(shù)字校園設(shè)計(jì)與實(shí)現(xiàn)方法研究[D].蘭州大學(xué),2007.
[2]黃濤.基于Unity3D的虛擬校園漫游系統(tǒng)的研究和實(shí)現(xiàn)[D].廣西師范大學(xué),2014.
[3]王洪.基于虛擬現(xiàn)實(shí)的三維漫游技術(shù)研究與實(shí)踐[D].電子科技大學(xué),2004.
[4]邱有春,吳侃.基于虛擬現(xiàn)實(shí)技術(shù)的校園漫游系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2010,(12):60-62+75.
責(zé)任編輯:游 濤
河南省教育廳2016年度全省大中專畢業(yè)生就業(yè)創(chuàng)業(yè)研究課題“大數(shù)據(jù)時(shí)代“智慧校園”眾創(chuàng)空間云平臺(tái)應(yīng)用研究”(課題編號(hào):JYB2016227);鄭州升達(dá)經(jīng)貿(mào)管理學(xué)院2016年創(chuàng)辦人科研基金院級(jí)項(xiàng)目“基于無線網(wǎng)絡(luò)的校園體育文化導(dǎo)覽系統(tǒng)應(yīng)用研究”。
2016-09-28
倪斌(1983-),男,河南鄭州人,計(jì)算機(jī)及應(yīng)用專業(yè),碩士,畢業(yè)于武漢大學(xué),現(xiàn)就職于河南司法警官職業(yè)學(xué)院,一級(jí)警司,講師,副主任科員,研究方向?yàn)榫W(wǎng)絡(luò)信息安全,大數(shù)據(jù)應(yīng)用。
TP399
A
1009-1890(2016)04-0079-04