SimplyGon 是一个平台,利用它可对模型和纹理之类的 3D 素材进行不同目的的优化,无需手动操作(或仅需少量操作)。可使用 Simplygon 创建 LOD 链、减少绘制调用、将多个高精度模型组合为一个开销较低的模型、优化特定视角的场景、移除不可见几何体等。 不知道什么原因, SimplyGon已经在AssetStore下架, 作者从第三方论坛下载的版本,如涉侵权,联系作者。
算法: 计算avatar对应的包围盒(每个Mesh的bounds合成一个大的AB盒),然后根据包围盒的高度和屏幕高度百分比来切换lod.
用法:
菜单栏: Tools->LodEditor, 打开窗口后, 把不同的lod的模型拖拽到编辑器对应的模块, 拖拽编辑器上的camera图标即可预览了。
点击save按钮, 会重新排序mesh绑定的骨骼和mesh对应的bindpose以及骨骼权重,进而导出mesh, 从而避免运行时切换lod/mesh的时候再次绑定骨骼
这里只提供了编辑器版本,运行时需要考虑的更多:
-
- 加入时间阻尼或者缓冲区, 来避免lod过于频繁切换
-
- 高中低端机型适配,对于对端机型可能高模也只使用低lod的渲染方式
-
- 材质也要分级, 高模部分使用复杂计算、效果多的材质, 低模使用简单的材质
数据:
数据序列化在一个scriptobject文件中, 点击save会根据此文件的内容生成运行时数据(二进制格式)。
此界面可以配置导出mesh的相关的数据, 比如过高模使用更加复杂的顶点属性, 同时根据命名规则检查资源规范。
点击Detail按钮,能跳转到上面的预览界面, 进行Mesh和Render导出。