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

基于Unity3D虛擬仿真博物館漫游系統的研究設計

2022-09-07 04:06:12
信息記錄材料 2022年7期
關鍵詞:用戶模型

李 晶

(廣東輕工職業技術學院 廣東 廣州 510300)

0 引言

隨著虛擬現實技術在各個行業的快速普及與發展,其在空間與時間上的技術突破對人們的工作、生活、娛樂都產生了不同程度的影響[1]。本文結合虛擬現實技術特點,將其應用于博物館場景的虛擬展示和交互中,設計與實現了一個基于Unity3D的虛擬仿真博物館漫游系統,打破了時間與空間的限制,為用戶提供了逼真的博物館游覽體驗,并針對技術應用過程中以下3點問題提出了針對性的解決策略。

問題1:三維場景的構建與資源優化問題。虛擬現實技術必須應用在三維場景中,而三維場景在圖形處理、渲染等方面需要占用大量的計算資源,容易造成系統運行效率低下、響應延時等問題[2],繼而影響用戶體驗。因此在保證虛擬場景顯示效果同時還需對場景結構進行優化和對場景資源進行有效調度,以保證系統的運行效率。

問題2:場景交互的觸發精度問題。用戶在虛擬場景中漫游,會通過各類觸發條件與場景進行交互,在觸發點較多,且場景空間較小的情況下,觸發點的邊界設置過大容易產生相互遮擋或邊界重合,導致響應錯誤;邊界設置過小,又難以被精準觸發,也會影響用戶體驗效果,因此需要對場景交互的觸發精度做進一步的優化處理。

問題3:場景漫游的視角問題。場景漫游需要設置邊界以防止用戶視角移出到場景之外,通常采用的策略是對場景邊界添加剛體組件以阻止場景攝像機的移出。但攝像機視角都設置有視域,當攝像機移動到場景邊界,視角已經超出了場景邊界,因此還需要對視角進行單獨調整。

1 Unity3D引擎

Unity3D是由丹麥公司開發的一款3D引擎,最初主要應用于3D游戲的設計開發。隨著虛擬現實技術的發展與普及,Unity3D也逐漸被用于各個行業領域的虛擬現實項目開發,成為虛擬現實項目開發的主流工具之一。其技術優勢主要包括以下幾個方面。

(1)初期開源免費,通過用戶的共用推廣,積累了豐富的功能插件和精美的場景、模型資源,能夠高效滿足用戶的各類開發需求[3]。

(2)圖形化界面操作,提供了基于三維空間的可視化操作界面以及直觀、便捷的操作工具,便于開發者快速搭建場景,調整場景布局。

(3)提供了多種數據接口,支持3D模型、二維圖像、音頻、視頻等多媒體文件的指定格式導入。

(4)支持組件式開發,內置多種功能組件供開發者調用,并可由開發者自行設置功能參數,例如物理模擬組件用于模擬物體重力、碰撞彈射、刮風下雨等效果,粒子組件用于模擬煙火、爆炸等效果。

(5)支持C#、JavaScript等主流編程語言工具,用于進行系統前端界面交互功能的開發;支持MySQL、SQLlite等數據庫管理工具,用于實現系統后端的數據管理。

(6)支持多平臺的項目發布,基于unity3D開發的虛擬現實項目可以發布在各類主流平臺,包括PC端、移動Android端和iOS端以及Web瀏覽器端。

基于Unity3D的上述技術特點,采用Unity3D引擎進行虛擬仿真博物館漫游系統的設計開發在技術層面是可行的。

2 虛擬仿真博物館漫游系統總體設計

2.1 系統開發流程

虛擬仿真博物館漫游系統開發流程見圖1。

(1)三維場景的構建。該模塊用于完成虛擬仿真系統的三維模型素材制作,主要包括博物館場景建模、物品建模兩個部分。其中場景建模屬于建筑模型,需要先繪制二維平面圖,再進行三維建模,因此采用CAD制圖軟件按照1∶1比例進行精準的二維平面圖形繪制,再生成三維場景;物品建模使用3DMAX軟件完成。

(2)模型材質的制作。三維場景的視覺效果好壞很大一部分原因是取決于模型材質的精美程度[4],因此繪制材質時,物體本身細節的表現、明暗層次的自然過渡、不同材質的特質區分都需要十分注意。材質繪制常用的軟件有Photoshop、Illustrator等軟件工具。

(3)素材導入。Unity3D引擎支持三維模型、圖形、視頻、音頻等各類素材的規范化格式導入,其中三維模型統一導入格式為FBX;圖形圖像文件導入格式為PSD、TIFF、JPG、TGA、PNG、GIF、BMP、IFF、PICT 等,需要注意的是Unity3D導入圖片后統一默認為Texture(紋理)模式,不能直接應用于項目開發,需要手動轉換為Sprite(圖片精靈)模式;音頻導入格式包括AIFF、WAV、MP3、OGG 4種[5],其中AIFF、WAV為原生音頻,可在不損失音頻質量的前提下進行播放,但文件占用存儲空間較大;MP3為有損壓縮的音頻格式,雖然節省了大量的存儲空間,但每次播放都需要消耗CPU周期進行解碼,并且開發環境需要配置適用的解碼器;視頻導入格式包括MOV、MPG、MPEG、MP4、AVI等[6],基于Windows平臺的開發環境中還需要額外配置QuickTime插件才能正常播放視頻。

Unity3D工程開發:Unity3D引擎以工程為單位進行獨立項目的開發。創建工程后,基于工程完成項目開發的具體工作,包括:場景搭建、前端界面設計、交互功能實現、數據管理、項目發布5個步驟。

步驟1:場景搭建。導入場景模型素材后,首先設置攝像機位置、視域、遮罩范圍等參數,如場景需要假設多個攝像機,還需設置優先級;其次制作天空盒,Unity3D提供了天空盒插件,配合制作好的天空素材即可在虛擬場景中模擬出藍天白云、黑夜星空等天空效果;場景光源設置,Unity3D提供了多種光源效果,包括自然光和方向光兩大類,可以營造室內外不同環境下的光源效果[7];為場景中的墻體、物品等需要交互的模型對象設置剛體屬性和添加碰撞體組件,使其具有交互檢測的功能。

步驟2:前端界面設計,Unity3D內置有UI組件用于交互界面的設計,并提供了二維與三維兩種設計模式,二維模式常用于二維屏幕終端發布的項目界面設計,例如PC終端和手機移動終端;三維模式用于VR終端發布的項目界面設計,例如VR眼鏡、VR頭盔。

步驟3:交互功能實現。首先需要進行觸發條件的設置,Unity3D主要通過檢測攝像機與場景中其他物體的剛體碰撞,或是攝像機的射線與物體的碰撞來觸發交互事件,因此需要預先為交互物體設置剛體屬性和添加碰撞體組件;交互功能的編程實現,Unity3D內置有碰撞器檢測函數與觸發器檢測函數分別對上述兩個碰撞方式進行檢測,檢測條件滿足后即可觸發相應的交互事件。

步驟4:數據管理。Unity3D后端數據庫的連接與訪問需要通過導入MySql.Data.MySqlClient插件實現,該插件提供了在C#語言中引用SQL語句連接數據庫的方法以及對數據增、刪、改、查的操作接口。

步驟5:項目發布。Unity3D的項目發布以場景為單位,當項目中包含多個場景時,需要按照場景的順序逐一添加至項目中,再進行打包發布。除此,Unity3D還提供了項目發布的個性化參數設置,包括項目名稱、開發者署名、軟件圖標、項目啟動的展示界面、項目分辨率、項目內存優化、項目發布平臺選擇等。

2.2 系統交互功能設計

系統交互功能設計包括3個模塊:UI交互、藏品交互和場景漫游,見圖2。

UI交互模塊:用于實現用戶注冊、登錄及數據管理等功能。用戶可以通過系統提供的UI界面進行數據的輸入、查詢、修改、存儲、刪除等具體操作。

場景交互模塊:用于實現用戶與模型和場景的交互。模型交互主要針對藏品模型可以進行物體的放大、縮小、旋轉、移動以及藏品信息的文字展示、音頻和視頻播放等;場景交互用于實現多個場景之間的切換。

場景漫游模塊:用于實現用戶在虛擬場景中的漫游,用戶可以第一個人稱視角在虛擬場景中漫游,游覽各個展覽點。場景設置有邊界碰撞檢測,防止用戶移出到場景之外。

場景交互與場景漫游兩個功能模塊,系統提供了鍵盤、觸屏、鼠標3種操作模式,用戶可以根據應用環境的不同靈活選擇操作方式。

3 關鍵問題的解決策略

3.1 三維場景的構建與資源優化

精美的三維場景制作可以帶給用戶更加美觀和逼真的游覽體驗,但同時也會增加系統開銷,導致系統運行效率低下,甚至出現系統卡頓。因此在場景結構優化與最終的項目展示效果之間需要通過合理的優化策略以達到兩者之間的平衡。三維場景的資源優化可以從3個方面實現。

(1)三維場景的模型優化。在三維場景建模過程中,通過模型的合理布線與面數控制等方式,在保證模型細節呈現的同時盡可能簡化模型的結構。例如模型布線應以三角形邊面為主,盡量減少不規則邊面的形成,因為三角形邊面的計算效率是最高的;另外模型曲面的計算開銷是非常大的,因此盡量減少曲面的構成可以有效提高模型的計算效率,并以高質量的材質繪制彌補模型的細節損失。

(2)減少不必要的模型面構建。例如場景地面的處理,Unity3D內置的平面幾何體輔以材質即可呈現較好的地面效果,因此場景建模就可以省略地面的處理;再如像展柜、植物、裝飾物等不需要交互的靜態模型,被放置在場景中固定不動的情況下,部分面會與場景重疊的而無法展示,因此也可以省略處理。

(3)三維模型的資源調度優化。Unity3D加載場景時會對場景中的所有模型進行計算和渲染,切換新的場景時,原來場景中的模型信息仍然會被保留在內存當中,需要通過調用Destroy方法才能手動清理。如果不清理原來的模型信息,會導致項目運行時間越長,內存消耗越大,系統效率越低;如果清理原有的模型信息,則會導致每次切換場景都要花費較長的時間對模型重新進行計算和渲染,而場景與場景之間頻繁切換的話,也會造成很大的計算開銷。資源調度優化主要采取的策略是將場景的模型進行分類管理和選擇調度,將其劃分為共有模型資源與私有模型資源兩類,通過Unity3D的資源管理器對模型進行分類管理,屬于場景之間的共有模型資源的,在場景切換時不做銷毀處理;屬于單獨場景私有模型資源的,在切換場景時進行銷毀,以有效提高場景資源的調度效率。

3.2 場景交互的準確觸發

場景中可交互模型都需要添加剛體組件,攝像機與物體的碰撞或射線檢測都是基于與剛體的接觸,剛體組件提供了位置、縮放比例、旋轉角度等屬性,以便開發者自行調整剛體框架,使其能將模型完全包裹。場景較小而交互對象較多的情況下,各模型的剛體之間很容易出現前后遮擋或邊界重疊的問題,導致交互事件觸發錯誤,用戶想與A物體交互,觸發的卻是B物體。解決這一問題最簡單的方法是盡可能縮小剛體的邊界,例如只將模型的一部分包裹在剛體中,縮小交互檢測的范圍。但剛體是透明不可見的,用戶交互時只能看到交互對象的整體模型,看不到剛體范圍,就導致用戶無法準確觸發該物品的交互事件,需要不斷的移動視角進行嘗試。針對上述場景交互的準確觸發問題,基于范圍的碰撞檢測是較為有效的解決方法。

基于范圍的碰撞檢測策略,需要先對攝像機添加碰撞機組件,Unity3D提供了盒狀、球狀、膠囊狀3種碰撞機,由于本系統采用的是第一人稱視角,需要交互的范圍鎖定在視角的前、后方向,因此適用于膠囊狀范圍檢測,通過調整膠囊碰撞機Y軸的縮放比例,可以確定視角前后的碰撞檢測距離。當攝像機視角在場景中前后移動時,進入到碰撞機范圍的物體將以數組形式返回各自的屬性信息,攝像機通過范圍檢測即可鎖定進入交互范圍的物體,依據物體的屬性信息可以動態計算出距離攝像機最近的物體,觸發與其的交互。通過范圍檢測,可以將距離較遠的物體進行剔除,處于范圍內的物體通過動態算法始終鎖定距離攝像機視角前方(Z軸正方向)最近的物體進行交互。

3.3 場景漫游邊界的視角移出

場景漫游的邊界檢測是防止用戶視角移出的重要手段,但視角具有一定的視野范圍,當攝像機檢測到與邊界發生碰撞時,視野范圍已經超出了場景邊界。基于范圍的碰撞檢測策略同樣可以解決這一問題,但其范圍檢測主要是視角的前后方向,無法檢測到其他方向的邊界,因此還需要結合剛體碰撞檢測,為場景邊界添加剛體組件。為了進一步改善用戶的漫游體驗,當視角前方檢測到場景邊界的同時,可通過編程動態調整視角的視野范圍,當視角退出邊界檢測范圍后,還原其視野屬性,以確保視野始終處于場景之內。

4 結語

本文針對虛擬現實技術在虛擬博物館游覽中的應用及主要技術問題進行了研究和探討,并設計開發了一個基于Unity3D的虛擬仿真博物館漫游系統,該系統具有場景漫游、用戶交互、數據管理等主要功能,并在場景構建和資源調度、交互觸發準確性、場景漫游邊界視角控制3個方面進行了策略改進與優化。

猜你喜歡
用戶模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
3D打印中的模型分割與打包
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 国产亚洲精| av一区二区三区高清久久| 精品少妇人妻一区二区| 中国一级特黄大片在线观看| 91青青草视频在线观看的| 欧美成人综合在线| 日韩欧美国产另类| 狠狠色丁香婷婷综合| 国产91透明丝袜美腿在线| 中日韩欧亚无码视频| 亚洲va欧美va国产综合下载| 麻豆国产在线观看一区二区| 久青草国产高清在线视频| 亚洲人成电影在线播放| 人人看人人鲁狠狠高清| 91色国产在线| 91人人妻人人做人人爽男同| 欧美黑人欧美精品刺激| 一级成人欧美一区在线观看| 国产麻豆91网在线看| 国产精品嫩草影院av| 国内精品视频| 亚洲日韩在线满18点击进入| 久久黄色视频影| 日韩无码视频专区| 九九热精品视频在线| 亚洲视频欧美不卡| 特级做a爰片毛片免费69| 欧美激情第一欧美在线| 色婷婷在线影院| 麻豆a级片| 国产99欧美精品久久精品久久| 91福利免费视频| 成人毛片在线播放| 欧美成人亚洲综合精品欧美激情| 欧美日韩午夜| 国产精品欧美在线观看| 久久久久88色偷偷| 日本精品视频| 亚洲欧洲日韩国产综合在线二区| 高清乱码精品福利在线视频| 国产色偷丝袜婷婷无码麻豆制服| 亚洲精品无码抽插日韩| 国产精品无码作爱| 欧美一级99在线观看国产| 亚洲天堂777| 国产日韩AV高潮在线| 好吊色妇女免费视频免费| 国产粉嫩粉嫩的18在线播放91| 国产夜色视频| 亚洲毛片一级带毛片基地| 色综合热无码热国产| 欧美不卡二区| 色亚洲成人| 婷婷丁香在线观看| 中文字幕 91| 久久大香香蕉国产免费网站| 欧美a在线| 成人一级黄色毛片| 欧美三級片黃色三級片黃色1| 精品人妻无码中字系列| 暴力调教一区二区三区| 亚洲第一成网站| 精品無碼一區在線觀看 | 91丝袜乱伦| 国产福利微拍精品一区二区| 亚洲永久免费网站| 在线观看国产网址你懂的| 精品成人一区二区| 色综合综合网| 欧美国产视频| 丝袜高跟美脚国产1区| 中文字幕无码电影| 久久综合丝袜日本网| 国产成人精品亚洲日本对白优播| 伊人久久久大香线蕉综合直播| 久久亚洲国产最新网站| 国产黄在线观看| 亚洲精品在线影院| 亚洲欧美日韩另类| 欧美专区日韩专区| 国产福利在线免费|