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

基于體素地形的優(yōu)化研究

2019-07-03 03:12:40吳剛
現(xiàn)代商貿(mào)工業(yè) 2019年10期

吳剛

摘要:在充分認識體素的基本概念和基于體素地形表達的特點上,結(jié)合UE4分析了體素地形對于三維地形的構(gòu)建帶來的影響及體素地形構(gòu)建過程中的優(yōu)化分析。通過對體素建模過程中出現(xiàn)的一些問題,提出相應(yīng)的解決方案。

關(guān)鍵詞:體素;虛擬地形;Unreal Engine;三維建模

中圖分類號:TB文獻標識碼:Adoi:10.19311/j.cnki.1672-3198.2019.10.079

三維地形可視化是對現(xiàn)實世界中的自然地理環(huán)境的表達和模擬,以期望用計算機的方式來表達和模擬現(xiàn)實世界,即現(xiàn)在常說的虛擬現(xiàn)實。構(gòu)建和表達地形的方式多種多樣,可以通過使用一些工具來完成建模,如Unity Engine、UE4、Cry Engine等。三維地形的實現(xiàn)方式各有不同,從其模型構(gòu)建的本質(zhì)上可分為兩類:基于多邊形的面模型和基于體素的體模型。大多數(shù)的三維地形采用的是基于多邊形的面模型來建模,如三角形網(wǎng)格模型。對于一些簡單的地形環(huán)境,使用面模型來建模往往可以達到比較好的可視化效果,并且基于面模型的三維可視化技術(shù)比較成熟,有許多的優(yōu)化手段和解決方案,如LOD層次細節(jié)模型。面模型可視化方法在表現(xiàn)洞穴,拱橋和垂壁等復(fù)雜地形的時候,有很大的缺陷,如效率低、表現(xiàn)不好,并且難以實現(xiàn)地形體數(shù)據(jù)的表達和實時編輯,尤其在地理空間變化的模擬上(如侵蝕現(xiàn)象),表現(xiàn)效果不佳。

基于體素的體模型在地形可視化方向的應(yīng)用晚于面模型,基于其在復(fù)雜地理空間中的較好表現(xiàn)效果,和其在游戲場景中有著重要的作用,現(xiàn)在越來越多的引起人們的關(guān)注。三維游戲世界場景廣泛使用三角形網(wǎng)格模型(3D triangle mesh)構(gòu)建,包括地形、建筑、植被以及其他靜態(tài)物件。一些以自然環(huán)境為主的游戲,如大部分RPG、MOBA類型游戲,會使用到高度場(height field)去表示地形;一些室內(nèi)游戲,如FPS、TPS、ACT等,會使用構(gòu)造實體幾何(construct solid geometry,CSG)技術(shù)去構(gòu)建基本的室內(nèi)環(huán)境(也可以稱為BSP/binary space partitioning 筆刷)。以上這些制作方式各有優(yōu)缺點,面模型是合乎當(dāng)代硬件的游戲世界表示方式,也是較自由的建模方式,并有成熟的數(shù)字創(chuàng)作工具如3ds Max和Maya。面模型建模的缺點有建模成本高、只有表面表示方式,無法判斷是否在其內(nèi)部,并且不容易修改,不容易做連續(xù)或離散級數(shù)的細致程度(level of detail,LOD)等。這時隨著開放世界類型游戲的出現(xiàn),體素(voxel)開始越來越被人們所熟知。

1體素的概念和特點

Wikipedia給出Voxel的定義為“Voxel(體素,更準確地說是測定體積的像素)是一個體積像素,用來表示三維空間中規(guī)則格網(wǎng)的值。類似于二維空間中用來表示二維圖像數(shù)據(jù)的像素。”每個體素使用一個比特來進行存儲,表示該空間是實心還是空心,這種二元體素(Binary Voxel)雖然是最簡單的體素形式,但它還可以存儲其他屬性。例如在《我的世界》中的體素會存儲空間中的材質(zhì)(泥土、石頭、水等)。體素地形庫(DatabaseBlock)是體素管理的基本單位,所有的體素是在體素地形庫中生成。構(gòu)建地形需要的體素數(shù)據(jù)為地形的繪制、地形的AO、地形的碰撞、地表的植被、地形的修改。

2地形系統(tǒng)的構(gòu)建及改進

2.1根據(jù)需求構(gòu)建地形系統(tǒng)

首先定義可視范圍,對可視范圍內(nèi)的地形進行渲染,以體素地形庫(DatabaseBlock)為單位,管理地形。然后每幀查詢可視范圍內(nèi)的DatabaseBlock,如果發(fā)現(xiàn)DatabaseBlock對應(yīng)的Mesh不存在(即沒有被渲染),則從體素地形庫中獲取DatabaseBlock中對應(yīng)的體素數(shù)據(jù),根據(jù)體素數(shù)據(jù)構(gòu)建渲染模型(RenderMesh)進行渲染,再構(gòu)建碰撞模型(CollisionMesh),用于進行碰撞檢測,同時根據(jù)體素可以生成植被等渲染信息。當(dāng)?shù)匦螏熘械捏w素數(shù)據(jù)發(fā)生修改的時候,需要體素地形庫通知地形系統(tǒng),重新獲取體素數(shù)據(jù),進行模型的構(gòu)建和渲染。

2.2當(dāng)前體素地形存在的問題

系統(tǒng)運行時會出現(xiàn)運行時卡頓,地形范圍不能太大,地形的AO不能影響地形上其他的模型(Mesh)等。

2.3出現(xiàn)的問題類型

(1)DrawCall數(shù)量太多。

由于針對每個RenderBlock進行Mesh的提取,每個類型的體素都對應(yīng)一個或者多個不同類型的材質(zhì)(最多為6個),復(fù)雜的體素類型導(dǎo)致了超多的材質(zhì),從而使得DrawCall數(shù)量暴增。

可簡化為公式:

每個體素需要六種材質(zhì) * 體素的類型數(shù)(200)= 總共需求的材質(zhì)種類(1200)

(2)三角形數(shù)量過多。

由于體素地形的特殊性,提取mesh是按照簡單立方體表面提取算法來提取的,將導(dǎo)致有大量冗余的三角形產(chǎn)生,可以刪除冗余的三角形,簡化渲染模型。如對于大面積的水域,使用兩個三角形就可以繪制。

(3)視錐剔除效率低下。

選取DatabaseBlock為大小作為渲染Mesh的單位,單位過大。渲染采用的是外包盒的方式渲染,由于整體的包圍盒比較大,進行視錐剔除的效率偏低。本來可以不用提交渲染的Mesh,也不能被剔除。

(4)沒有進行遮擋剔除。

對地形系統(tǒng)中,一個很重要的優(yōu)化手段就是遮擋剔除,即被遮擋的Mesh,不應(yīng)該被提交渲染。

(5)地形上物體不會受到AO的影響。

由于計算完地形的AO值后,直接通過地形的頂點信息傳入Shader中,計算光照信息的時候只是對地形產(chǎn)生影響,不會對地形上其它的物體產(chǎn)生影響。比如NPC從洞外進入山洞里不會變暗。

(6)植被的管理以及渲染效率低下。

由于存在大量的樹木,直接對樹木進行渲染,將會導(dǎo)致渲染效率低下,應(yīng)該使用實例化的方式進行渲染,并且要考慮遮擋剔除等。

(7)其它一些問題。

碰撞檢測效率不高,物理碰撞的Mesh沒有優(yōu)化,導(dǎo)致物理引擎中碰撞效率不高。頂點數(shù)據(jù)格式過大,導(dǎo)致帶寬需求變大,同時CacheMiss的概率也響應(yīng)增大。對Block線性遍歷,遍歷Block的復(fù)雜度為O(n),可以使用加速結(jié)構(gòu)提高Block的遍歷效率。

2.4針對上述問題提出的優(yōu)化方案如下

(1)減少材質(zhì)的數(shù)量,使用TextureArray,保證盡可能少的Material。

(2)使用冗余三角形的刪除算法,減少三角形的個數(shù)。

(3)使用緊湊的頂點坐標格式,減少帶寬的依賴以及CacheMiss的概率。

(4)視錐剔除時,使得測試目標變小,提高視錐剔除的效率。

(5)使用遮擋剔除,減少提交渲染物體的數(shù)量。

(6)使用3DTexture存儲AO值,渲染其它物體的時候,AO值參與計算。

(7)使用實例化的方式渲染樹木等靜態(tài)物體,使用二叉樹進行管理,并使用遮擋測試進行優(yōu)化。

(8)使用Octree管理地形,提高渲染節(jié)點的遍歷效率,并使用合并Mesh的方法進行優(yōu)化。

(9)使用地形的LOD提高渲染的效率。

3結(jié)語

通過上述提出的優(yōu)化方案,可以有效的解決系統(tǒng)運行卡頓,地形范圍過小以及AO影響等問題。三維模型的構(gòu)建使用傳統(tǒng)的基于多邊形的方式,在地形復(fù)雜性和靈活性的表達上,具有很大的限制;基于體素的地形制作方式,帶來了各種創(chuàng)新的方式,提高三維世界場景品質(zhì)的同時,節(jié)省了成本。現(xiàn)在虛擬現(xiàn)實技術(shù)的成功,很大一部分來源于三維虛擬世界的高度逼真,讓人沉浸其中。而基于體素建模的應(yīng)用可以很好的滿足高品質(zhì)場景的要求。隨著體素建模技術(shù)的發(fā)展與成熟,留給我們的既是機遇也是挑戰(zhàn)。

參考文獻

[1]蔣秉川.基于體素模型的戰(zhàn)場環(huán)境建模與可視化研究[D].鄭州:解放軍信息工程大學(xué),2013.

[2]蔣秉川,游雄,夏青.一種基于體素的三維地形可視化方法研究[J].測繪通報,2013,(03):46-49.

[3]蔣秉川,萬剛,范承嘯,夏青.戰(zhàn)場環(huán)境體素模型適應(yīng)性分析及體要素分類方法研究[J].系統(tǒng)仿真學(xué)報,2017,29(02):241-247.

[4]Wikipedia[EB/OL].http://en.wikipedia.org/wiki/Voxel,2012.

主站蜘蛛池模板: 色综合久久综合网| 亚洲天堂视频在线播放| 97一区二区在线播放| 幺女国产一级毛片| 久久精品电影| 欧美精品伊人久久| 欧美一区精品| 国产人免费人成免费视频| 久久精品人人做人人综合试看| 国产超薄肉色丝袜网站| 欧美国产日本高清不卡| 国产精品女同一区三区五区| 欧美一级片在线| 欧美专区在线观看| 中文字幕人妻av一区二区| a毛片基地免费大全| 免费 国产 无码久久久| 在线毛片网站| 日韩一二三区视频精品| 国产一区二区三区在线观看视频| 久久香蕉国产线看观看精品蕉| 亚洲欧洲日韩综合色天使| 99伊人精品| 99re视频在线| 国产一区二区三区在线无码| 亚洲AV免费一区二区三区| 亚洲二三区| 中日无码在线观看| 日韩欧美国产精品| 狠狠v日韩v欧美v| 久久成人18免费| 日韩性网站| 国产91小视频| 日本不卡在线| 青青青国产视频手机| 自拍偷拍欧美日韩| 日本黄色a视频| 热九九精品| 日韩毛片在线播放| 99国产精品国产高清一区二区| 亚洲欧美日韩视频一区| 久久99国产综合精品1| 国产欧美在线观看视频| 91精品视频在线播放| 在线人成精品免费视频| 一本色道久久88亚洲综合| 亚洲二区视频| 欧美亚洲一区二区三区在线| 蜜桃臀无码内射一区二区三区| 波多野结衣一二三| 无码免费的亚洲视频| 色精品视频| 久久午夜夜伦鲁鲁片不卡| 亚洲无码精彩视频在线观看| 亚洲综合亚洲国产尤物| 精品無碼一區在線觀看 | 免费国产不卡午夜福在线观看| 欧美中文字幕一区| 久久国产精品麻豆系列| 中国毛片网| 免费无遮挡AV| 亚洲综合激情另类专区| 亚洲国产欧美目韩成人综合| 伊人AV天堂| 久久久国产精品免费视频| 一区二区日韩国产精久久| 国产欧美日韩一区二区视频在线| 中文字幕久久亚洲一区| 99精品免费欧美成人小视频| 自慰高潮喷白浆在线观看| 亚洲一区二区三区麻豆| 久久香蕉国产线| 日韩a级片视频| 欧美日韩一区二区在线播放| 亚洲午夜福利精品无码不卡| lhav亚洲精品| 四虎影视国产精品| 久久99这里精品8国产| 狼友av永久网站免费观看| 国产精品成人啪精品视频| 午夜激情福利视频| 日韩福利在线视频|