Simplygon使用初体验

模型面数太高会导致游戏运行卡顿,大多数从网上下载的模型面数都很高几十万几百万都很正常,但一般游戏模型面数几万就算非常高了。面数过高的模型需要我们先在3d软件如3dmax里进行预处理,减面优化,之后再导入unity。但有时我们已经将模型导进来了,又不想反复导来导去,能不能在unity里进行减面操作呢?可以的,使用免费的Simplygon能在unity里直接对模型进行减面优化。
Simplygon是一家位于瑞典的3D数据自动优化解决方案的主要开发商,他们是3D游戏优化、帮助创造者和用户优化3D数据的领导者。目前已被微软收购。
1 下载安装
安装Simplygon,进入官网点上方下载,进入下载页面,下载SDK安装程序。 Simplygon官网:https://www.simplygon.com

下载后运行程序安装,默认直接安装到C盘,莫得选择。后面弹出许可证向导窗口,因为我们是白嫖的,所以点击Install Simplygon Free License。此时需要输入微软账号,没有就注册一个。

2 初始配置
将Simlygon插件导入Unity。资源管理器输入 %PROGRAMFILES%/Simplygon/9/Unity/bin/ ,将Simlygon.Unity.EditorPlugin.dll复制到Unity项目Assets文件夹中


导入后文件可以展开,能看到里面有几个脚本。有个报错,不用管,clear一下就行。

因为Simplygon本质是对USD格式文件进行处理,需要安装USD。点击Window-Package Manager搜索USD。若找不到,点击左上方加号,点击Add Package from git URL,输入 com.unity.formats.usd ,点击Add等待安装。


3 基本使用
配置完成,Window下能找到Simplygon选项,点击调出这个窗口。

点击Add LOD Component,依次点击Template > Basic > Reduction with material baking。


Run Mode选择Rum In This Process。看到ReductionSettings下可以设置目标三角面比率(若看不到后面数字将窗口拉大点即可),默认为0.5,即生成模型面数是原来的0.5倍;MappingImageSettings下可以设置贴图尺寸,默认是1024 x 1024。

在场景中导入一个沙发模型测试,选中这个模型,点击Simplygon窗口下方黄色按钮。模型开始优化,等待优化完成。

这里我台式电脑大概用了1分钟,测试笔记本需要10分钟。运行结束,场景中多出一个sofa_LOD1物体。Assets文件夹下也多出一个LOD文件夹,里面存放减面完成的模型与其贴图。

隐藏初始模型,保留生成后的模型,看到摄像机中三角面数由 2.3M 降为 1.2M,顶点数由 1.3M 降为 782.6k。

4 测试
以下做个简单的对比测试,可以看到减面效果还是不错的。Ratio数值越小时,模型内部褶皱部分细节丢失,边缘软边逐渐变为硬边,但模型整体轮廓被完好保留。
| Tris | Verts |
---|
无模型 | 1.7k | 5.0k | 原始模型 | 2.3M | 1.3M | Ratio=0.5 | 1.2M | 782.6k | Ratio=0.1 | 233.2k | 202.5k | Ratio=0.01 | 24.8k | 36.0k |

|