亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2019-07-03 03:12:40吳剛
        現(xiàn)代商貿(mào)工業(yè) 2019年10期
        關(guān)鍵詞:三維建模體素

        吳剛

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

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

        中圖分類號:TB文獻(xiàn)標(biāo)識碼:Adoi:10.19311/j.cnki.1672-3198.2019.10.079

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

        1體素的概念和特點

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

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

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

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

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

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

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

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

        由于針對每個RenderBlock進(jìn)行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的單位,單位過大。渲染采用的是外包盒的方式渲染,由于整體的包圍盒比較大,進(jìn)行視錐剔除的效率偏低。本來可以不用提交渲染的Mesh,也不能被剔除。

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

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

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

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

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

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

        (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)使用緊湊的頂點坐標(biāo)格式,減少帶寬的依賴以及CacheMiss的概率。

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

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

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

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

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

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

        3結(jié)語

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

        參考文獻(xià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.

        猜你喜歡
        三維建模體素
        基于超體素聚合的流式細(xì)胞術(shù)自動門控方法
        基于多級細(xì)分的彩色模型表面體素化算法
        瘦體素決定肥瘦
        運(yùn)用邊界狀態(tài)約束的表面體素加密細(xì)分算法
        基于體素格尺度不變特征變換的快速點云配準(zhǔn)方法
        農(nóng)用風(fēng)力發(fā)電機(jī)葉片設(shè)計
        數(shù)控仿真系統(tǒng)三維建模技術(shù)研究
        垂直軸風(fēng)力發(fā)電機(jī)葉片建模與研究農(nóng)用
        基于GIS的網(wǎng)絡(luò)三維系統(tǒng)的構(gòu)建及應(yīng)用
        三維建模技術(shù)在家畜器官建模中的應(yīng)用
        科技視界(2016年16期)2016-06-29 18:34:41
        伊人久久大香线蕉av不卡| 在线观看播放免费视频| 美艳善良的丝袜高跟美腿| 放荡的少妇2欧美版| 3d动漫精品啪啪一区二区下载| 在线毛片一区二区不卡视频| 蜜桃av在线播放视频| 亚洲三区在线观看内射后入| 亚洲乱亚洲乱少妇无码99p| 国产av综合一区二区三区最新| 加勒比一区二区三区av | 国产成人精品优优av| 大陆极品少妇内射aaaaa| 成人片在线看无码不卡| 久久久噜噜噜久久熟女| 十八禁无遮挡99精品国产| 久久精品视频在线看99| 爆乳无码AV国内| 在线中文字幕一区二区| 亚洲精品无码久久久影院相关影片| 日韩毛片在线| 黄色国产一区在线观看| 久久免费看黄a级毛片| 成片免费观看视频大全| 狠狠干视频网站| 青青草在线免费观看视频| 国产乱子轮xxx农村| 亚洲国产精品无码久久电影| 在线观看免费人成视频国产| 国产三a级三级日产三级野外| 欧美艳星nikki激情办公室| AV人人操| 91成人国产九色在线观看| 鲁一鲁一鲁一鲁一曰综合网| 国产偷v国产偷v亚洲偷v| 亚洲第一页在线免费观看| 亚洲熟妇无码av在线播放| 中文字幕影片免费在线观看| 蜜桃视频在线免费观看完整版| 日本亚洲精品一区二区三| 国自产偷精品不卡在线|