于浩然 吳嘉臣
摘 ?要:該文以云南省紅河城子村為研究對象,利用三維激光掃描技術對村落進行了數據采集,獲取到了城子村原始三維點云數據;依托3D建模技術,對城子村建筑單體及場景進行了復建,開發(fā)了具有人機交互功能的漫游場景;結合虛擬現實硬件設備,形成了具有浸入式漫游體驗功能的軟硬件套件;在3D模型及漫游場景的基礎上,進一步對城子村進行了三維可視動態(tài)規(guī)劃系統(tǒng)研發(fā),形成了能夠實現對建筑、地形、道路等進行三維動態(tài)規(guī)劃的系統(tǒng)。基于三維激光掃描、3D建模、人機交互開發(fā)及規(guī)劃設計技術的一整套成果,為城子村的數字化保護、旅游推介及規(guī)劃提供了可靠的支撐。
關鍵詞:城子村 ?三維激光掃描 ?3D建模 ?Unity3D ?動態(tài)規(guī)劃
中圖分類號:TP391 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1672-3791(2019)06(a)-0251-02
城子村隸屬于云南省紅河州瀘西縣永寧鄉(xiāng),該村是明廣西府第五代士官昂貴的府地所在,全村1000多間土庫房,或首尾相銜,或左右毗連,將村戶人家結為一體,其造型獨特,實屬罕見。為了讓更多人了解此等壯觀之景,將城子村打造成一個集旅游、民俗、特色建筑為一體的特色旅游小鎮(zhèn)。因此,我們利用眼下熱門的VR技術與動態(tài)規(guī)劃相結合,讓世人知道這個小鎮(zhèn),將有限的資源無限規(guī)劃,合情合理地發(fā)展旅游業(yè)。
1 ?開發(fā)流程
首先利用三維激光技術,對城子村進行掃描,獲取真實的點云數據。然后將點云數據導入3ds max軟件建立城子村模型。單體模型完成后,將模型導入Unity3D中,還原城子村真實場景。經研究討論后制定出一套切實可行的規(guī)劃方案,在Infraworks中進行動態(tài)規(guī)劃[2]。最后著手將VR插件加入漫游場景中,在建筑、地形上加入腳本,實現場景的VR虛擬漫游。
2 ?模型建立
為了保證模型制作的流暢度,將獲取的點云數據處理,切割成單體的點云輪廓圖。將切割后的點云導入3ds max軟件中,以點云輪廓圖為基礎,利用幾何體或不規(guī)則形體,1∶1還原真實場景,以模型的形式展示城子村土掌房的建筑形態(tài)。在建模階段,如果遇到點云不清晰的問題制作人員需要打開掃描數據時保留的真實照片,再對照實物照片還原模型。
3 ?模型處理及Unity場景開發(fā)
3.1 模型處理
在建模階段時,為了保證工作效率,采用分區(qū)域多人同時建立模型,由于個人習慣及操作失誤,造成了在模型導入Unity3D時,會有許多不統(tǒng)一的數據,例如比例參數、成組情況還有軸心保存方式的不統(tǒng)一。這就造成了將模型導入Unity軟件時,會有房間構建的飛散、軸心的偏離、比例不均勻。為了解決上述問題,小組成員將數據模型重新分組,比例、軸心統(tǒng)一,將模型編號,以便于接下來的工作有條不紊地進行。
3.2 按鈕功能
在房子分部及地形基礎都完成后,開始在漫游系統(tǒng)中添加按鈕。首先在Hierarchy面板上點擊鼠標右鍵,UI-->Button創(chuàng)建一個Button按鈕,單擊Button,在Inspector面版中點擊AddComponent,新建一個名為Test的C#腳本,雙擊腳本打開,進行編輯添加按鈕事件引用,獲取按鈕組件以及添加點擊事件,最后運行場景,點擊按鈕。這就實現了在場景中的傳送至指定地點等多種功能,逐漸完善成為一個系統(tǒng)。
3.3 第一人稱漫游
第一人稱漫游是指人們可以利用硬件設備或者軟件在一個虛擬場景中以第一人稱的形式進行漫游。利用Unity中的第一人稱視角(即第一人稱膠囊體),將膠囊體拖入到場景中,修改必要的屬性,讓其成為可以達到我們漫游目的的依托體。在用戶點擊按鈕進入第一人稱漫游時,即可通過鍵盤上的“W”“S”“A”“D”鍵實現依托體的自由行走漫游功能,給客戶以真實的體驗。
3.4 添加物理碰撞效果
碰撞系統(tǒng)是模擬物體遇到障礙物時的物理反應,它是漫游系統(tǒng)所必需的功能[3]。在現實生活中,當角色碰撞到障礙物時,就會停止。在未添加碰撞第一人稱漫游時,會無視所有的建筑物,直接穿過墻體,不符合實際情況。那么必須要給游戲對象和建筑物添加碰撞。首先我們給模型添加Rigdibody剛體組件。接著在Compont給其添加Mesh Collider組件。勾選里面的Convex,會默認根據自己的模型生成一個碰撞范圍,但是不是很精確。然后我們展開模型,把里面的網格ear1拖放到Mesh中,然后勾選Convex就可以在對應的位置建立碰撞范圍,這樣就完成了碰撞的添加。這樣就保證了角色碰到墻體時不會穿過。
3.5 制作VR場景
在完成的漫游基礎上,主要利用SteamVR軟件來進行VR場景的制作。先將制作好的漫游場景主相機刪除,隨后進入project工程面板中找到SteamVR文件夾,其中有一個prefabs預制體文件夾,里面提供了標準的VR相機。一旦物體出現在場景中之后,你可以為之添加一個或者多個腳本,這些腳本可以讓物體栩栩如生,比如可以讓槍開火、子彈運動,還可以讓角色行走和說話。想要增加腳本,在Scene界面或者Hierarchy標簽下選擇你想要控制的物體,Inspector標簽可以顯示所有與該物體相關的組件,實現人們可以戴上頭盔手持手柄時,自由真實地在城子村中漫游,給人以身臨其境的感覺,卻又有現實旅游時體會不到的科技美感。
4 ?Unity3D場景優(yōu)化
4.1 模型構建分組合并
受計算機性能影響,如果模型太過繁瑣復雜,內部組件過多,在打開場景時計算機就會處理過長時間,這樣就使使用者產生煩躁、不耐煩的心理,極大地影響用戶的體驗。針對這個問題,我們將所有的模型構建成組,將不會再更改的組件固定,這樣整體的文件數量減少,在計算機載入場景時,就會減少處理時間,提高用戶體驗感。
4.2 相機優(yōu)化
在用戶漫游時,許多相機的角度以及放置位置不合理,這樣用戶就不能獲取到需要的信息。針對這個問題,我們采用三審一濾的策略,即3次小組成員自行審查,1次全體成員總體過濾的形式,將每一個相機的問題都記錄并優(yōu)化,這樣就極大地提高了用戶的漫游體驗。
5 ?動態(tài)規(guī)劃
為了更貼合實際,也為了可以更好地對當地的變化做出及時調整,我們利用Autodesk InfraWorks 360軟件對城子村及周邊環(huán)境進行了動態(tài)規(guī)劃。先將現有衛(wèi)星圖下載,再將現實的道路數據、高程數據整理。小組討論后,針對現有的道路、山河湖泊等自然條件進行規(guī)劃 。
6 ?結語
隨著人類文明的推進,許多古建筑、古橋梁、古廟已經遭到破壞,還有許多地方特色的充滿傳奇色彩的地域文化被現代的鋼筋混凝土所侵蝕,可想而知,在不遠的將來這些古人留下的文化瑰寶,將會消失殆盡。而該項目是將古村完整地,并永遠地存留下來,無論何時都可以如身臨其境般體驗中華文化的壯麗。隨著計算機技術的迅速發(fā)展,今后的虛擬漫游系統(tǒng)將會越來越人性化,它是一個三維可視化的、有聲有色的仿真景觀,用戶也將會更多的了解到虛擬現實技術的魅力。通過此項技術保證了古文化的源遠流長。
參考文獻
[1] 陳宏.與城鎮(zhèn)產業(yè)發(fā)展相適應的小城鎮(zhèn)規(guī)劃方法研究[J].智能城市,2018,4(8):105-106.
[2] 楊溢,王鳳.圖書館戰(zhàn)略規(guī)劃的制定程序與內容框架研究[J].圖書館建設,2009(10):109-114.
[3] 王文潤,王陽萍,雍玖.基于Unity3d的鐵路信號設備虛擬現實系統(tǒng)研究[J].鐵道標準設計,2016,60(8):144-146,147.