【工具】Unity中如何自动化对模型减面?

本文首发公众号洪流学堂。洪流学堂,让你快人几步。你好,我是你的技术探路者大智。

在Unity中,模型的面数对性能的影响非常大。特别是工业领域,工业模型面数通常非常多,在Unity中直接使用如果能跑起来基本都非常卡,在PC上FPS可能只有个位数。如果想用于VR、AR、MR那就基本跑不起来了。

那么有没有什么办法可以自动化对模型做优化呢?答案是有的。

本文探索现有(2021年3月28日)可用的工具,看看最好用的自动化减面工具是什么。

本文不涉及自动减面的原理或算法。

1 先上结论

任何自动化减面工具都只能得到还行的结果,想要完美的结果还是需要人工手动。

减面工具中个人认为最好用的是Simplygon⭐⭐⭐⭐⭐,原因有几个:

  • 免费版足够用(但注意免费版会与微软共享数据,原文是:Content data share with Microsoft)
  • 与Unity集成度高
  • 支持保存减面后的数据(原高模可以删除)
  • 除了模型减面还有很多额外的工具对模型做优化

另外两个选择:

  • 独立工具:ATangeo,65k顶点以上模型需要使用付费版
  • 云平台:老子云,根据转换的文件大小收费

2 探索过程

拿到这个题目之后,那肯定先做一番搜索,关键词包括:

  • 中文:Unity 自动 减面 简化
  • 英文:Unity Mesh Simplify LOD

搜索渠道主要是:Bing、知乎、Github

拿到的结果经过一番筛选可选项有以下这些,按照用途分类探索一下:

2.1 Unity插件

Unity插件如果有合适的应该是最简单了,可以直接在Unity中使用。

可以在Unity中直接使用的插件有如下几个:

simplygon(https://www.simplygon.com/) 微软出品
推荐指数:⭐⭐⭐⭐⭐
可以直接在Unity中对模型进行面数的精简,还包含其他一系列的模型优化功能。面数精简的同时会充分考虑到UV、法线,还可以对贴图进行合并。

simplygon

还发现了一些其他的开源库,由于各种原因不做详细探索(想学习减面算法可以看源码)。

  • ecidevilin/UnityMeshSimplify(https://github.com/ecidevilin/UnityMeshSimplify)
    应该是AssetStore中的MeshSimplify插件。用于运行时减面,对离线不友好。

  • Habrador/Computational-geometry
    (https://github.com/Habrador/Computational-geometry)
    仅包含相关实现的API,无编辑器扩展,距离工具还差很大一截。

2.1.1自动LOD工具

LOD工具有个问题,就是结果中还是会包含原来的模型,然后再包含LOD。在游戏中比较合适。
下面这俩库无法实现只想要减面后模型的离线结果。

  • Whinarn/UnityMeshSimplifier
    Unity官方的AutoLOD中的减面模块也是使用了上面这个
  • Unity-Technologies/AutoLOD
    (https://github.com/Unity-Technologies/AutoLOD)实际上是集成了自动减面功能,然后帮你自动生成LOD,无法对减面进行单独控制

2.2 CCD插件

各个CCD软件的减面插件(可以根据熟悉的CCD软件自行搜索,本文不讲解)

基本所有的CCD软件都有自己的减面插件:

  • 3ds Max
  • Maya
  • Blender
  • ZBrush

2.3 独立工具

如果不仅在Unity中使用的话,独立工具可能更合适一些。

2.3.1 ⭐⭐⭐ATangeo

下载地址:https://atangeo.com/

  • 免费版只能处理及保存导出65K顶点以下的模型,可导出;
  • 收费版可以试用看效果,但是没办法保存优化后的模型。收费版52刀,也不算特别贵。

2.3.2不推荐独立工具

大智也探索了下面两个独立工具:

  • Mesh Lab(https://www.meshlab.net/) 不稳定,经常崩
  • Magic3D(http://geometryhub.net/magic3d)缺少dll无法运行,没有过多尝试

2.4 云平台

⭐⭐⭐老子云(需要付费,功能比较多)
https://www.laozicloud.com/

执行完付费,可以先看下预览效果再决定要不要付费下载。


**你用过最好用的自动减面工具是啥?**欢迎评论私信,咱们一起探索。

我是大智(🛰:zhz11235),你的技术探路者,咱们下次见!

别走!点赞收藏哦!

好,你可以走了。

  • 6
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
Unity 模型减面是一种优化技术,通过减少模型片数目,以提高游戏或应用的性能和效率。减面的主要目的是在保持模型的视觉质量的同时,减少渲染和处理负载,以实现更好的运行速度和流畅度。 在 Unity ,可以使用自带的减面工具或第三方插件来进行模型减面减面工具可以通过对模型进行网格简化、顶点合并、片合并等操作,自动删除或合并不必要的片,并对模型进行优化。 模型减面有一些明显的优势。首先,减少片数量可以大幅降低渲染时的性能消耗,减少 GPU 的工作负载,提高游戏或应用的帧率。其次,减面可以减小模型的存储空间和加载时间,为用户提供更快的加载体验。此外,减面还可以优化碰撞检测和物理模拟的计算速度。最后,减面可以在一定程度上减少模型在不同距离下的表现差异,提高模型的视觉一致性。 然而,模型减面也存在一些限制和注意事项。在减面过程,需要平衡保持模型的外观和细节的需求。如果减面过度,可能会导致模型失真、细节丢失或出现显著的质量下降。因此,在进行减面操作前,需要根据实际需求和场景,合理权衡模型的性能和质量之间的关系。 综上所述,Unity 模型减面是一种优化技术,可以通过减少模型片数目,提高游戏或应用的性能和效率。通过合理使用减面工具,可以平衡模型的外观和性能需求,提供更好的用户体验。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大智_Unity玩家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值