於厚榮 彭茜
收稿日期:2023-11-15
基金項目:2021年貴州省普通高等學校青年科技人才成長項目(黔教合KY字〔2022〕082號,黔教合KY字〔2022〕081號);凱里學院2023年校級專項課題(2023XJZX0204);2023年度凱里學院規(guī)劃課題(2023XJGHQN04);凱里學院課題(S1816)
DOI:10.19850/j.cnki.2096-4706.2024.04.004
摘? 要:隨著虛擬現(xiàn)實、計算機輔助設計和游戲開發(fā)的不斷發(fā)展,高質量三維模型的應用變得越來越迫切。大型工程機械的設計結構復雜,零件組合模式多樣,這類模型整體上動輒千萬個面,甚至上億個面。由于面數(shù)太多,可能發(fā)生在程序中無法流暢運行的情況,三維模型減面優(yōu)化是亟待解決的重要問題。文章以Cinema 4D為制作平臺,簡要介紹了其內置的三維模型減面工具,探討了工程機械掘錨機在減面優(yōu)化方面所用到的方法與實踐。通過在Cinema 4D中內置減面工具以及使用重拓撲插件Quad Remesher等手段,驗證了基于Cinema 4D的三維模型減面優(yōu)化方法的有效性與實用性。
關鍵詞:三維模型;減面優(yōu)化;Cinema 4D
中圖分類號:TP39? 文獻標識碼:A? 文章編號: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)如今,計算機仿真技術的應用越來越廣泛。高精度三維模型可應用于車輛交通事故仿真再現(xiàn)技術[1],可應用于大型游戲中場景真實性提升技術,可應用于新產(chǎn)品開發(fā)中的產(chǎn)品多維展示技術,還可應用于非物質文化遺產(chǎn)的數(shù)字化構建[2]技術。在應用過程中,不可避免地會遇到高精度三維模型多邊形面數(shù)過多之類的問題,這為計算機有限的帶寬和網(wǎng)絡傳輸實時渲染帶來巨大的困擾,不利于高精度三維模型的橫向推廣。實際上,不同場景需要不同精度的數(shù)據(jù),減面優(yōu)化能夠解決高質量三維模型在游戲開發(fā)、虛擬現(xiàn)實、文化遺產(chǎn)保護等應用運行中存在的計算和渲染負擔等問題[3,4]。本文將深入探討當前減面優(yōu)化領域的主要方法和技術。
三維模型多邊形減面是一種通過減少三維模型中多邊形面數(shù)的方式來降低三維模型面數(shù)的技術,在不影響模型外觀的前提下,盡可能多地減少三維模型多邊形面的數(shù)量[5]。國內外高校、企業(yè)和研究學者已經(jīng)就這個問題做了大量的研究。范帥帥[6]采用對glTF格式模型進行數(shù)據(jù)壓縮的方式,實現(xiàn)模型數(shù)據(jù)的輕量化處理,最終將模型數(shù)據(jù)輕量化為原來的14%。常宇佳[7]提取三維模型的幾何特征,為不同特征賦予不同的權重系數(shù),然后選取增量式邊折疊簡化算法對三維模型的幾何結構進行簡化,最終將三維模型面數(shù)縮減為簡化前的30%。陳治宇等[8]提出三維模型輕量化方法,主要包括精簡模型個數(shù)、精簡模型面數(shù)、使用貼圖代替三維建模等方法,最終將三維模型面數(shù)縮減為簡化前的22%。夏小科等[9]提出一種三維模型的壓平冗余簡化方法,通過對選定區(qū)域內三維模型格網(wǎng)進行投影變換,將三維模型映射到二維平面實現(xiàn)模型的消減,最終將三維模型面數(shù)縮減為簡化前的9.6%。
三維模型減面優(yōu)化是一個綜合而復雜的學科,不同應用對三維模型減面的要求不盡相同。本文以工程機械掘錨機減面優(yōu)化的制作方法為例,應用Cinema 4D內置減面工具,采用分類減面的方法,最終將三維模型面數(shù)縮減為簡化前的7.8%。
1? Cinema 4D減面工具
Cinema 4D是一款由德國Maxon Computer公司開發(fā)的三維設計軟件,其以極高的運算速度和強大的第三方插件著稱[10]。該軟件內置減面工具,可通過調整減面強度百分比的方式達到多邊形減面的效果。以如圖1所示的立方體減面為例,在Cinema 4D中創(chuàng)建一個立方體作為研究對象,將所創(chuàng)建的立方體放置在減面生成器子集上,使立方體即刻從四邊面布線變?yōu)槿吤娌季€。觀察減面強度從0%到100%的變化趨勢,三邊面逐漸收縮靠攏,六面體陸續(xù)變成五面體、四面體,然后變成一個平面、三角面,最后消失不見??梢钥闯觯谑褂脙戎脺p面工具的情況下,六面體已是減面的最終完成形態(tài)。當模型變?yōu)榱骟w時,就不能再繼續(xù)進行減面處理了,否則形體的整體造型會遭到破壞。所以在對多邊形進行減面時,要保證一個形體不少于六個面。
圖1? 立方體減面優(yōu)化
當然,三維模型是復雜多樣的,每一個模型結構不會像六面體一樣簡單直觀。以球體作為減面對象進行觀察,如圖2所示。隨著減面值的增加,球體的布線由四邊面逐漸變?yōu)槿吤?,并且三邊面的?shù)量逐漸減少、面積逐漸增大。在減面強度增大到82%時,三邊面不能維持住球體的造型。因此,具體的減面優(yōu)化操作還得根據(jù)模型的實際情況來分析,賦予合適的減面強度并配合渲染效果進行觀察,再確定如何達到最優(yōu)的效果。
圖2? 球體減面優(yōu)化效果
2? 案例實踐
以大型工程機械掘錨機為例,把掘錨機模型導入到Cinema 4D中,通過模型多邊形面查看器觀測到,零部件總共有38 888個,多邊形面總共有1 632萬面,如圖3所示。此類大體量模型添加材質后導入Unity引擎中進行多維度展示是無法實現(xiàn)的,原因是模型面太多、占有內存過大,如若強行塞進程序中,會造成程序的假死,無法流暢運行。為此,若要正常使用此類模型,只能進行減面處理。
圖3? 掘錨機多邊形數(shù)量顯示
2.1? 減面工具應用
在Unity中,導入三維模型的所有面數(shù)在100萬面左右方可流暢運行和使用。所以將掘錨機模型從1 632萬面減少到大約100萬面是亟待解決的問題。在38 888個零件中,只能減面而不能刪除零件,若刪除了部分零部件,盡管其比重只占整體模型的很小一部分,但渲染效果就會因此缺少細節(jié),缺乏真實性。從模型的整體布線來看,主要的外觀部件都是比較簡化的少面數(shù)模型,面數(shù)較大的復雜零件多處于模型內部。
因此,在嘗試減面時,首先使用Cinema 4D的減面工具進行整體化減面測試,看看直接使用減面工具能達到什么樣的程度。減面程度過大,則會直接破壞外觀造型,所以在減面程度上需要進行一個整體的把握。減面工具應用在整體模型上時,將減面強度調整為90%,如圖4所示。減面后,模型從1 632萬面變?yōu)?40萬面,從外觀上看,整體上無太大問題,但一些平直的地方產(chǎn)生了形變,達不到應有的外觀要求。但從最終減面效果的角度來看,經(jīng)過90%減面強度的減面后,仍然還有240萬面,沒有達到程序100萬面左右的使用要求,所以還需進一步加大減面強度。
圖4? 掘錨機使用減面工具減面強度90%的效果
為了進一步減面,在以上90%減面強度的基礎上進行二次減面生成器賦予,最后的結果是整體上達到了67萬面的基數(shù),這個基數(shù)足以滿足程序的流暢使用需求。但是經(jīng)過觀察發(fā)現(xiàn),很多零件出現(xiàn)破面,甚至已經(jīng)丟失,不能維持原有形狀,如圖5所示。直接用減面工具進行減面的操作以失敗告終。
圖5? 掘錨機減面到67萬面的效果
2.2? 分部件減面
經(jīng)過多維度的模型觀察和分析,掘錨機大部分的外觀覆蓋件在設計上分段線及面數(shù)均較少,如圖6所示。所以減面策略調整為保留外觀平直類的覆蓋件,不做減面處理。因為這部分面已經(jīng)比較簡化且占據(jù)外觀面的絕大部分,而且平均每個零件僅有300多個多邊形面,相對于整體模型大約100萬面來說,可以忽略不計。
圖6? 掘錨機的平直外觀件展示
對于一些結構稍微復雜且?guī)в械菇呛涂招牡耐庥^件來說,它們的多邊形面會較多一些。如圖7所示,該外觀件的多邊形面達到8 446個,這時我們使用減面工具進行適當?shù)臏p面處理。經(jīng)過測試和調整,減面強度調整為60%,對外觀造型的影響甚微,但多邊形面數(shù)從8 446減少到3 604,效果顯著。
圖7? 掘錨機外觀件展示
2.3? 履帶部件減面
履帶部件是整個掘錨機中較為復雜的部分,整體上達到243萬個面,其中一個單元件就已經(jīng)多達8 890個面,如圖8所示。單元件因其結構復雜且數(shù)量多,占有的視覺比例較小,所以減面的強度可以適當加大一些。經(jīng)過將減面工具的減面強度調整至80%,該零件的面從8 890個減少為1 705個,減面效果符合要求。最終的思路確定為履帶組成上的平直類外觀件不減面,對形狀復雜的結構件進行減面處理,兩個履帶模型最終從243萬個面減少為19萬個面,且渲染效果與減面前基本保持一致。
圖8? 掘錨機履帶減面
2.4? 駕駛艙部件減面
同理,掘錨機上還有很多復雜的部件,例如整個駕駛艙達到了驚人的329萬個面。但是單從駕駛艙的平直外觀件來看,占有面數(shù)的比例較少,面數(shù)占比較高的都是內部結構復雜的零件,如缸體零件,視覺占比小且位置隱蔽,但是整體面數(shù)較多。經(jīng)檢測,一個小小的缸體件的面數(shù)竟高達8.4萬個,經(jīng)過減面工具的處理減少到9 700個。最后,經(jīng)過全部的減面調整,駕駛艙面減少至23萬個,如圖9所示。
2.5? 連接件減面
通過分部件的減面處理,基本上能達到減面需求,但整個模型中數(shù)量最多且分布最廣的要屬連接件,這也是整個模型減面的重頭戲。螺絲釘?shù)冗B接件雖然很小,但是卻不能直接刪除,因為刪除此類連接件后將會嚴重影響產(chǎn)品的細節(jié)渲染。從圖10中可以看到,每個螺絲釘?shù)亩噙呅蚊娓哌_450個,比一個平直的外觀件高出約100個多邊形面,且因其數(shù)量龐大,螺絲釘?shù)冗B接件的減面優(yōu)化就顯得尤為重要了。
圖9? 駕駛艙的減面設置
圖10? 螺絲釘?shù)臏p面設置
使用重拓撲插件Quad Remesher進行螺絲釘?shù)臏p面優(yōu)化,Quad Remesherw為四邊形自動拓撲插件。它的工作原理與減面工具不同,Quad Remesherw是對模型表面進行四邊形生成,最大程度還原模型的表面形狀,而減面工具是將模型相鄰面進行合并以達到簡化效果。所以對于形狀簡單的物體,使用Quad Remesherw插件的減面效果優(yōu)于減面工具。Quad Remesherw的減面操作十分簡單,只需選中需要拓撲的物體,然后點擊重拓撲命令即可。選擇螺絲文件后,點擊并彈出Quad Remesherw面板,設置拓撲后的多邊形數(shù)量,經(jīng)過不同數(shù)量的測試,把多邊形數(shù)量調整為120較為適宜,不僅保證了物體的外觀,還最大限度減少了多邊形面數(shù)。最終生成的多邊形面減少至136個,比原先450個多邊形面少了314個,由于螺絲龐大的數(shù)量群,整體上就能減少上百萬個面了。
經(jīng)過分類的減面優(yōu)化操作,最終的減面數(shù)為128萬面,約為簡化前1 632萬面的7.8%,且外觀基本保持一致,滿足程序使用需求,如圖11所示。
3? 結? 論
三維模型減面優(yōu)化是一個綜合性的實踐問題,尤其是對大型機械來說,整體模型由不同的結構組合而成,而不同結構的減面權重都不太一樣,所以需根據(jù)模型采取不同的減面方法,這樣不僅能保持模型的外觀質量,還能在此基礎上將模型的大小降到最低。通過對掘錨機減面實例的分析,總結出以下方法和技巧:
1)減面前先對模型進行分析,觀察模型的整體布線和各零件多邊形面的數(shù)量,判斷出重點減面部位、輕量化減面部位和不減面部位,對不同的減面部位采取不同的減面策略。
2)對于平直面的外觀覆蓋件模型,本身多邊形面數(shù)較少的可以不做減面處理,或者少做減面處理。具體得看模型占有外觀的比例,若占比較大,可直接保留使用,若占比較小,則可使用減面工具進行50%~70%強度的減面處理。
3)對于形狀復雜的模型,需要重點做減面處理。首先得觀察物件處于外觀的哪個位置,展示面積較大的可以少做減面處理,進行減面處理時減面強度不能超過60%,這樣可以保證模型的精細度;若展示面積較小,又是在物體內部,可直接減面到90%以上;如若完全封閉在物體內部,直接刪除模型即可。
4)對于一些分布廣、起連接作用的物件,需要適中地進行減面處理,如螺絲連接類模型。這類物件一般數(shù)量龐大,但也顯示在外觀上。減面優(yōu)化方面可使用重拓撲工具Quad Remesher進行面的重新生成,達到減面的同時接近外觀造型的效果。
減面的工作并不復雜,但需要耐心觀察、細心分析。通過Cinema 4D三維模型減面優(yōu)化工具的應用,切實達到了減面優(yōu)化的效果,在不影響外觀的情況下成功地將復雜三維模型的面數(shù)減少到原來的7.8%,符合程序的使用需求。
圖11? 掘錨機最終減面優(yōu)化效果
參考文獻:
[1] 蔡爽,趙清江,羅智寧,等.基于3DS MAX平臺事故再現(xiàn)車輛模型減面優(yōu)化算法設計 [J].重慶理工大學學報:自然科學,2020,34(11):57-62.
[2] 陳靜,俞侃.錢塘江杭州段海塘文化遺產(chǎn)保護與傳承研究 [J].浙江水利水電學院學報,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].圖學學報,2023,44(4):764-774.
[6] 范帥帥.復雜三維模型網(wǎng)絡化瀏覽交互系統(tǒng)的研究與實現(xiàn) [D].西安:西安電子科技大學,2023.
[7] 常宇佳.基于對象重要性的三維模型化簡與可視化方法研究 [D]. 連云港:江蘇海洋大學,2023.
[8] 陳治宇,干靜,安鵬鋮,等.輕量化模型在工業(yè)設計真實感表達中的應用 [J].CAD/CAM與制造業(yè)信息化,2013(11):37-40.
[9] 夏小科,柳翠明,陳可蘊.一種三維模型的壓平冗余簡化方法 [J].時空信息學報,2023,30(2):289-294.
[10] 孫春燕.Cinema 4D與影視后期合成軟件的交互應用研究 [J].西部廣播電視,2021,42(15):234-236.
作者簡介:於厚榮(1990—),男,侗族,貴州玉屏人,講師,碩士,研究方向:動畫、產(chǎn)品設計;通訊作者:彭茜(1992—),女,漢族,湖南益陽人,講師,碩士,研究方向:包裝設計、動畫。