大型3D模型,如何快速减面优化?

遇到上千万面的模型需要减面优化时,大部分人会直接用设计软件或者额外安装插件后再进行减面。但是,这种情况经常出现各种状况,譬如优化效果不理想,包括模型细节丢失、破面、失真或变形等;遇到处理大模型时,还会经常遇到卡顿的情况甚至软件、电脑直接崩溃,完全无计可施。

相信还有部分小伙伴试过找外包,人手工专门进行减面。但是,这种方法价格高不说,而且很有可能出现双方反复沟通后仍然达不到要求的情况,这就很容易耽误了工期

那还有没有第三种办法呢?

在这里,向大家推荐这款我司自行研发的国产软件——天元轻量化软件,它是一款专业的3D模型优化软件。天元采用创新的智能算法技术,重塑轻量化流程,对比传统人手工处理速度可快数十倍大幅提高了工作效率

究竟天元轻量化软件的减面效果如何?对比主流三维软件的减面功能哪个更优?在这里,我们选取优化的案例是两辆不同格式的汽车模型,而和天元轻量化软件进行效果对比的软件有3DMAX UE4。我们一起来看看具体情况:

1、优化FBX格式的汽车模型

【模型情况】一辆高精度的FBX格式的汽车模型,440多万三角面,外观精美,曲面造型平滑、自然。

1、3DMAX-专业优化器

添加专业优化修改器,勾选“保持纹理”和“保持UV边界”,然后点击“计算”。

【优化效果】点击“计算”之后,软件就崩溃了,无法对模型进行优化。

2、3DMAX-INSTADLOD插件

安装好插件,调节减面比例至20%,意味着将模型从440万面减至80多万面。

【优化效果】减面后的模型布线虽然有点杂乱,但整体来说还是比较均匀的;有一点小破面,但是不算明显;内饰破面较明显,但是对于本项目影响不大。

3、天元软件-超级减面功能

登录天元官网https://3djd.cn,选择“超级减面”功能,简单3步完成减面:选择文件-设置轻量化模式(单模型减面,减面比例设置20%,完成后的文件格式选择FBX)-提交文件。

【优化效果】外表没有明显的破面,布线也比较均匀,内饰也会看到有破面,但是在本项目不影响。

————【超级减面LOD】简介————

1、功能核心优势: 

  • 可以对3D模型的多边形数量进行精确优化。
  • 对于拥有数百万面数的3D打印模型非常有效。
  • 在数秒时间内完成处理数百万多边形,重新生成低面数的拓扑结构
  • 拥有智能适配骨骼技术,在优化多边形的同时保持模型骨骼可用性
  • 可以次生成最多6套不同减面比例的模型LOD网格,优化结果可导入到 Unity、Unreal 自动识别为 LOD 组合,节省大量时间。

2、功能使用技巧 

(1)上传模型注意事项

  • 支持上传的模型文件格式为:FBX、OBJ、STL、PLY
  • 模型大小不能超过 2GB(含贴图),三角面总数不能超过 2,000 ,子物体总数量不能超过40,000。注:天元软件企业版不受以上限制
  • 需使用标准材质类型。
  • 建筑场景类、工业零件类特别注意:如果某些物体需要突出展现或者做交互体验的话,可以将其保留为独立物体,不需要合并;建议将该物体独立保存为单个FBX文件分开上传优化,然后再将其合并到主物体上。
  • 检查模型文件是否包含零碎面片,如果有的话必须删除干净,否则会影响优化效果。

(2)设置参数注意事项

  • 单模型减面:可根据减面比例(=优化后三角面数/优化前三角面总数)或者优化后的三角面总数来设置参数。三角面数较高的模型,则优化力度可相对提高,注意平衡好优化力度和模型精细度的关系。
  • LOD多级减面:此模式最多可一次性生成LOD0至LOD5(100%至0%)6套优化网格,非常方便快捷。

2、优化STEP格式的CAD模型文件

【模型情况】一辆STEP格式的汽车CAD源文件,汽车模型零件较多、较全。

1、UE4-Datasmith插件

安装插件后,设置弦容差和法线容差来调整所需减面比例,这里我们设置弦容差为0.01cm、法线容差为20度。

【注意】:这两个值越小,意味着三角面数越多,模型的精度就越高。

【优化效果】经过UE4Datasmith插件减面的模型,最终面数约为30万,并且破面较多、布线也不均匀,难以运用到项目上。

2、天元软件-微分CAD功能

同样地先登录天元官网https://3djd.cn,针对step格式这种非多边形数据的CAD模型文件,我们选用的功能是“微分CAD”。同样只需3步完成减面:选择文件-设置轻量化模式(自由设定,为和前者效果作对比,设置同样数值的弦容差和法线容差,完成后的文件格式选择FBX)-提交文件。

【优化效果】模型三角面数约为10万面,几乎看不出破面,并且布线均匀。对比原模型附上材质后,两者相差无几,几乎看不出差别。这样的处理效果,就可以很好地运用到项目上了。

————【微分CAD】简介————

1、功能核心优势:

  • 采用创新智能算法,将CAD模型的曲面化数据自动转换为多边形数据,并在数十秒内得到一个经过优化处理的3D零件模型。
  • 支持导入数十种主流工业设计软件的CAD文件格式,如 Revit、Catia、ProE、Solidworks、Rhino、NX等
  • 支持导出适用于VR项目的通用多边形文件格式以及3D引擎工具,如 UnrealEngine、Unity、Marmoset、Substance、WebGL等

2、功能使用技巧: 

为了让不同需求的客户能更好地处理模型,“微分CAD”功能的被细分为3种不同模式。

  • 场景空间:适合大型场景,如:建筑BIM、室外场景、室内空间、建筑结构、管道、管线、钢结构等模型。用户可以通过设置场景轻量化等级来调节减面力度,等级越小则减面力度越大,模型细节越少。
  • 单体物品:适合单个物体,如:工业产品、机械设备、装配零件、数码产品、电器、家具、饰品等模型。用户可以通过设置物品轻量化等级来调节减面力度,等级越小则减面力度越大,模型细节越少。
  • 自由设定:适合经验丰富的专家用户,通过控制弦高弦角参数来获得符合个性化要求的模型。弦高容差和弦角容差越大,则减面力度越大,模型细节越少。
  • 关于这两者设置的标准,可以参考以下内容:(1)对于结构简单的模型,弦高容差60毫米,一般就能够避免破面;(2)如果是偏圆柱体的模型,并且有转折较大的圆角结构,弦角容差建议设置在30到45度之间;(3)对于结构复杂的模型,弦高容差建议设置在10毫米以下。

所以,大家在使用天元轻量化软件前,一定要根据模型格式以及想要达到何种优化目的来选择合适的功能及模式,并且在设置轻量化参数的时候仔细阅读相关说明,以确保优化效率和优化质量。

天元轻量化软件支持的3D模型文件格式超60种、支持主流设计软件12种(详情可登陆天元官网点击首页右上角“帮助文档”-“支持输入模型格式”查看)。因此,相对一般设计软件,天元轻量化软件无需因为模型格式不同、优化效果不同或优化目的不同而去安装各款不同插件,在花费大量时间去学习各插件的使用方法之后,再花费心机去测试效果。天元轻量化软件(网页版)无需安装,登录即用,简单3步就可以完成各类模型的优化。

另外,天元轻量化软件还提供企业版,对于模型面数多、模型处理量大、时间紧迫,又或者是对于数据有严格保密要求的个人或企业非常友好。天元软件企业版的独特优势如下

1、支持离线部署,可以离线处理文件,保密性非常强;

2、支持批量处理文件,可以同时一次性处理多个文件;

3、对于上传的模型无限制,包括模型大小、模型面数、子物体数量等均无限制,功能强大。

限时优惠:现在登录天元官网https://3djd.cn并注册,即可获得100元天元免费试用额度,赶紧试试吧!

要实现在Qt中加载3D模型并且能够看到背面,需要做如下几个步骤: 1. 导入3D模型:可以使用Qt提供的Qt3D模块来导入3D模型,也可以使用第三方库如Assimp等来导入。 2. 设置渲染属性:在渲染3D模型之前,需要设置渲染属性来支持双面渲染。可以使用Qt3D提供的QRenderStateSet和QCullFace等类来设置渲染属性,具体实现如下: ```cpp // 创建一个QRenderStateSet对象,用于设置渲染状态 QRenderStateSet *renderStateSet = new QRenderStateSet(); // 创建一个QCullFace对象,并设置为不剔除任何面 QCullFace *cullFace = new QCullFace(); cullFace->setMode(QCullFace::NoCulling); // 将QCullFace对象添加到QRenderStateSet对象中 renderStateSet->addRenderState(cullFace); // 将QRenderStateSet对象设置为渲染组件的渲染状态 meshRenderer->setRenderStateSet(renderStateSet); ``` 3. 渲染模型:渲染3D模型时,需要将上述的渲染属性设置应用到渲染组件中。可以使用Qt3D提供的QEntity和QMeshRenderer等类来渲染,具体实现如下: ```cpp // 创建一个QEntity对象,并添加到场景中 QEntity *entity = new QEntity(rootEntity); // 创建一个QMeshRenderer对象,并设置渲染属性 QMeshRenderer *meshRenderer = new QMeshRenderer(entity); meshRenderer->setMesh(mesh); // 设置3D模型网格 // 将QMeshRenderer对象添加到QEntity对象中 entity->addComponent(meshRenderer); ``` 这样就可以在Qt中加载3D模型并且能够看到背面了。需要注意的是,双面渲染可能会导致性能下降,因为需要渲染更多的面。如果对性能要求比较高,可以考虑使用单面渲染,在绘制时只绘制需要的一面。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值