於厚荣 彭茜
收稿日期:2023-11-15
基金项目:2021年贵州省普通高等学校青年科技人才成长项目(黔教合KY字〔2022〕082号,黔教合KY字〔2022〕081号);凯里学院2023年校级专项课题(2023XJZX0204);2023年度凯里学院规划课题(2023XJGHQN04);凯里学院课题(S1816)
DOI:10.19850/j.cnki.2096-4706.2024.04.004
摘 要:随着虚拟现实、计算机辅助设计和游戏开发的不断发展,高质量三维模型的应用变得越来越迫切。大型工程机械的设计结构复杂,零件组合模式多样,这类模型整体上动辄千万个面,甚至上亿个面。由于面数太多,可能发生在程序中无法流畅运行的情况,三维模型减面优化是亟待解决的重要问题。文章以Cinema 4D为制作平台,简要介绍了其内置的三维模型减面工具,探讨了工程机械掘锚机在减面优化方面所用到的方法与实践。通过在Cinema 4D中内置减面工具以及使用重拓扑插件Quad Remesher等手段,验证了基于Cinema 4D的三维模型减面优化方法的有效性与实用性。
关键词:三维模型;减面优化;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 引 言
现如今,计算机仿真技术的应用越来越广泛。高精度三维模型可应用于车辆交通事故仿真再现技术[1],可应用于大型游戏中场景真实性提升技术,可应用于新产品开发中的产品多维展示技术,还可应用于非物质文化遗产的数字化构建[2]技术。在应用过程中,不可避免地会遇到高精度三维模型多边形面数过多之类的问题,这为计算机有限的带宽和网络传输实时渲染带来巨大的困扰,不利于高精度三维模型的横向推广。实际上,不同场景需要不同精度的数据,减面优化能夠解决高质量三维模型在游戏开发、虚拟现实、文化遗产保护等应用运行中存在的计算和渲染负担等问题[3,4]。本文将深入探讨当前减面优化领域的主要方法和技术。
三维模型多边形减面是一种通过减少三维模型中多边形面数的方式来降低三维模型面数的技术,在不影响模型外观的前提下,尽可能多地减少三维模型多边形面的数量[5]。国内外高校、企业和研究学者已经就这个问题做了大量的研究。范帅帅[6]采用对glTF格式模型进行数据压缩的方式,实现模型数据的轻量化处理,最终将模型数据轻量化为原来的14%。常宇佳[7]提取三维模型的几何特征,为不同特征赋予不同的权重系数,然后选取增量式边折叠简化算法对三维模型的几何结构进行简化,最终将三维模型面数缩减为简化前的30%。陈治宇等[8]提出三维模型轻量化方法,主要包括精简模型个数、精简模型面数、使用贴图代替三维建模等方法,最终将三维模型面数缩减为简化前的22%。夏小科等[9]提出一种三维模型的压平冗余简化方法,通过对选定区域内三维模型格网进行投影变换,将三维模型映射到二维平面实现模型的消减,最终将三维模型面数缩减为简化前的9.6%。
三维模型减面优化是一个综合而复杂的学科,不同应用对三维模型减面的要求不尽相同。本文以工程机械掘锚机减面优化的制作方法为例,应用Cinema 4D内置减面工具,采用分类减面的方法,最终将三维模型面数缩减为简化前的7.8%。
1 Cinema 4D减面工具
Cinema 4D是一款由德国Maxon Computer公司开发的三维设计软件,其以极高的运算速度和强大的第三方插件著称[10]。该软件内置减面工具,可通过调整减面强度百分比的方式达到多边形减面的效果。以如图1所示的立方体减面为例,在Cinema 4D中创建一个立方体作为研究对象,将所创建的立方体放置在减面生成器子集上,使立方体即刻从四边面布线变为三边面布线。观察减面强度从0%到100%的变化趋势,三边面逐渐收缩靠拢,六面体陆续变成五面体、四面体,然后变成一个平面、三角面,最后消失不见。可以看出,在使用内置减面工具的情况下,六面体已是减面的最终完成形态。当模型变为六面体时,就不能再继续进行减面处理了,否则形体的整体造型会遭到破坏。所以在对多边形进行减面时,要保证一个形体不少于六个面。
图1 立方体减面优化
当然,三维模型是复杂多样的,每一个模型结构不会像六面体一样简单直观。以球体作为减面对象进行观察,如图2所示。随着减面值的增加,球体的布线由四边面逐渐变为三边面,并且三边面的数量逐渐减少、面积逐渐增大。在减面强度增大到82%时,三边面不能维持住球体的造型。因此,具体的减面优化操作还得根据模型的实际情况来分析,赋予合适的减面强度并配合渲染效果进行观察,再确定如何达到最优的效果。
图2 球体减面优化效果
2 案例实践
以大型工程机械掘锚机为例,把掘锚机模型导入到Cinema 4D中,通过模型多边形面查看器观测到,零部件总共有38 888个,多边形面总共有1 632万面,如图3所示。此类大体量模型添加材质后导入Unity引擎中进行多维度展示是无法实现的,原因是模型面太多、占有内存过大,如若强行塞进程序中,会造成程序的假死,无法流畅运行。为此,若要正常使用此类模型,只能进行减面处理。
图3 掘锚机多边形数量显示
2.1 减面工具应用
在Unity中,导入三维模型的所有面数在100万面左右方可流畅运行和使用。所以将掘锚机模型从1 632万面减少到大约100万面是亟待解决的问题。在38 888个零件中,只能减面而不能删除零件,若删除了部分零部件,尽管其比重只占整体模型的很小一部分,但渲染效果就会因此缺少细节,缺乏真实性。从模型的整体布线来看,主要的外观部件都是比较简化的少面数模型,面数较大的复杂零件多处于模型内部。
因此,在尝试减面时,首先使用Cinema 4D的减面工具进行整体化减面测试,看看直接使用减面工具能达到什么样的程度。减面程度过大,则会直接破坏外观造型,所以在减面程度上需要进行一个整体的把握。减面工具应用在整体模型上时,将减面强度调整为90%,如图4所示。减面后,模型从1 632万面变为240万面,从外观上看,整体上无太大问题,但一些平直的地方产生了形变,达不到应有的外观要求。但从最终减面效果的角度来看,经过90%减面强度的减面后,仍然还有240万面,没有达到程序100万面左右的使用要求,所以还需进一步加大减面强度。
图4 掘锚机使用减面工具减面强度90%的效果
为了进一步减面,在以上90%减面强度的基础上进行二次减面生成器赋予,最后的结果是整体上达到了67万面的基数,这个基数足以满足程序的流畅使用需求。但是经过观察发现,很多零件出现破面,甚至已经丢失,不能维持原有形状,如图5所示。直接用减面工具进行减面的操作以失败告终。
图5 掘锚机减面到67万面的效果
2.2 分部件減面
经过多维度的模型观察和分析,掘锚机大部分的外观覆盖件在设计上分段线及面数均较少,如图6所示。所以减面策略调整为保留外观平直类的覆盖件,不做减面处理。因为这部分面已经比较简化且占据外观面的绝大部分,而且平均每个零件仅有300多个多边形面,相对于整体模型大约100万面来说,可以忽略不计。
图6 掘锚机的平直外观件展示
对于一些结构稍微复杂且带有倒角和空心的外观件来说,它们的多边形面会较多一些。如图7所示,该外观件的多边形面达到8 446个,这时我们使用减面工具进行适当的减面处理。经过测试和调整,减面强度调整为60%,对外观造型的影响甚微,但多边形面数从8 446减少到3 604,效果显著。
图7 掘锚机外观件展示
2.3 履带部件减面
履带部件是整个掘锚机中较为复杂的部分,整体上达到243万个面,其中一个单元件就已经多达8 890个面,如图8所示。单元件因其结构复杂且数量多,占有的视觉比例较小,所以减面的强度可以适当加大一些。经过将减面工具的减面强度调整至80%,该零件的面从8 890个减少为1 705个,减面效果符合要求。最终的思路确定为履带组成上的平直类外观件不减面,对形状复杂的结构件进行减面处理,两个履带模型最终从243万个面减少为19万个面,且渲染效果与减面前基本保持一致。
图8 掘锚机履带减面
2.4 驾驶舱部件减面
同理,掘锚机上还有很多复杂的部件,例如整个驾驶舱达到了惊人的329万个面。但是单从驾驶舱的平直外观件来看,占有面数的比例较少,面数占比较高的都是内部结构复杂的零件,如缸体零件,视觉占比小且位置隐蔽,但是整体面数较多。经检测,一个小小的缸体件的面数竟高达8.4万个,经过减面工具的处理减少到9 700个。最后,经过全部的减面调整,驾驶舱面减少至23万个,如图9所示。
2.5 连接件减面
通过分部件的减面处理,基本上能达到减面需求,但整个模型中数量最多且分布最广的要属连接件,这也是整个模型减面的重头戏。螺丝钉等连接件虽然很小,但是却不能直接删除,因为删除此类连接件后将会严重影响产品的细节渲染。从图10中可以看到,每个螺丝钉的多边形面高达450个,比一个平直的外观件高出约100个多边形面,且因其数量庞大,螺丝钉等连接件的减面优化就显得尤为重要了。
图9 驾驶舱的减面设置
图10 螺丝钉的减面设置
使用重拓扑插件Quad Remesher进行螺丝钉的减面优化,Quad Remesherw为四边形自动拓扑插件。它的工作原理与减面工具不同,Quad Remesherw是对模型表面进行四边形生成,最大程度还原模型的表面形状,而减面工具是将模型相邻面进行合并以达到简化效果。所以对于形状简单的物体,使用Quad Remesherw插件的减面效果优于减面工具。Quad Remesherw的减面操作十分简单,只需选中需要拓扑的物体,然后点击重拓扑命令即可。选择螺丝文件后,点击并弹出Quad Remesherw面板,设置拓扑后的多边形数量,经过不同数量的测试,把多边形数量调整为120较为适宜,不仅保证了物体的外观,还最大限度减少了多边形面数。最终生成的多边形面减少至136个,比原先450个多边形面少了314个,由于螺丝庞大的数量群,整体上就能减少上百万个面了。
经过分类的减面优化操作,最终的减面数为128万面,约为简化前1 632万面的7.8%,且外观基本保持一致,满足程序使用需求,如图11所示。
3 结 论
三维模型减面优化是一个综合性的实践问题,尤其是对大型机械来说,整体模型由不同的结构组合而成,而不同结构的减面权重都不太一样,所以需根据模型采取不同的减面方法,这样不仅能保持模型的外观质量,还能在此基础上将模型的大小降到最低。通过对掘锚机减面实例的分析,总结出以下方法和技巧:
1)减面前先对模型进行分析,观察模型的整体布线和各零件多边形面的数量,判断出重点减面部位、轻量化减面部位和不减面部位,对不同的减面部位采取不同的减面策略。
2)对于平直面的外观覆盖件模型,本身多边形面数较少的可以不做减面处理,或者少做减面处理。具体得看模型占有外观的比例,若占比较大,可直接保留使用,若占比较小,则可使用减面工具进行50%~70%强度的减面处理。
3)对于形状复杂的模型,需要重点做减面处理。首先得观察物件处于外观的哪个位置,展示面积较大的可以少做减面处理,进行减面处理时减面强度不能超过60%,这样可以保证模型的精细度;若展示面积较小,又是在物体内部,可直接减面到90%以上;如若完全封闭在物体内部,直接删除模型即可。
4)对于一些分布广、起连接作用的物件,需要适中地进行减面处理,如螺丝连接类模型。这类物件一般数量庞大,但也显示在外观上。减面优化方面可使用重拓扑工具Quad Remesher进行面的重新生成,达到减面的同时接近外观造型的效果。
减面的工作并不复杂,但需要耐心观察、细心分析。通过Cinema 4D三维模型减面优化工具的应用,切实达到了减面优化的效果,在不影响外观的情况下成功地将复杂三维模型的面数减少到原来的7.8%,符合程序的使用需求。
图11 掘锚机最终减面优化效果
参考文献:
[1] 蔡爽,赵清江,罗智宁,等.基于3DS MAX平台事故再现车辆模型减面优化算法设计 [J].重庆理工大学学报:自然科学,2020,34(11):57-62.
[2] 陈静,俞侃.钱塘江杭州段海塘文化遗产保护与传承研究 [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] 岳明宇,高希峰,畢重科.三维建筑模型的低模网格生成 [J].图学学报,2023,44(4):764-774.
[6] 范帅帅.复杂三维模型网络化浏览交互系统的研究与实现 [D].西安:西安电子科技大学,2023.
[7] 常宇佳.基于对象重要性的三维模型化简与可视化方法研究 [D]. 连云港:江苏海洋大学,2023.
[8] 陈治宇,干静,安鹏铖,等.轻量化模型在工业设计真实感表达中的应用 [J].CAD/CAM与制造业信息化,2013(11):37-40.
[9] 夏小科,柳翠明,陈可蕴.一种三维模型的压平冗余简化方法 [J].时空信息学报,2023,30(2):289-294.
[10] 孙春燕.Cinema 4D与影视后期合成软件的交互应用研究 [J].西部广播电视,2021,42(15):234-236.
作者简介:於厚荣(1990—),男,侗族,贵州玉屏人,讲师,硕士,研究方向:动画、产品设计;通讯作者:彭茜(1992—),女,汉族,湖南益阳人,讲师,硕士,研究方向:包装设计、动画。