《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于虛擬現實技術的室內導航系統
基于虛擬現實技術的室內導航系統
2015年微型機與應用第20期
武 勝,白江波,姚浩浩,吳 浩
合肥工業大學宣城校區 商學系,安徽 宣城 242000
摘要: 以GPS、北斗等為主的室外導航系統的研究進行得如火如荼,但是室內導航的研究卻進行得不如人意。以Unity3D為引擎,結合3DS MAX建模,開發室內離線3D仿真尋路系統。該系統完全按照室內樣貌建造模型,以最真實的虛擬場景還原室內樣貌,供導航者更好地完成室內尋路。最后介紹了場景優化的方法,以便在PC、智能手機等平臺上使用。
Abstract:
Key words :

  摘  要: 以GPS、北斗等為主的室外導航系統的研究進行得如火如荼,但是室內導航的研究卻進行得不如人意。以Unity3D為引擎,結合3DS MAX建模,開發室內離線3D仿真尋路系統。該系統完全按照室內樣貌建造模型,以最真實的虛擬場景還原室內樣貌,供導航者更好地完成室內尋路。最后介紹了場景優化的方法,以便在PC、智能手機等平臺上使用。

  關鍵詞: 仿真;室內尋路;Unity3D;虛擬現實

0 引言

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

Image 001.png

  其中沉浸性是虛擬現實技術的最主要的特征。體驗者在外部硬件的幫助下將表達傳遞到虛擬現實中,在虛擬現實中產生相應反應,這些刺激能積極調動體驗者的感官系統,從而讓體驗者更易于沉浸虛擬世界,如圖2所示。

Image 002.png

  現如今人們日?;顒臃秶饕€是在室內,且伴隨著我國建筑行業的快速發展,結構復雜的巨型建筑如上海世貿大廈等逐漸進入人們的日常生活,室內尋路問題亟需解決。而近年來關于虛擬現實及Unity3D的研究越來越熱,通過建模并完成貼圖后導入Unity3D,在Unity3D中完成腳本語言的編寫,從而實現交互及尋路系統。由于虛擬場景具有較強的真實性,尋路者在極具復雜的室內環境中也能找到目標位置。

1 概述

  本文討論的是基于Unity3D[2]的室內導航系統,應用到軟件工程思想,從需求入手,設計室內尋路導航系統的各個功能模塊。由于室內場景極其復雜,室內導航系統的開發步驟如下:

 ?。?)數據采集:采用CAD圖紙和場景圖片,應用Photoshop優化場景圖片信息;

 ?。?)數據處理:結合3Dsmax建模應用,在Mari中完成模型貼圖;

 ?。?)開發應用:將完成貼圖的模型導成.FBX格式后導入到Unity3D,在Unity3D中添加相機、燈光、碰撞體、尋路組件等,利用NGUI進行尋路系統交互界面設計等完成場景交互,最終實現室內自動尋路系統。其中包括輸入目的地,以最優算法實現最短路途,到達目的地,到達目的地后可以接著實現二次尋路;在尋路過程中遇到門、燈等組件,進行碰撞檢測,門、燈等自動打開[3]。其制作流程如圖3所示。

Image 003.png

2 室內導航系統的設計與實現

  2.1 前期工作

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

  2.2 建模技術

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

  2.3 Unity3D場景搭建技術

  在Unity3D中實現尋路系統[5],由于本文討論的是在離線狀況下實現室內導航,而現在的建筑物往往有多個入口,因此需要選擇建筑物入口。此時進入交互界面,輸入需要導航的目標點,通過Find尋找該點是否存在,如果存在虛擬人物就會根據最優路徑自動到達,尋路結束,提醒是否再次尋路。場景制作流程如圖4所示。

Image 004.png

  2.3.1 尋路組件

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

  將制作好的場景導入Unity3D,選擇場景模型,然后將Navigation Static選中,對于與場景無關的模型確定其不被選中。打開Navigation,根據場景需要調整尋路者半徑、高度以及尋路者能行走的最大坡度和高度,完成后烘焙場景[6]。

  2.3.2 第三人稱物體設置

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

  public NavMeshAgent man;

  public Transform target;

  GameObject go;

  void Start(){

  man=gameObject.GetComponent<NavMeshAgent>();

  go=GameObject.Find(Xinan.rukou);}

  target=go.transform;

  void Update(){

  if(Xunlu. roomNum != null){

  go=GameObject.Find(Xunlu.roomNum);

  target=go.transform;

  man.SetDestination(target.position); }}

  由于使用角色為第三人稱,角色所處的狀態即為等待或行走,通過將事先導入的動畫進行設置進而實現。創造兩個bool類型數值,分別為idel與walk,實現其與動畫過度關聯,并通過腳本進行控制。部分腳本如下:

  void Start() {

  m_ani=this.GetComponent<Animator>();}

  void Update(){

  AnimatorStateInfo stateInfo=m_ani.GetCurrentAnimatorStateInfo(0);

  …..

  m_ani.SetBool("idle",true);

  …….

  m_ani.SetBool("idel",false);

  …..

  m_ani.SetBool("walk",true);

  …….

  m_ani.SetBool("walk",false);}}

  2.3.3 相機設置

  需要將相機設置成伴隨角色的移動。通過設置相機相對角色位置并且每幀都去檢測相機相對角色位置,即保證相機相對角色為靜止狀態。部分實現代碼如下:

  public Transform m_transform;

  float m_camHeight=1.4f;

  Transform m_camTransform;

  CharacterController m_ch;

  void Update(){

  m_transform=this.transform;

  m_camTransform=Camera.main.transform;

  Vector3 pos=m_transform.position;

  pos.y+=m_camHeight;

  m_camTransform.position=pos;

  m_camTransform.rotation=m_transform.rotation;

  m_camTransform.eulerAngles=m_transform. eulerAngles}

  2.3.4 交互界面

  對于交互界面[7]的設計,采用了NGUI,大大方便了界面設計,提高了效率。對于交互界面,分為兩部分,即建筑物入口選擇界面和目標點輸入界面。

  建筑物入口選擇部分交互界面,單獨放到一個場景中,將使用說明等與之組合在一起。如果用戶點擊某一入口,則將值傳遞給角色,角色切換到相應入口處。實現主要代碼如下:

  void OnClick()

  {Application.LoadLevel(2);

  rukou="easterndoor";

  M=true;}

  場景二中人物添加代碼如下:

  void Start(){

  go=GameObject.Find(Xinan.rukou);

  target=go.transform;

  man.transform.position=target.position;}

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

Image 005.png

  通過在尋路代碼中添加設置虛擬人物與目標點的距離來判讀是否出現輸入目標點的交互界面[8]:

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

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

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

Image 006.png

  public GameObject errorUI;

  public static string classroomNum;

  ……

  classroomNum=GuiInput.value;

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

  if(xunlu.flag==1)

  {errorUI.SetActive(true);}

  else

  {errorUI.SetActive(false);}

  2.3.5 檢測碰撞

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

3 場景優化

  本導航系統基于智能手機開發,雖然現在的智能手機處理器、內存等都有大的提升,但是如果場景較大,模型點面較多,代碼優化不合理,在智能機上的運行將會受影響。因此,本文認為應該從以下幾個方面進行場景優化[9]:

 ?。?)對于場景內的點面,最好控制在10萬以內,看不見的點面將其刪除;

 ?。?)盡可能減少角色骨骼數量;

 ?。?)多張貼圖共享一張材質球;

 ?。?)保證代碼邏輯正確,刪除腳本中未使用的Update函數;

 ?。?)盡可能減少像素燈光、反射、陰影等的使用,這些操作會導致模型被多次渲染,加重CPU的負擔。

4 結論

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

參考文獻

  [1] 馮俊杰.基于UML的三維漫游系統的分析與設計[D].大連:遼寧師范大學,2011.

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

  [3] 干建松.基于Unity3d的室內漫游仿真系統[J].淮陰師范學院學報(自然科學版),2011,10(6):515-518.

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

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

  [6] 吳鳳娟,刁永鋒.虛擬校園漫游系統的設計及實現[J].蘇州科技學院學報(工程技術版),2005,18(2):78-80.

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

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

  [9] 雷忠誠,胡文山,鄔靜陽,等.基于Web的3D智能家居系統設計與實現[J].電子技術應用,2014,40(9):114-117.

  [10] 金璽曾.Unity3D手機游戲開發[M].北京:清華大學出版社,2013.


此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲精品久久久一区二区三区| 亚洲高清在线观看一区| 国产视频欧美| 激情欧美国产欧美| 国产又爽又黄的激情精品视频| 欧美午夜精品久久久久久浪潮| 国产专区欧美专区| 欧美综合第一页| 久久综合影音| 麻豆91精品91久久久的内涵| 国产精品自拍在线| 亚洲日本va在线观看| 国产精品海角社区在线观看| 久久久蜜桃一区二区人| 欧美一区二区在线免费观看| 狠狠狠色丁香婷婷综合久久五月| 欧美午夜精品久久久久久浪潮| 国产一区欧美| 国精品一区二区| 欧美一区国产一区| 国产精品美女午夜av| 噜噜噜久久亚洲精品国产品小说| 亚洲国语精品自产拍在线观看| 欧美不卡福利| 欧美日韩p片| 亚洲人成网站777色婷婷| 亚洲免费在线观看| 久久亚洲私人国产精品va| 欧美激情精品久久久六区热门| 国外成人在线视频| 国产在线精品一区二区夜色| 国产精品成人播放| 欧美日韩国产一区二区三区| 欧美高清自拍一区| 久久大香伊蕉在人线观看热2| 悠悠资源网久久精品| 国产一区二区三区日韩| 这里只有精品电影| 日韩一区二区精品在线观看| 尤物九九久久国产精品的分类| 久久久久成人网| 亚洲美洲欧洲综合国产一区| 男人插女人欧美| 国产区在线观看成人精品| 欧美一区二区播放| 亚洲一区二区三区精品在线观看| 久久精品道一区二区三区| 欧美国产另类| 亚洲欧美精品伊人久久| 欧美va亚洲va香蕉在线| 亚洲国产一区在线| 亚洲区第一页| 欧美一区二区网站| 欧美一区二区免费视频| 亚洲国产高清视频| 久久中文欧美| 亚洲丶国产丶欧美一区二区三区| 国产综合色一区二区三区| 欧美日韩亚洲免费| 一区二区三区免费在线观看| 狼人社综合社区| 午夜精品一区二区在线观看| 午夜精品福利电影| 欧美午夜精品理论片a级大开眼界| 久久久噜噜噜| 你懂的网址国产 欧美| 欧美日韩一区二区在线观看| 亚洲专区一区| 一色屋精品视频在线观看网站| 国产精品久久久久久一区二区三区| 欧美在线电影| 亚洲精选国产| 欧美三日本三级少妇三99| 亚洲一区二区伦理| 国产精品狼人久久影院观看方式| 欧美在线一二三四区| 欧美肥婆bbw| 另类酷文…触手系列精品集v1小说| 欧美一区二区在线免费播放| 亚洲桃花岛网站| 亚洲日本免费| 国产亚洲欧美日韩一区二区| 亚洲欧美一区二区在线观看| 久久精品水蜜桃av综合天堂| 久久这里有精品视频| 欧美在线999| 欧美理论片在线观看| 久久99在线观看| 亚洲国产欧美日韩精品| 日韩午夜电影在线观看| 欧美一区二区视频在线| 欧美影院成人| 亚洲日本成人| 久久久久88色偷偷免费| 久久久久青草大香线综合精品| 久久精品视频播放| 欧美视频网址| 国内外成人在线视频| 欧美视频免费看| 国产日产高清欧美一区二区三区| 国产精品国产三级国产专播品爱网| 好吊色欧美一区二区三区四区| 性欧美video另类hd性玩具| 国产日韩欧美一区| 欧美成人午夜| 狠狠色综合网站久久久久久久| 免费观看成人| 国产日韩欧美高清免费| 麻豆成人在线播放| 欧美成人精品不卡视频在线观看| 一区在线视频| 国产精品久久久久秋霞鲁丝| 国产精品美女诱惑| 在线观看日产精品| 一本一本久久a久久精品牛牛影视| 亚洲精选成人| 国产精品亚洲美女av网站| 美国成人毛片| 亚洲视频在线视频| 午夜精品一区二区三区四区| 午夜精品美女久久久久av福利| 小嫩嫩精品导航| 久久免费精品视频| 欧美日本簧片| 欧美呦呦网站| 国产精品爽爽ⅴa在线观看| 亚洲电影免费观看高清| 亚洲美女av电影| 国产欧美一区二区三区另类精品| 久久久99久久精品女同性| 黄色成人在线网站| 欧美日韩国产天堂| 亚洲精品视频在线播放| 亚洲日本无吗高清不卡| 欧美在线观看网址综合| 裸体女人亚洲精品一区| 国产嫩草一区二区三区在线观看| 日韩午夜激情电影| 国产亚洲欧美中文| 欧美视频官网| 欧美高潮视频| 伊人久久久大香线蕉综合直播| 在线观看欧美| 欧美理论大片| 136国产福利精品导航网址应用| 久久久久一区二区| 国产欧美日韩在线播放| 亚洲午夜在线视频| 久久精品夜色噜噜亚洲a∨| 亚洲欧美春色| 巨胸喷奶水www久久久免费动漫| 亚洲网站在线播放| 在线看无码的免费网站| 亚洲日产国产精品| 欧美精品电影在线| 亚洲字幕一区二区| 久久这里有精品15一区二区三区| 亚洲激情在线激情| 久久精品一区中文字幕| 久久久7777| 久久高清一区| 亚洲国产日韩欧美综合久久| 韩日精品中文字幕| 亚洲国产综合视频在线观看| 在线日本欧美| 久久久久久**毛片大全| 欧美天堂亚洲电影院在线观看| 国产精品毛片高清在线完整版| 夜夜夜久久久| 亚洲国产一区二区视频| 欧美经典一区二区| 欧美sm重口味系列视频在线观看| 欧美mv日韩mv国产网站app| 亚洲国产裸拍裸体视频在线观看乱了中文| 午夜精品在线视频| 久久丁香综合五月国产三级网站| 国产精品欧美经典| 亚洲伊人伊色伊影伊综合网| 国自产拍偷拍福利精品免费一| 国产欧美 在线欧美| 日韩亚洲在线| 国产亚洲精品久| 久久夜色精品亚洲噜噜国产mv| 亚洲黄色在线视频| 亚洲欧洲日产国产网站| 国产精品成人观看视频免费| 国产欧美一区二区色老头| 在线日韩欧美视频| 欧美另类综合| 在线观看国产日韩| 免费欧美视频| 尤物yw午夜国产精品视频明星| 中文无字幕一区二区三区| 精品999久久久| 国产精品一区亚洲| 欧美日韩亚洲一区二区三区在线| 在线不卡免费欧美| 久久精品国产2020观看福利| 国产精品揄拍一区二区| 欧美日韩成人在线观看| 亚洲一级网站| 亚洲天堂免费观看| 国产精品亚洲аv天堂网| 欧美日韩在线免费| 亚洲精品日韩欧美| 国产一区二区三区在线观看视频| 欧美福利视频在线观看| 欧美性开放视频| 久久综合伊人77777麻豆| 久久久久亚洲综合| 亚洲开发第一视频在线播放| 国产精品国产馆在线真实露脸| 国产精品久久一区二区三区| 在线国产欧美| 性做久久久久久久免费看| 国内外成人免费视频| 亚洲第一伊人| 久热re这里精品视频在线6| 欧美在线观看视频在线| 亚洲国产欧美一区二区三区同亚洲| 国产视频在线观看一区二区三区| 欧美一级久久久| 亚洲第一精品夜夜躁人人爽| 国产精品视频免费在线观看| 欧美视频你懂的| 久久精品国产99| 午夜久久99| 欧美体内she精视频| 99国产成+人+综合+亚洲欧美| 欧美成人性生活| 欧美国产国产综合| 欧美日韩国产成人在线91| 国产精品99久久久久久久久久久久| 久久免费少妇高潮久久精品99| 在线成人av.com| 亚洲乱亚洲高清| 久久精品在线视频| 亚洲高清一区二| 国产中文一区| 亚洲午夜精品17c| 夜夜嗨av一区二区三区网页| 欧美夫妇交换俱乐部在线观看| 亚洲专区国产精品| 欧美大香线蕉线伊人久久国产精品| 亚洲日本成人| 亚洲自拍偷拍麻豆| 欧美午夜免费影院| 9久草视频在线视频精品| 亚洲天堂av在线免费观看| 亚洲视频一二| 国产精品国产a级| 欧美日韩视频在线一区二区观看视频| 夜久久久久久| 日韩视频在线一区| 一区二区不卡在线视频 午夜欧美不卡'| 99精品国产一区二区青青牛奶| 黄色亚洲免费| 国产日韩一区二区三区在线| 亚洲一区二区成人在线观看| 一区二区av在线| 国产精品久久久久av免费| 午夜免费久久久久| 亚洲欧美日韩系列| 亚洲一区在线视频| 亚洲激情专区| 娇妻被交换粗又大又硬视频欧美| 在线观看亚洲一区| 国产女主播一区二区| 亚洲欧美国产毛片在线| 国产一区二区观看| 亚洲欧美日韩国产另类专区| 国产欧美一区二区三区在线老狼| 欧美 日韩 国产 一区| 激情五月婷婷综合| 亚洲精品乱码久久久久久| 激情亚洲一区二区三区四区| 国产欧美日韩综合一区在线播放| 免费人成网站在线观看欧美高清| 亚洲第一视频网站| 免费不卡欧美自拍视频| 欧美激情区在线播放| 欧美激情综合网| 在线亚洲精品福利网址导航| 久久精品天堂| 国产一区二区观看| 国产喷白浆一区二区三区| 欧美成人一区二区在线| 在线观看精品| 国产精品白丝jk黑袜喷水| 国内精品伊人久久久久av一坑| 欧美性片在线观看| 欧美精品一区在线观看| 亚洲日本va午夜在线影院| 免费日本视频一区| 欧美日一区二区在线观看| 妖精成人www高清在线观看| 欧美成人午夜剧场免费观看| 国产一区日韩二区欧美三区| 亚洲国产欧美国产综合一区| 亚洲日本在线视频观看| 国产精品自拍视频| 欧美人与性动交cc0o| 欧美日韩一级片在线观看| 一区二区三区视频在线| 欧美一区二区播放| 欧美视频手机在线| 老妇喷水一区二区三区| 亚洲欧美日韩国产另类专区| 欧美大片免费观看在线观看网站推荐| 国产精品成人久久久久| 一区二区在线视频播放| 韩国v欧美v日本v亚洲v| 国产精品实拍| 亚洲欧美日韩国产综合| 国产精品久久婷婷六月丁香| 欧美日韩国产首页| 亚洲一区欧美| 亚洲欧美日韩国产综合在线| 午夜日本精品| 99国产欧美久久久精品| 欧美手机在线| 欧美日韩亚洲高清一区二区| 韩国女主播一区| 亚洲国产国产亚洲一二三| 久久爱www.| 国产亚洲人成a一在线v站| 国模吧视频一区| 午夜视黄欧洲亚洲|