三維模型輕量化
在數(shù)字孿生場景應(yīng)用中,模型大小一直是影響使用的關(guān)鍵因素,常見的輕量化手段有:
1,消除模型中不必要的因素,看不見的地方都可以刪掉。刪除不必要的幾何體從而減少模型的大小,同時還不影響模型整體效果。
2,三維模型進行切分,按功能區(qū)等進行分類,分步驟加載場景。
3,優(yōu)化網(wǎng)格模型減少模型大小和離散化。減少模型之間重疊的面。
4,通過減少模型頂點數(shù)進行輕量化。
5,優(yōu)化紋理貼圖從而減小文件大小。
6,精簡化動畫,只保留需要動的物體,對不動的物體進行合并處理。
谷歌推出的draco壓縮算法極大程度上減少了模型大小。Gltf/glb模型上可以使用draco算法對模型的頂點位置,法線,顏色,紋理坐標等內(nèi)容進行壓縮。從而提高在網(wǎng)絡(luò)上傳輸3D內(nèi)容的效率和速度。KHR_draco_mesh_compression是draco算法中常見的壓縮方式,在使用darco算法的時候要考慮畫質(zhì)問題,使用draco算法之后的模型可能是會出現(xiàn)畫質(zhì)的損失。同一個模型導(dǎo)出的glb和gltf大小不一,glb格式要比gltf小。
除了draco算法,在模型處理的時候就可以使用軟件自帶的相關(guān)修改器對模型進行初次輕量化,比如3dsmax中的專業(yè)優(yōu)化命令,先統(tǒng)計模型的頂點數(shù),通過減少模型的頂點數(shù),從而達到模型輕量化的目的。與之相近的還有一個優(yōu)化修改器,通過參數(shù)面板的“面閾值”來控制模型的面數(shù),設(shè)置的參數(shù)越高,模型的面數(shù)越少,反之,模型面數(shù)越多。使用命令進行減面的前提應(yīng)該是保證模型的精度不受影響。Blender中也有類似的修改器----精簡修改器(Decimate)提供了三種優(yōu)化的方法,塌陷、反細分、平面。塌陷最為常見,通過控制比率從而達到模型的減面優(yōu)化,在使用塌陷之前,先要對模型進行合并頂點處理,使模型的頂點都相連接。反細分用于使用細分命令過頭的模型,通過反細分減少細分的次數(shù)。平面則是通過面與面的角度來控制面數(shù)的多少,角度越高,面數(shù)相應(yīng)越少。兩個接觸的物體可以使用布爾運算對中間重合的地方進行刪除,從而減少模型大小。
除了三維軟件自帶的輕量化工具,meshlab等軟件也提供了輕量化服務(wù)。Meshlab主要的功能是通過三維點云信息生成三維模型,支持導(dǎo)出obj等三維格式。處理完點云模型,可以對該模型進行減面,優(yōu)化精簡。
對于像zbrush等工具生成的模型。模型減面計算量大,直接進行減面的話容易造成電腦卡死。這時候就可以使用拓撲工具,在模型原有基礎(chǔ)上重新處理模型。常見的插件如Quad Remesher,可以手動進行描繪也可以點擊直接生成拓撲模型。拓撲完的模型會生成一個,原有的模型uv無法繼承。需要重新拆uv處理。
除了拓撲這種直接調(diào)整模型之外,還可以使用sp。八猴等進行高模烘低模的方式達到輕量化的效果。高模可以用sp或者blender進行雕刻,最后會生成一張法線貼圖,將高模的細節(jié)烘焙到低模上。
關(guān)于模型輕量化處理的方法很多,根據(jù)不同需求進行不同的操作,合理使用輕量化工具,有利于數(shù)字孿生模型進一步提升。