於厚榮 彭茜



收稿日期:2023-11-15
基金項(xiàng)目:2021年貴州省普通高等學(xué)校青年科技人才成長(zhǎng)項(xiàng)目(黔教合KY字〔2022〕082號(hào),黔教合KY字〔2022〕081號(hào));凱里學(xué)院2023年校級(jí)專項(xiàng)課題(2023XJZX0204);2023年度凱里學(xué)院規(guī)劃課題(2023XJGHQN04);凱里學(xué)院課題(S1816)
DOI:10.19850/j.cnki.2096-4706.2024.04.004
摘? 要:隨著虛擬現(xiàn)實(shí)、計(jì)算機(jī)輔助設(shè)計(jì)和游戲開發(fā)的不斷發(fā)展,高質(zhì)量三維模型的應(yīng)用變得越來越迫切。大型工程機(jī)械的設(shè)計(jì)結(jié)構(gòu)復(fù)雜,零件組合模式多樣,這類模型整體上動(dòng)輒千萬(wàn)個(gè)面,甚至上億個(gè)面。由于面數(shù)太多,可能發(fā)生在程序中無法流暢運(yùn)行的情況,三維模型減面優(yōu)化是亟待解決的重要問題。文章以Cinema 4D為制作平臺(tái),簡(jiǎn)要介紹了其內(nèi)置的三維模型減面工具,探討了工程機(jī)械掘錨機(jī)在減面優(yōu)化方面所用到的方法與實(shí)踐。通過在Cinema 4D中內(nèi)置減面工具以及使用重拓?fù)洳寮uad Remesher等手段,驗(yàn)證了基于Cinema 4D的三維模型減面優(yōu)化方法的有效性與實(shí)用性。
關(guān)鍵詞:三維模型;減面優(yōu)化;Cinema 4D
中圖分類號(hào):TP39? 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):2096-4706(2024)04-0015-05
Optimization Method and Practice of 3D Model Surface Reduction Based on Cinema 4D
YU Hourong, PENG Qian
(School of Big Data Engineering, Kaili University, Kaili? 556011, China)
Abstract: With the continuous development of virtual reality, computer-aided design, and game development, the application of high-quality 3D models has become increasingly urgent. The design structure of large-scale construction machinery is complex, and the combination patterns of parts are diverse. This type of model can have tens of millions or even billions of surfaces as a whole. Due to the large number of surfaces, it may occur that the program cannot run smoothly, and the optimization of 3D model surface reduction is an important issue that needs to be solved urgently. This paper uses Cinema 4D as the production platform, briefly introduces its built-in 3D model surface reduction tool, and explores the methods used in the optimization of surface reduction for construction machinery anchor excavators and methods' practice. The effectiveness and practicality of optimization method of the 3D model surface reduction based on Cinema 4D have been verified through several means such as building in surface reduction tools in Cinema 4D and the use of the re topology plugin Quad Remesher.
Keywords: 3D model; surface reduction optimization; Cinema 4D
0? 引? 言
現(xiàn)如今,計(jì)算機(jī)仿真技術(shù)的應(yīng)用越來越廣泛。高精度三維模型可應(yīng)用于車輛交通事故仿真再現(xiàn)技術(shù)[1],可應(yīng)用于大型游戲中場(chǎng)景真實(shí)性提升技術(shù),可應(yīng)用于新產(chǎn)品開發(fā)中的產(chǎn)品多維展示技術(shù),還可應(yīng)用于非物質(zhì)文化遺產(chǎn)的數(shù)字化構(gòu)建[2]技術(shù)。在應(yīng)用過程中,不可避免地會(huì)遇到高精度三維模型多邊形面數(shù)過多之類的問題,這為計(jì)算機(jī)有限的帶寬和網(wǎng)絡(luò)傳輸實(shí)時(shí)渲染帶來巨大的困擾,不利于高精度三維模型的橫向推廣。實(shí)際上,不同場(chǎng)景需要不同精度的數(shù)據(jù),減面優(yōu)化能夠解決高質(zhì)量三維模型在游戲開發(fā)、虛擬現(xiàn)實(shí)、文化遺產(chǎn)保護(hù)等應(yīng)用運(yùn)行中存在的計(jì)算和渲染負(fù)擔(dān)等問題[3,4]。本文將深入探討當(dāng)前減面優(yōu)化領(lǐng)域的主要方法和技術(shù)。
三維模型多邊形減面是一種通過減少三維模型中多邊形面數(shù)的方式來降低三維模型面數(shù)的技術(shù),在不影響模型外觀的前提下,盡可能多地減少三維模型多邊形面的數(shù)量[5]。國(guó)內(nèi)外高校、企業(yè)和研究學(xué)者已經(jīng)就這個(gè)問題做了大量的研究。范帥帥[6]采用對(duì)glTF格式模型進(jìn)行數(shù)據(jù)壓縮的方式,實(shí)現(xiàn)模型數(shù)據(jù)的輕量化處理,最終將模型數(shù)據(jù)輕量化為原來的14%。常宇佳[7]提取三維模型的幾何特征,為不同特征賦予不同的權(quán)重系數(shù),然后選取增量式邊折疊簡(jiǎn)化算法對(duì)三維模型的幾何結(jié)構(gòu)進(jìn)行簡(jiǎn)化,最終將三維模型面數(shù)縮減為簡(jiǎn)化前的30%。陳治宇等[8]提出三維模型輕量化方法,主要包括精簡(jiǎn)模型個(gè)數(shù)、精簡(jiǎn)模型面數(shù)、使用貼圖代替三維建模等方法,最終將三維模型面數(shù)縮減為簡(jiǎn)化前的22%。夏小科等[9]提出一種三維模型的壓平冗余簡(jiǎn)化方法,通過對(duì)選定區(qū)域內(nèi)三維模型格網(wǎng)進(jìn)行投影變換,將三維模型映射到二維平面實(shí)現(xiàn)模型的消減,最終將三維模型面數(shù)縮減為簡(jiǎn)化前的9.6%。
三維模型減面優(yōu)化是一個(gè)綜合而復(fù)雜的學(xué)科,不同應(yīng)用對(duì)三維模型減面的要求不盡相同。本文以工程機(jī)械掘錨機(jī)減面優(yōu)化的制作方法為例,應(yīng)用Cinema 4D內(nèi)置減面工具,采用分類減面的方法,最終將三維模型面數(shù)縮減為簡(jiǎn)化前的7.8%。
1? Cinema 4D減面工具
Cinema 4D是一款由德國(guó)Maxon Computer公司開發(fā)的三維設(shè)計(jì)軟件,其以極高的運(yùn)算速度和強(qiáng)大的第三方插件著稱[10]。該軟件內(nèi)置減面工具,可通過調(diào)整減面強(qiáng)度百分比的方式達(dá)到多邊形減面的效果。以如圖1所示的立方體減面為例,在Cinema 4D中創(chuàng)建一個(gè)立方體作為研究對(duì)象,將所創(chuàng)建的立方體放置在減面生成器子集上,使立方體即刻從四邊面布線變?yōu)槿吤娌季€。觀察減面強(qiáng)度從0%到100%的變化趨勢(shì),三邊面逐漸收縮靠攏,六面體陸續(xù)變成五面體、四面體,然后變成一個(gè)平面、三角面,最后消失不見。可以看出,在使用內(nèi)置減面工具的情況下,六面體已是減面的最終完成形態(tài)。當(dāng)模型變?yōu)榱骟w時(shí),就不能再繼續(xù)進(jìn)行減面處理了,否則形體的整體造型會(huì)遭到破壞。所以在對(duì)多邊形進(jìn)行減面時(shí),要保證一個(gè)形體不少于六個(gè)面。
圖1? 立方體減面優(yōu)化
當(dāng)然,三維模型是復(fù)雜多樣的,每一個(gè)模型結(jié)構(gòu)不會(huì)像六面體一樣簡(jiǎn)單直觀。以球體作為減面對(duì)象進(jìn)行觀察,如圖2所示。隨著減面值的增加,球體的布線由四邊面逐漸變?yōu)槿吤妫⑶胰吤娴臄?shù)量逐漸減少、面積逐漸增大。在減面強(qiáng)度增大到82%時(shí),三邊面不能維持住球體的造型。因此,具體的減面優(yōu)化操作還得根據(jù)模型的實(shí)際情況來分析,賦予合適的減面強(qiáng)度并配合渲染效果進(jìn)行觀察,再確定如何達(dá)到最優(yōu)的效果。
圖2? 球體減面優(yōu)化效果
2? 案例實(shí)踐
以大型工程機(jī)械掘錨機(jī)為例,把掘錨機(jī)模型導(dǎo)入到Cinema 4D中,通過模型多邊形面查看器觀測(cè)到,零部件總共有38 888個(gè),多邊形面總共有1 632萬(wàn)面,如圖3所示。此類大體量模型添加材質(zhì)后導(dǎo)入U(xiǎn)nity引擎中進(jìn)行多維度展示是無法實(shí)現(xiàn)的,原因是模型面太多、占有內(nèi)存過大,如若強(qiáng)行塞進(jìn)程序中,會(huì)造成程序的假死,無法流暢運(yùn)行。為此,若要正常使用此類模型,只能進(jìn)行減面處理。
圖3? 掘錨機(jī)多邊形數(shù)量顯示
2.1? 減面工具應(yīng)用
在Unity中,導(dǎo)入三維模型的所有面數(shù)在100萬(wàn)面左右方可流暢運(yùn)行和使用。所以將掘錨機(jī)模型從1 632萬(wàn)面減少到大約100萬(wàn)面是亟待解決的問題。在38 888個(gè)零件中,只能減面而不能刪除零件,若刪除了部分零部件,盡管其比重只占整體模型的很小一部分,但渲染效果就會(huì)因此缺少細(xì)節(jié),缺乏真實(shí)性。從模型的整體布線來看,主要的外觀部件都是比較簡(jiǎn)化的少面數(shù)模型,面數(shù)較大的復(fù)雜零件多處于模型內(nèi)部。
因此,在嘗試減面時(shí),首先使用Cinema 4D的減面工具進(jìn)行整體化減面測(cè)試,看看直接使用減面工具能達(dá)到什么樣的程度。減面程度過大,則會(huì)直接破壞外觀造型,所以在減面程度上需要進(jìn)行一個(gè)整體的把握。減面工具應(yīng)用在整體模型上時(shí),將減面強(qiáng)度調(diào)整為90%,如圖4所示。減面后,模型從1 632萬(wàn)面變?yōu)?40萬(wàn)面,從外觀上看,整體上無太大問題,但一些平直的地方產(chǎn)生了形變,達(dá)不到應(yīng)有的外觀要求。但從最終減面效果的角度來看,經(jīng)過90%減面強(qiáng)度的減面后,仍然還有240萬(wàn)面,沒有達(dá)到程序100萬(wàn)面左右的使用要求,所以還需進(jìn)一步加大減面強(qiáng)度。
圖4? 掘錨機(jī)使用減面工具減面強(qiáng)度90%的效果
為了進(jìn)一步減面,在以上90%減面強(qiáng)度的基礎(chǔ)上進(jìn)行二次減面生成器賦予,最后的結(jié)果是整體上達(dá)到了67萬(wàn)面的基數(shù),這個(gè)基數(shù)足以滿足程序的流暢使用需求。但是經(jīng)過觀察發(fā)現(xiàn),很多零件出現(xiàn)破面,甚至已經(jīng)丟失,不能維持原有形狀,如圖5所示。直接用減面工具進(jìn)行減面的操作以失敗告終。
圖5? 掘錨機(jī)減面到67萬(wàn)面的效果
2.2? 分部件減面
經(jīng)過多維度的模型觀察和分析,掘錨機(jī)大部分的外觀覆蓋件在設(shè)計(jì)上分段線及面數(shù)均較少,如圖6所示。所以減面策略調(diào)整為保留外觀平直類的覆蓋件,不做減面處理。因?yàn)檫@部分面已經(jīng)比較簡(jiǎn)化且占據(jù)外觀面的絕大部分,而且平均每個(gè)零件僅有300多個(gè)多邊形面,相對(duì)于整體模型大約100萬(wàn)面來說,可以忽略不計(jì)。
圖6? 掘錨機(jī)的平直外觀件展示
對(duì)于一些結(jié)構(gòu)稍微復(fù)雜且?guī)в械菇呛涂招牡耐庥^件來說,它們的多邊形面會(huì)較多一些。如圖7所示,該外觀件的多邊形面達(dá)到8 446個(gè),這時(shí)我們使用減面工具進(jìn)行適當(dāng)?shù)臏p面處理。經(jīng)過測(cè)試和調(diào)整,減面強(qiáng)度調(diào)整為60%,對(duì)外觀造型的影響甚微,但多邊形面數(shù)從8 446減少到3 604,效果顯著。
圖7? 掘錨機(jī)外觀件展示
2.3? 履帶部件減面
履帶部件是整個(gè)掘錨機(jī)中較為復(fù)雜的部分,整體上達(dá)到243萬(wàn)個(gè)面,其中一個(gè)單元件就已經(jīng)多達(dá)8 890個(gè)面,如圖8所示。單元件因其結(jié)構(gòu)復(fù)雜且數(shù)量多,占有的視覺比例較小,所以減面的強(qiáng)度可以適當(dāng)加大一些。經(jīng)過將減面工具的減面強(qiáng)度調(diào)整至80%,該零件的面從8 890個(gè)減少為1 705個(gè),減面效果符合要求。最終的思路確定為履帶組成上的平直類外觀件不減面,對(duì)形狀復(fù)雜的結(jié)構(gòu)件進(jìn)行減面處理,兩個(gè)履帶模型最終從243萬(wàn)個(gè)面減少為19萬(wàn)個(gè)面,且渲染效果與減面前基本保持一致。
圖8? 掘錨機(jī)履帶減面
2.4? 駕駛艙部件減面
同理,掘錨機(jī)上還有很多復(fù)雜的部件,例如整個(gè)駕駛艙達(dá)到了驚人的329萬(wàn)個(gè)面。但是單從駕駛艙的平直外觀件來看,占有面數(shù)的比例較少,面數(shù)占比較高的都是內(nèi)部結(jié)構(gòu)復(fù)雜的零件,如缸體零件,視覺占比小且位置隱蔽,但是整體面數(shù)較多。經(jīng)檢測(cè),一個(gè)小小的缸體件的面數(shù)竟高達(dá)8.4萬(wàn)個(gè),經(jīng)過減面工具的處理減少到9 700個(gè)。最后,經(jīng)過全部的減面調(diào)整,駕駛艙面減少至23萬(wàn)個(gè),如圖9所示。
2.5? 連接件減面
通過分部件的減面處理,基本上能達(dá)到減面需求,但整個(gè)模型中數(shù)量最多且分布最廣的要屬連接件,這也是整個(gè)模型減面的重頭戲。螺絲釘?shù)冗B接件雖然很小,但是卻不能直接刪除,因?yàn)閯h除此類連接件后將會(huì)嚴(yán)重影響產(chǎn)品的細(xì)節(jié)渲染。從圖10中可以看到,每個(gè)螺絲釘?shù)亩噙呅蚊娓哌_(dá)450個(gè),比一個(gè)平直的外觀件高出約100個(gè)多邊形面,且因其數(shù)量龐大,螺絲釘?shù)冗B接件的減面優(yōu)化就顯得尤為重要了。
圖9? 駕駛艙的減面設(shè)置
圖10? 螺絲釘?shù)臏p面設(shè)置
使用重拓?fù)洳寮uad Remesher進(jìn)行螺絲釘?shù)臏p面優(yōu)化,Quad Remesherw為四邊形自動(dòng)拓?fù)洳寮K墓ぷ髟砼c減面工具不同,Quad Remesherw是對(duì)模型表面進(jìn)行四邊形生成,最大程度還原模型的表面形狀,而減面工具是將模型相鄰面進(jìn)行合并以達(dá)到簡(jiǎn)化效果。所以對(duì)于形狀簡(jiǎn)單的物體,使用Quad Remesherw插件的減面效果優(yōu)于減面工具。Quad Remesherw的減面操作十分簡(jiǎn)單,只需選中需要拓?fù)涞奈矬w,然后點(diǎn)擊重拓?fù)涿罴纯伞_x擇螺絲文件后,點(diǎn)擊并彈出Quad Remesherw面板,設(shè)置拓?fù)浜蟮亩噙呅螖?shù)量,經(jīng)過不同數(shù)量的測(cè)試,把多邊形數(shù)量調(diào)整為120較為適宜,不僅保證了物體的外觀,還最大限度減少了多邊形面數(shù)。最終生成的多邊形面減少至136個(gè),比原先450個(gè)多邊形面少了314個(gè),由于螺絲龐大的數(shù)量群,整體上就能減少上百萬(wàn)個(gè)面了。
經(jīng)過分類的減面優(yōu)化操作,最終的減面數(shù)為128萬(wàn)面,約為簡(jiǎn)化前1 632萬(wàn)面的7.8%,且外觀基本保持一致,滿足程序使用需求,如圖11所示。
3? 結(jié)? 論
三維模型減面優(yōu)化是一個(gè)綜合性的實(shí)踐問題,尤其是對(duì)大型機(jī)械來說,整體模型由不同的結(jié)構(gòu)組合而成,而不同結(jié)構(gòu)的減面權(quán)重都不太一樣,所以需根據(jù)模型采取不同的減面方法,這樣不僅能保持模型的外觀質(zhì)量,還能在此基礎(chǔ)上將模型的大小降到最低。通過對(duì)掘錨機(jī)減面實(shí)例的分析,總結(jié)出以下方法和技巧:
1)減面前先對(duì)模型進(jìn)行分析,觀察模型的整體布線和各零件多邊形面的數(shù)量,判斷出重點(diǎn)減面部位、輕量化減面部位和不減面部位,對(duì)不同的減面部位采取不同的減面策略。
2)對(duì)于平直面的外觀覆蓋件模型,本身多邊形面數(shù)較少的可以不做減面處理,或者少做減面處理。具體得看模型占有外觀的比例,若占比較大,可直接保留使用,若占比較小,則可使用減面工具進(jìn)行50%~70%強(qiáng)度的減面處理。
3)對(duì)于形狀復(fù)雜的模型,需要重點(diǎn)做減面處理。首先得觀察物件處于外觀的哪個(gè)位置,展示面積較大的可以少做減面處理,進(jìn)行減面處理時(shí)減面強(qiáng)度不能超過60%,這樣可以保證模型的精細(xì)度;若展示面積較小,又是在物體內(nèi)部,可直接減面到90%以上;如若完全封閉在物體內(nèi)部,直接刪除模型即可。
4)對(duì)于一些分布廣、起連接作用的物件,需要適中地進(jìn)行減面處理,如螺絲連接類模型。這類物件一般數(shù)量龐大,但也顯示在外觀上。減面優(yōu)化方面可使用重拓?fù)涔ぞ逹uad Remesher進(jìn)行面的重新生成,達(dá)到減面的同時(shí)接近外觀造型的效果。
減面的工作并不復(fù)雜,但需要耐心觀察、細(xì)心分析。通過Cinema 4D三維模型減面優(yōu)化工具的應(yīng)用,切實(shí)達(dá)到了減面優(yōu)化的效果,在不影響外觀的情況下成功地將復(fù)雜三維模型的面數(shù)減少到原來的7.8%,符合程序的使用需求。
圖11? 掘錨機(jī)最終減面優(yōu)化效果
參考文獻(xiàn):
[1] 蔡爽,趙清江,羅智寧,等.基于3DS MAX平臺(tái)事故再現(xiàn)車輛模型減面優(yōu)化算法設(shè)計(jì) [J].重慶理工大學(xué)學(xué)報(bào):自然科學(xué),2020,34(11):57-62.
[2] 陳靜,俞侃.錢塘江杭州段海塘文化遺產(chǎn)保護(hù)與傳承研究 [J].浙江水利水電學(xué)院學(xué)報(bào),2023,35(5):29-33.
[3] FU J C,YAN S. Geospatial data organization and realization of three-dimensional terrain visualization in Yuntai Mountain landscape [J].Applied Mechanics and Materials,2012,170-173:2794-2798.
[4] GONZ?LEZ C,CASTELL? P,CHOVER M,et al. Simplification method for textured polygonal meshes based on structural appearance [J].Signal, Image and Video Processing,2013,7(3):479-492.
[5] 岳明宇,高希峰,畢重科.三維建筑模型的低模網(wǎng)格生成 [J].圖學(xué)學(xué)報(bào),2023,44(4):764-774.
[6] 范帥帥.復(fù)雜三維模型網(wǎng)絡(luò)化瀏覽交互系統(tǒng)的研究與實(shí)現(xiàn) [D].西安:西安電子科技大學(xué),2023.
[7] 常宇佳.基于對(duì)象重要性的三維模型化簡(jiǎn)與可視化方法研究 [D]. 連云港:江蘇海洋大學(xué),2023.
[8] 陳治宇,干靜,安鵬鋮,等.輕量化模型在工業(yè)設(shè)計(jì)真實(shí)感表達(dá)中的應(yīng)用 [J].CAD/CAM與制造業(yè)信息化,2013(11):37-40.
[9] 夏小科,柳翠明,陳可蘊(yùn).一種三維模型的壓平冗余簡(jiǎn)化方法 [J].時(shí)空信息學(xué)報(bào),2023,30(2):289-294.
[10] 孫春燕.Cinema 4D與影視后期合成軟件的交互應(yīng)用研究 [J].西部廣播電視,2021,42(15):234-236.
作者簡(jiǎn)介:於厚榮(1990—),男,侗族,貴州玉屏人,講師,碩士,研究方向:動(dòng)畫、產(chǎn)品設(shè)計(jì);通訊作者:彭茜(1992—),女,漢族,湖南益陽(yáng)人,講師,碩士,研究方向:包裝設(shè)計(jì)、動(dòng)畫。