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

?

基于虛擬現(xiàn)實(shí)技術(shù)的室內(nèi)導(dǎo)航系統(tǒng)

2015-10-21 00:15:56白江波姚浩浩合肥工業(yè)大學(xué)宣城校區(qū)商學(xué)系安徽宣城242000
關(guān)鍵詞:導(dǎo)航系統(tǒng)時(shí)延虛擬現(xiàn)實(shí)

武 勝,白江波,姚浩浩,吳 浩(合肥工業(yè)大學(xué)宣城校區(qū) 商學(xué)系,安徽 宣城 242000)

基于虛擬現(xiàn)實(shí)技術(shù)的室內(nèi)導(dǎo)航系統(tǒng)

武 勝,白江波,姚浩浩,吳 浩
(合肥工業(yè)大學(xué)宣城校區(qū) 商學(xué)系,安徽 宣城 242000)

以GPS、北斗等為主的室外導(dǎo)航系統(tǒng)的研究進(jìn)行得如火如荼,但是室內(nèi)導(dǎo)航的研究卻進(jìn)行得不如人意。以Unity3D為引擎,結(jié)合3DS MAX建模,開發(fā)室內(nèi)離線3D仿真尋路系統(tǒng)。該系統(tǒng)完全按照室內(nèi)樣貌建造模型,以最真實(shí)的虛擬場景還原室內(nèi)樣貌,供導(dǎo)航者更好地完成室內(nèi)尋路。最后介紹了場景優(yōu)化的方法,以便在PC、智能手機(jī)等平臺上使用。

仿真;室內(nèi)尋路;Unity3D;虛擬現(xiàn)實(shí)

0 引言

虛擬現(xiàn)實(shí)(Virtual Reality,VR)[1]是一項(xiàng)綜合集成技術(shù),涉及計(jì)算機(jī)圖形學(xué)、人機(jī)交互技術(shù)、傳感技術(shù)、人工智能等領(lǐng)域,它利用計(jì)算機(jī)生成逼真的三維視、聽、嗅覺等,使人作為參與者通過適當(dāng)裝置,自然地對虛擬世界有更完美的體驗(yàn)和交互作用。虛擬現(xiàn)實(shí)具有很好的交互性、沉浸性和想象性,這三個(gè)特性合稱為虛擬現(xiàn)實(shí)鐵三角,如圖1所示。

圖1 虛擬現(xiàn)實(shí)鐵三角

其中沉浸性是虛擬現(xiàn)實(shí)技術(shù)的最主要的特征。體驗(yàn)者在外部硬件的幫助下將表達(dá)傳遞到虛擬現(xiàn)實(shí)中,在虛擬現(xiàn)實(shí)中產(chǎn)生相應(yīng)反應(yīng),這些刺激能積極調(diào)動(dòng)體驗(yàn)者的感官系統(tǒng),從而讓體驗(yàn)者更易于沉浸虛擬世界,如圖2所示。

圖2 虛擬體驗(yàn)交互感應(yīng)

現(xiàn)如今人們?nèi)粘;顒?dòng)范圍主要還是在室內(nèi),且伴隨著我國建筑行業(yè)的快速發(fā)展,結(jié)構(gòu)復(fù)雜的巨型建筑如上海世貿(mào)大廈等逐漸進(jìn)入人們的日常生活,室內(nèi)尋路問題亟需解決。而近年來關(guān)于虛擬現(xiàn)實(shí)及Unity3D的研究越來越熱,通過建模并完成貼圖后導(dǎo)入U(xiǎn)nity3D,在Unity3D中完成腳本語言的編寫,從而實(shí)現(xiàn)交互及尋路系統(tǒng)。由于虛擬場景具有較強(qiáng)的真實(shí)性,尋路者在極具復(fù)雜的室內(nèi)環(huán)境中也能找到目標(biāo)位置。

1 概述

本文討論的是基于Unity3D[2]的室內(nèi)導(dǎo)航系統(tǒng),應(yīng)用到軟件工程思想,從需求入手,設(shè)計(jì)室內(nèi)尋路導(dǎo)航系統(tǒng)的各個(gè)功能模塊。由于室內(nèi)場景極其復(fù)雜,室內(nèi)導(dǎo)航系統(tǒng)的開發(fā)步驟如下:

(1)數(shù)據(jù)采集:采用CAD圖紙和場景圖片,應(yīng)用Photoshop優(yōu)化場景圖片信息;

(2)數(shù)據(jù)處理:結(jié)合3Dsmax建模應(yīng)用,在Mari中完成模型貼圖;

(3)開發(fā)應(yīng)用:將完成貼圖的模型導(dǎo)成.FBX格式后導(dǎo)入到Unity3D,在Unity3D中添加相機(jī)、燈光、碰撞體、尋路組件等,利用NGUI進(jìn)行尋路系統(tǒng)交互界面設(shè)計(jì)等完成場景交互,最終實(shí)現(xiàn)室內(nèi)自動(dòng)尋路系統(tǒng)。其中包括輸入目的地,以最優(yōu)算法實(shí)現(xiàn)最短路途,到達(dá)目的地,到達(dá)目的地后可以接著實(shí)現(xiàn)二次尋路;在尋路過程中遇到門、燈等組件,進(jìn)行碰撞檢測,門、燈等自動(dòng)打開[3]。其制作流程如圖3所示。

圖3 室內(nèi)導(dǎo)航開發(fā)流程圖

2 室內(nèi)導(dǎo)航系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2.1 前期工作

由于現(xiàn)代建筑其場景巨大室內(nèi)場景復(fù)雜,在建模前,要搜集完整的數(shù)據(jù),否則將會(huì)影響后續(xù)建模的進(jìn)展及模型的使用。對要建模的物體進(jìn)行照片采集并且利用PS處理,擁有一整套的從內(nèi)到外的照片,此照片不僅用來幫助建模還用來完成模型貼圖;將CAD圖紙導(dǎo)入AutoCAD軟件,刪除不需要的部分,并且添加上建模所需要的補(bǔ)測數(shù)據(jù),導(dǎo)出.DWG格式。

2.2 建模技術(shù)

將.DWG格式的文件導(dǎo)入3DSMAX[4],根據(jù)左視圖、頂視圖等將CAD文件按照其實(shí)際位置放好。選擇全部的CAD文件,使其凍結(jié),然后根據(jù)制作順序暫時(shí)隱藏其他不需要的CAD。建模過程中可以參照采集的圖片保證模型的真實(shí)性。為了保證打包出的軟件運(yùn)行流暢,在這里可以制作兩套模型,一套低模,一套高模,實(shí)現(xiàn)高模轉(zhuǎn)低模而低模擁有高模的效果。利用3DSMAX高效的建模技巧將模型建成之后,選擇UV展開,將模型展開UV,UV展開的好壞直接決定貼圖的效果,按照比例展開。將展好UV的模型導(dǎo)入Mari進(jìn)行貼圖繪制,而一個(gè)場景的逼真度往往由貼圖所決定,因此,在進(jìn)行貼圖繪制時(shí)統(tǒng)一采用1 024×1 024的照片進(jìn)行,且在Mari中進(jìn)行繪制時(shí)要細(xì)心。此時(shí),模型已經(jīng)建成,物體表面貼圖也已完成,導(dǎo)出.FBX文件。

2.3 Unity3D場景搭建技術(shù)

在Unity3D中實(shí)現(xiàn)尋路系統(tǒng)[5],由于本文討論的是在離線狀況下實(shí)現(xiàn)室內(nèi)導(dǎo)航,而現(xiàn)在的建筑物往往有多個(gè)入口,因此需要選擇建筑物入口。此時(shí)進(jìn)入交互界面,輸入需要導(dǎo)航的目標(biāo)點(diǎn),通過Find尋找該點(diǎn)是否存在,如果存在虛擬人物就會(huì)根據(jù)最優(yōu)路徑自動(dòng)到達(dá),尋路結(jié)束,提醒是否再次尋路。場景制作流程如圖4所示。

圖4 Unity3d場景制作流程圖

2.3.1 尋路組件

使用Unity實(shí)現(xiàn)室內(nèi)自動(dòng)尋路,其有多種方式。第一種比較傳統(tǒng)的是使用A*尋路,它是一種比較傳統(tǒng)的人工智能算法,在游戲開發(fā)中比較常用到。A*的原理并不復(fù)雜,不過由于不是Unity3D自帶的功能,因此在設(shè)定網(wǎng)格和烘焙的過程中難免會(huì)出現(xiàn)問題。而NavMesh作為Unity自帶的功能,用法與之前的LightMapping烘焙或者遮擋剔除Occlusion Culling有很多相似之處,最主要是它用起來很方便。

將制作好的場景導(dǎo)入U(xiǎn)nity3D,選擇場景模型,然后將Navigation Static選中,對于與場景無關(guān)的模型確定其不被選中。打開Navigation,根據(jù)場景需要調(diào)整尋路者半徑、高度以及尋路者能行走的最大坡度和高度,完成后烘焙場景[6]。

2.3.2 第三人稱物體設(shè)置

將預(yù)先設(shè)置好的人物prefab拖入場景,為其添加上Nav Mesh Agent組件,由于尋路者可能需要多次尋路,因此通過編寫C#代碼在Update函數(shù)中實(shí)現(xiàn)二次尋路。部分代碼如下:

由于使用角色為第三人稱,角色所處的狀態(tài)即為等待或行走,通過將事先導(dǎo)入的動(dòng)畫進(jìn)行設(shè)置進(jìn)而實(shí)現(xiàn)。創(chuàng)造兩個(gè) bool類型數(shù)值,分別為 idel與 walk,實(shí)現(xiàn)其與動(dòng)畫過度關(guān)聯(lián),并通過腳本進(jìn)行控制。部分腳本如下:

2.3.3 相機(jī)設(shè)置

需要將相機(jī)設(shè)置成伴隨角色的移動(dòng)。通過設(shè)置相機(jī)相對角色位置并且每幀都去檢測相機(jī)相對角色位置,即保證相機(jī)相對角色為靜止?fàn)顟B(tài)。部分實(shí)現(xiàn)代碼如下:

2.3.4 交互界面

對于交互界面[7]的設(shè)計(jì),采用了NGUI,大大方便了界面設(shè)計(jì),提高了效率。對于交互界面,分為兩部分,即建筑物入口選擇界面和目標(biāo)點(diǎn)輸入界面。

建筑物入口選擇部分交互界面,單獨(dú)放到一個(gè)場景中,將使用說明等與之組合在一起。如果用戶點(diǎn)擊某一入口,則將值傳遞給角色,角色切換到相應(yīng)入口處。實(shí)現(xiàn)主要代碼如下:

交互界面效果圖如圖5所示。

圖5 虛擬校園系統(tǒng)GUI設(shè)計(jì)

通過在尋路代碼中添加設(shè)置虛擬人物與目標(biāo)點(diǎn)的距離來判讀是否出現(xiàn)輸入目標(biāo)點(diǎn)的交互界面[8]:

floatdist=Vector3.Distance(man.transform.position,target. transform.position);

if(dist<=1.0){UI.SetActive(true);}

對于目標(biāo)點(diǎn)的輸入采用獲取輸入框的值,如果輸入的地點(diǎn)不存在,則返回提醒輸入正確的目標(biāo)點(diǎn);否則,需找目標(biāo)點(diǎn),效果如圖6所示。

public GameObject errorUI;

public static string classroomNum;

……

classroomNum=GuiInput.value;

在角色代碼中添加如下代碼:

圖6 目標(biāo)點(diǎn)不存在界面

2.3.5 檢測碰撞

當(dāng)角色經(jīng)過門時(shí),如果門是關(guān)閉的,則此時(shí)門應(yīng)該打開,若燈是關(guān)閉的則也需打開,這需要在燈和門上添加剛體碰撞檢測[8],雖然實(shí)現(xiàn)不是很容易,但增加了交互性[9],場景真實(shí)感加強(qiáng)。對于門的檢測,需要在腳本代碼中分別實(shí)現(xiàn)OnTriggerEnter和OnTriggerExit函數(shù),在OnTriggerEnter中播放門打開的動(dòng)畫,在OnTriggerExit中停止門打開的動(dòng)畫。燈的檢測直接利用OnTriggerEnter,當(dāng)角色與燈組件發(fā)生碰撞時(shí),燈的組件被喚醒。

3 場景優(yōu)化

本導(dǎo)航系統(tǒng)基于智能手機(jī)開發(fā),雖然現(xiàn)在的智能手機(jī)處理器、內(nèi)存等都有大的提升,但是如果場景較大,模型點(diǎn)面較多,代碼優(yōu)化不合理,在智能機(jī)上的運(yùn)行將會(huì)受影響。因此,本文認(rèn)為應(yīng)該從以下幾個(gè)方面進(jìn)行場景優(yōu)化[9]:

(1)對于場景內(nèi)的點(diǎn)面,最好控制在10萬以內(nèi),看不見的點(diǎn)面將其刪除;

(2)盡可能減少角色骨骼數(shù)量;

(3)多張貼圖共享一張材質(zhì)球;

(4)保證代碼邏輯正確,刪除腳本中未使用的Update函數(shù);

(5)盡可能減少像素?zé)艄狻⒎瓷?、陰影等的使用,這些操作會(huì)導(dǎo)致模型被多次渲染,加重CPU的負(fù)擔(dān)。

4 結(jié)論

本文介紹了虛擬現(xiàn)實(shí)技術(shù)在室內(nèi)導(dǎo)航方面應(yīng)用的關(guān)鍵技術(shù)。通過數(shù)據(jù)采集、模型繪制、Unity3D場景開發(fā),模擬出最真實(shí)的虛幻場景,讓使用者擁有身臨其境的感覺,幫助其更好地完成室內(nèi)導(dǎo)航。本系統(tǒng)適合各種大中型室內(nèi)場所導(dǎo)航,如醫(yī)院場所導(dǎo)航、大型超市貨物導(dǎo)航等。當(dāng)然,由于開發(fā)場景的過程過于繁瑣,開發(fā)所需成本目前還較高,但是隨著虛擬現(xiàn)實(shí)技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、虛擬現(xiàn)實(shí)眼鏡技術(shù)等的發(fā)展,在未來成本等問題會(huì)得到解決,屆時(shí)虛擬現(xiàn)實(shí)3D仿真導(dǎo)航系統(tǒng)將會(huì)取代傳統(tǒng)的二維平面導(dǎo)航系統(tǒng)。

[1]馮俊杰.基于UML的三維漫游系統(tǒng)的分析與設(shè)計(jì)[D].大連:遼寧師范大學(xué),2011.

[2]朱惠娟.基于Unity3D的虛擬漫游系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012,21(10):36-39,65.

[3]干建松.基于Unity3d的室內(nèi)漫游仿真系統(tǒng)[J].淮陰師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2011,10(6):515-518.

[4]祝敏嬌.基于Unity3D的虛擬漫游技術(shù)的研究[J].硅谷. 2012(20):77,102.

[5]黃健柏,鄒崢嶸,朱學(xué)紅.虛擬校園及其在校園規(guī)劃管理中的應(yīng)用[J].教育信息化,2002(6):7-8.

[6]吳鳳娟,刁永鋒.虛擬校園漫游系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)[J].蘇州科技學(xué)院學(xué)報(bào)(工程技術(shù)版),2005,18(2):78-80.

[7]李峻峰.虛擬現(xiàn)實(shí)技術(shù)與虛擬校園的研究與實(shí)踐——以濰坊學(xué)院虛擬校園建設(shè)為例[J].工程圖學(xué)學(xué)報(bào),2011,32(3):62-68.

[8]金漢均,王曉榮,徐星,等.一種基于DirectX的碰撞檢測算法[J].電子技術(shù)應(yīng)用,2006,32(1):56-58.

[9]雷忠誠,胡文山,鄔靜陽,等.基于Web的3D智能家居系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2014,40(9):114-117.

[10]金璽曾.Unity3D手機(jī)游戲開發(fā)[M].北京:清華大學(xué)出版社,2013.

表2 鏈型組網(wǎng)測試結(jié)果

結(jié)合表1和表2數(shù)據(jù),星型組網(wǎng)時(shí),自動(dòng)補(bǔ)償前上下行最大時(shí)延差為30.93μs/30.75μs,自動(dòng)補(bǔ)償后最大時(shí)延差為0.67μs/0.50μs;鏈型組網(wǎng)時(shí),自動(dòng)補(bǔ)償前上下行最大時(shí)延差為41.38μs/40.94μs,自動(dòng)補(bǔ)償后最大時(shí)延差為0.40μs/0.75μs;考慮到頻譜儀存在±0.5μs的測量誤差,該測量結(jié)果在誤差范圍內(nèi)符合設(shè)計(jì)的精度要求。實(shí)驗(yàn)結(jié)果表明,在不同方式組網(wǎng)下,經(jīng)時(shí)延自動(dòng)補(bǔ)償后,系統(tǒng)上下行最大時(shí)延差均被補(bǔ)償至1μs以內(nèi),滿足了應(yīng)用方提出的要求。

4 結(jié)論

時(shí)延測量與補(bǔ)償是鐵路專用光纖分布式系統(tǒng)中的重要功能,本文提出了一種時(shí)延測量與計(jì)算的方法,設(shè)計(jì)了基于VxWorks的自動(dòng)補(bǔ)償方案,借助現(xiàn)有的系統(tǒng)平臺和儀表設(shè)計(jì)實(shí)驗(yàn)并驗(yàn)證了該方案的可行性。

參考文獻(xiàn)

[1]李慶.包西鐵路GSM-R數(shù)字光纖直放站方案研究[J].鐵路標(biāo)準(zhǔn)設(shè)計(jì),2013(12):105-108.

[2]姜立娜.GSM-R同頻干擾相關(guān)性研究[D].北京:北京交通大學(xué),2013.

[3]王蓓.青藏鐵路GSM-R通信系統(tǒng)中干擾問題的分析與研究[D].北京:北京交通大學(xué),2008.

[4]金紹春.數(shù)字光纖直放站中的時(shí)延測量與校正[J].大眾科技,2011(10):33-35.

[5]深圳國人通信有限公司.光纖直放站及其時(shí)延的測量方法、裝置及補(bǔ)償方法、系統(tǒng)[P].中國:CN101389090A,2009-03-18.

[6]周啟平,張楊,吳瓊.VxWorks開發(fā)指南與Tornado使用手冊[M].北京:中國電力出版社,2004.

[7]中國鐵路總公司.GSM-R中繼傳輸系統(tǒng)設(shè)備技術(shù)規(guī)范[S]. 2007.

(收稿日期:2015-06-23)

作者簡介:

丁偉偉(1991-),通信作者,男,碩士,主要研究方向:自動(dòng)化與通信技術(shù)。E-mail:1333749@#edu.cn。

趙霞(1974-),女,博士,副教授,主要研究方向:控制理論與工程,數(shù)字信號處理。

Indoor navigation system based on virtual reality

Wu Sheng,Bai Jiangbo,Yao Haohao,Wu Hao
(Department of Business,Hefei University of Technology Xuancheng Campus,Xuancheng 242000,China)

In recent years,with GPS,Beidou navigation and other outdoor based navigation system is very well,but the study of indoor navigation is poor.Based on the Unity3D engine,combined with 3DS MAX modeling,this paper develops offline-threedimension simulation of wayfinding system.At last,scene optimization method has been introduced in this paper,in order to use for PC,smartphone platforms,etc.

simulation;interior wayfinding;Unity3D;virtual reality

TP391.9

A

1674-7720(2015)20-0076-04

武勝,白江波,姚浩浩,等.基于虛擬現(xiàn)實(shí)技術(shù)的室內(nèi)導(dǎo)航系統(tǒng)[J].微型機(jī)與應(yīng)用,2015,34(20):76-79.

2015-05-21)

武勝(1992-),通信作者,男,本科,主要研究方向:大型室內(nèi)場所虛擬導(dǎo)航。E-mail:1192245476@qq.com。

白江波(1994-),男,本科,主要研究方向:基于Unity3D的虛擬現(xiàn)實(shí)的導(dǎo)航。

姚浩浩(1993-),男,本科,主要研究方向:三維建模。

猜你喜歡
導(dǎo)航系統(tǒng)時(shí)延虛擬現(xiàn)實(shí)
說說“北斗導(dǎo)航系統(tǒng)”
基于GCC-nearest時(shí)延估計(jì)的室內(nèi)聲源定位
電子制作(2019年23期)2019-02-23 13:21:12
基于改進(jìn)二次相關(guān)算法的TDOA時(shí)延估計(jì)
“北斗”導(dǎo)航系統(tǒng)是怎樣煉成的
一種GNSS/SINS容錯(cuò)深組合導(dǎo)航系統(tǒng)設(shè)計(jì)
風(fēng)口上的虛擬現(xiàn)實(shí)
商周刊(2017年24期)2017-02-02 01:42:55
虛擬現(xiàn)實(shí)技術(shù)向科幻小說借靈感
海外星云(2016年7期)2016-12-01 04:18:00
解讀全球第四大導(dǎo)航系統(tǒng)
FRFT在水聲信道時(shí)延頻移聯(lián)合估計(jì)中的應(yīng)用
基于分段CEEMD降噪的時(shí)延估計(jì)研究
潼关县| 仙桃市| 阿尔山市| 南丹县| 织金县| 凭祥市| 都昌县| 郎溪县| 苏尼特右旗| 新泰市| 阿鲁科尔沁旗| 定州市| 贵州省| 吐鲁番市| 桃江县| 湄潭县| 尼勒克县| 云梦县| 龙口市| 乌拉特中旗| 汕尾市| 呈贡县| 雷州市| 泰兴市| 平潭县| 亳州市| 桂阳县| 寿宁县| 隆林| 乐山市| 来安县| 正定县| 新邵县| 阿拉尔市| 布拖县| 四子王旗| 广元市| 巍山| 阿克陶县| 康保县| 新乐市|