999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Unity3D的室內漫游系統

2016-11-09 07:31:47肖建良張程李陽
電子設計工程 2016年19期
關鍵詞:動畫用戶模型

肖建良,張程,李陽

(大連理工大學 城市學院,遼寧 大連116600)

基于Unity3D的室內漫游系統

肖建良,張程,李陽

(大連理工大學 城市學院,遼寧 大連116600)

Unity3D是近幾年非常流行的一個3D游戲開發引擎,它的特點是跨平臺能力強,移植便捷,3D圖形性能出眾。文中以室內虛擬3D場景為開發目標,利用Unity3D游戲引擎,結合C#腳本語言開發了室內漫游系統。系統為用戶提供了近乎真實的虛擬環境,用戶可以自由的漫游、瀏覽、與環境互動。文中還討論并實現了在Unity3D平臺上構建室內漫游系統的關鍵技術。系統運行穩定、畫面流暢,驗證了Unity3D是開發VR項目的有效工具。

虛擬現實;Unity3D;游戲引擎;仿真

虛擬現實技術也稱靈境技術或人工環境[1],是利用計算機模擬產生一個三維空間的虛擬世界,提供使用者關于視覺、聽覺、觸覺等感官的模擬,讓使用者如同身臨其境一般,可以及時、沒有限制地感知三維空間內的事物。隨著社會發展,虛擬現實技術在教育、建筑、工業仿真、醫療、軍事和娛樂游戲等領域得到了廣泛的應用[2]。目前在家居設計、場地租賃等行業中,用戶主要通過照片、圖片和相應的文字說明來了解相關信息,沒有身臨其境的感覺,缺乏與環境間的互動。室內漫游系統基于虛擬現實技術和網絡技術,它更直觀形象,更接近真實環境,并具有更好的交互性,能夠給使用者一種逼真、身臨其境的感覺。

Unity3D是由Unity Technologies開發的一個讓玩家輕松創建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內容的多平臺的綜合型游戲開發工具,是一個全面整合的專業游戲引擎[3]。作為一款跨平臺的游戲引擎,支持的平臺包括PC、Mac、Linux、Web、iOS、Android、Xbox360、Play Station3等大部分主流平臺。隨著iOS、Android手機的大量普及和3D網絡游戲的興起,Unity3D因其強大的功能,良好的移植性,在手機和網絡平臺得到了廣泛的應用和傳播[4]。

1 室內漫游系統的開發流程與關鍵技術

1.1開發流程

室內漫游系統的開發遵循軟件開發的一般步驟,依次是分析、設計、開發、測試、修改反復且漸進的完成所規劃的功能[5]。系統的開發目標為構建一個虛擬的3D室內環境,因而其開發流程主要分為兩部分:1)創建室內環境和景物的3D模型;2)通過編寫C#腳本,實現用戶與虛擬環境間的互動。第一部分的主要工作是利用3D建模工具3DMax創建真實環境中各個物體的3D模型。第二部分的主要工作是編寫互動腳本,利用腳本將模型與Unity3D連接起來,賦予靜態模型交互的能力。系統的開發流程包括創建模型,模型貼圖,導入模型,編寫互動腳本,全景測試等5部分,其細節如圖1所示。

圖1 系統開發流程

1.2關鍵技術

室內漫游系統是室內環境的真實再現,并為用戶提供漫游,瀏覽和與虛擬環境交互等功能。在Unity3D平臺中,以上功能的實現依賴攝影機運動,碰撞檢測,3D拾取,動畫和音效等關鍵技術。

1.2.1攝影機運動

用戶利用“UP”、“DOWN”、“LEFT”、“RIGHT”鍵控制攝影機在場景中向前、向后、向左、向右運動以實現第一人稱場景漫游,并利用鼠標控制攝影機的觀察角度。首先編寫運動控制腳本,然后將腳本指定給攝影機,攝影機向前運動的具體代碼片段如下。

1.2.2碰撞檢測

在Unity3D平臺中,通常利用碰撞器來檢測對象間是否發生碰撞。Unity3D中內建的碰撞器包括:BoxCollider,Sphere Collider,CapsuleCollider,MeshCollider,WheelCollider和 TerrianCollider[6]。考慮到運算效率和場景中的對象大多為規則形狀,因此選擇BoxCollider或SphereCollider,其實現步驟如下。

1)為需要進行碰撞檢測的對象添加BoxCollider或Sphere Collider;修改 BoxCollider的 size屬性或 SphereCollider的Radius屬性,確保其能完全包圍待檢測對象;將BoxCollider或SphereCollider的IsTrigger屬性設置為ture。

2)編寫互動腳本,處理碰撞事件,然后將其指定給待檢測對象,具體代碼片段如下。

1.2.33D拾取

在漫游過程中,允許用戶通過鼠標選中虛擬環境中的物體進行操作,這時就需要3D拾取技術[7]。3D拾取技術的基本思想非常簡單,由攝影機和屏幕上的鼠標點擊位置確定一條射線,射線射向3D世界,最先和此射線相交的物體就是被選中的物體。具體代碼片段如下。

1.2.4動畫和音效

動畫和音效都是室內漫游系統的重要組成部分,它們會提高場景的真實性,讓用戶覺得這并不是一個由靜態模型堆砌的世界,而是一個真實的世界[8],當開門的時候,門應該是慢慢打開的,同時還會發出聲音,這時就需要動畫和音效。Unity3D中有完善的動畫和音效的處理機制,其實現步驟如下:

1)創建動畫和音效,導入Unity3D,并根據要求剪輯。

2)在要播放動畫的對象上添加動畫組件,在要播放音效的對象上添加聲音組件。

3)編寫腳本播放動畫和音效,然后將其指定給對應對象,播放開門動畫和音效的具體代碼片段如下。

2 室內漫游系統的實現

2.1模型的構建

在整個系統的開發過程中,模型構建是最耗時的一項工作。為了讓3D場景呈現出與實景一致的感覺,在模型構建上,需要盡量塑造出與原物件比例一致的3D模型。模型建好之后,接下來就是在模型表面貼上逼真的素材。素材的來源主要是網絡下載的素材庫和實景照片。為了降低場景的復雜度,對于室內環境的細節,比如窗戶,室內背景墻等并沒有單獨建模,而是采用紋理貼圖,用紋理圖片替代復雜的模型結構。在模型的構建中還考慮到對模型的優化,通過采用刪除不可見面、減少材質數量、壓縮貼圖等優化方法,簡化了模型,減少了模型的大小。

圖2 辦公室模型

2.2場景設計

場景設計是系統設計的一個重要環節。當制作復雜環境時,需要將整個環境分割成若干個子場景,這樣可以減少每次載入系統的模型數量,加快系統的執行速度,減少用戶的等待時間。室內環境包含多個房間物體的大量3D模型,因而需要先進行場景分割,將每個房間作為一個單獨的子場景,并對每個子場景單獨建模。漫游時,只加載所需要的房間模型,而不用載入全部的環境模型,降低了所消耗的資源。在多場景環境中,場景間的切換會出現顯示的停滯或滯后現象。為了解決該問題,在系統中設置了用于加載場景資源和顯示加載進度的空場景。當用戶需要場景切換時,并不直接加載新場景,而是加載空場景。由于空場景中沒有模型,所以加載速度快,不會出現停滯或滯后現象。然后在空場景中再加載新場景,并顯示加載進度,這樣有效解決了場景切換中出現的顯示停滯后滯后問題。

2.3界面設計

Unity3D中具有一個強大的GUI功能,可以利用GUI來制作瀏覽界面、按鈕、滾動條和對話框等對象[9],常被用于實現人機交互界面游系統中,利用GUI元件制作用戶登錄頁面和漫游頁面,前者用于用戶登錄、退出系統,后者用于實現導航菜單,用戶可利用導航菜單選擇區域瀏覽、自動漫游或返回登錄頁面。區域瀏覽指的是讓用戶直接到達指定的瀏覽區域,自動漫游指的是讓用戶按照事先設計好的線路瀏覽。系統的登錄頁面如圖3所示。

圖3 系統登錄頁面

2.4交互性設計

Unity3D利用腳本實現用戶與環境間的互動[10],開發者可以使用JavaScript,Mono或C#來編寫腳本。Unity3D中內置了NVIDIA的Physx物理引擎,使開發者可以輕松地在虛擬環境中模擬出許多物理現象,比如坐標變換、剛體運動等。系統的交互設計主要包括環境漫游,場景切換和信息交互。

環境漫游是系統的主要功能,通過利用鍵盤和鼠標控制攝影機的運動,實現了用戶以第一人稱視角對環境的漫游、瀏覽。

系統采用多場景模式,每個房間都是一個子場景,當用戶從一個房間進入另一個房間,這時就會出現場景間的切換。場景切換應用了碰撞檢測、動畫和音效技術,其實現步驟如下:

1)為房門添加BoxCollider,設置其Size屬性,使其略大于房門尺寸,設置其Is Trigger屬性為ture。

2)編寫腳本,處理碰撞事件。在OnTriggerEnter函數中播放動畫、音效,加載空場景。把腳本指定給房門。

3)編寫腳本,加載新場景。把腳本指定給空場景的攝影機。

用戶在漫游過程中可以使用鼠標點擊場景中的物體,查看其相關的屬性信息或對其進行某種操作,比如點擊開關可以開、閉室內的電燈。信息交互主要應用了3D拾取技術,通過3D拾取技術確定用戶的操作對象,然后執行相關的操作。

3 結束語

文中以3Dmax為建模工具,利用Unity3D游戲引擎,結合C#腳本語言開發了一款互動的室內漫游系統,并利用Unity3D的多平臺部署功能,將其發布到Web平臺。從模型圖片中可以看到,系統為用戶提供了一個近乎實景的虛擬環境。文中討論并實現了在Unity3D平臺上構建室內漫游系統的若干關鍵技術,這些關鍵技術同樣可以應用于其他,包括電子、科技、安全、醫學等相關的虛擬現實和仿真領域。

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

[2]干建松.基于Unity3d的室內漫游的關鍵技術研究[J].鹽城工學院學報,2011,24(4):56-59.

[3]Unity3D [DB/OL].(2011-05-01)[2015-9-30].http://baike. haosou.com/doc/5376000-5612112.htm l.

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

[5]李遠鑫,蔣海鷗,徐亦飛,徐芝琦.基于Web3D的交互式虛擬社區[J].計算機工程,2011,37(11):289-290.

[6]吳亞峰,于復興.Unity 3D游戲開發技術詳解與典型案例[M].北京:人民郵電出版社,2012.

[7]倪樂波,戚鵬,遇麗娜,王婧.Unity3d產品虛擬展示技術的研究與應用[J].數字技術與應用,2010,21(9):54-55.

[8]黃濤.基于Unity3D的虛擬校園漫游系統的研究和實現[D].桂林:廣西師范大學,2014.

[9]鄭磊.基于三維網頁技術的Unity3D教學管理系統的設計與實現[D].上海:上海交通大學,2013.

[10]王星捷,李春花.基于Unity3D平臺的三維虛擬城市研究與應用[J].計算機技術與發展,2013,23(4),241-244.

The indoor roam ing system based on Unity3D

XIAO Jian-liang,ZHANG Cheng,LIYang
(City Institute,Dalian University of Technology,Dalian 116600,China)

Unity3D is a very popular game engine in recent years,which has the ability to crossplatforms,transplant conveniently and perform 3D graphics eminently.In this paper,with the aim to develop indoor virtual 3 D scenes,using Unity3D game engine,combined with C#script language to develop the indoor roaming system,which provides userswith an almost real virtualenvironmentwhere the user can free roaming,browse,interactwith the environment.In this paper,the key technologies of indoor roaming system are discussed and implemented on Unity3D platform.Unity3D is an efficient tool to develop VR projectis verified on the base ofstable system and smooth images.

virtual reality;Unity3D;game engine;simulation

TN02

A

1674-6236(2016)19-0054-03

2015-10-27稿件編號:201510195

遼寧大學生創新基金(201313198009)

肖建良(1964—),男,遼寧大連人,碩士,副教授。研究方向:計算機應用技術、虛擬現實。

猜你喜歡
動畫用戶模型
一半模型
做個動畫給你看
重要模型『一線三等角』
動畫發展史
重尾非線性自回歸模型自加權M-估計的漸近分布
我的動畫夢
文苑(2019年22期)2019-12-07 05:28:56
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
3D打印中的模型分割與打包
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
我是動畫迷
學生天地(2016年9期)2016-05-17 05:45:06
主站蜘蛛池模板: 免费国产好深啊好涨好硬视频| 国产无人区一区二区三区| 国产成人欧美| 日本高清有码人妻| 人妻丰满熟妇αv无码| 天堂在线www网亚洲| 精品人妻AV区| 亚洲午夜福利在线| 亚洲侵犯无码网址在线观看| 五月天天天色| 性欧美久久| 亚洲人成网站在线播放2019| 日韩精品一区二区三区中文无码| 亚洲国产成人久久77| 黄色污网站在线观看| 97视频精品全国在线观看| 精品综合久久久久久97| a级免费视频| 色呦呦手机在线精品| 国产欧美高清| 久久婷婷人人澡人人爱91| 日韩a级毛片| 中文无码精品A∨在线观看不卡| 国产精品亚洲综合久久小说| 久草国产在线观看| 国产精品va免费视频| 国产精品亚洲αv天堂无码| 免费在线成人网| 91麻豆精品国产高清在线| 欧美亚洲国产日韩电影在线| 97久久超碰极品视觉盛宴| 国产精品污视频| 国产亚洲欧美在线人成aaaa | 日本午夜影院| 国产永久在线视频| 国产无码高清视频不卡| 国产精品视频公开费视频| 精品国产免费人成在线观看| 欧洲成人在线观看| 亚洲精品高清视频| 日韩免费成人| 亚洲自偷自拍另类小说| 亚洲狼网站狼狼鲁亚洲下载| 国产精品第一区| 麻豆a级片| 欧美日在线观看| 亚洲成人77777| 亚洲天堂久久| 19国产精品麻豆免费观看| 亚洲成在线观看 | 天天做天天爱夜夜爽毛片毛片| 国产JIZzJIzz视频全部免费| 超碰aⅴ人人做人人爽欧美 | 色哟哟精品无码网站在线播放视频| 日本国产精品一区久久久| 色成人亚洲| 国产精品专区第1页| 久久6免费视频| 波多野结衣中文字幕一区| 91久久偷偷做嫩草影院免费看| 久久久精品无码一二三区| 无码高潮喷水专区久久| 五月天香蕉视频国产亚| 99久久精品免费看国产免费软件| 67194在线午夜亚洲| 无码日韩精品91超碰| 亚洲一欧洲中文字幕在线| 一级看片免费视频| 毛片三级在线观看| 欧美激情伊人| 毛片在线看网站| 91最新精品视频发布页| 精品撒尿视频一区二区三区| 国产一级妓女av网站| 亚洲熟女中文字幕男人总站| 成人国产三级在线播放| 五月天综合网亚洲综合天堂网| 二级特黄绝大片免费视频大片| 国产欧美日韩专区发布| 国产无遮挡猛进猛出免费软件| 白浆视频在线观看| 亚洲乱强伦|