不是教做quest/安卓模型,仅针对pc重量级功能模型的优化
基本上就是我horiz到milk之间的差异
Unity自带的网格压缩
选中fbx后在检查器中选择网格压缩,一般情况下中等,少量情况低或者不压缩,高是几乎不用,中及以下一般来说几乎不影响外观,影响的话就调低。
仅2022比较有效,2019几乎无效。(应该没人还用2019改模了吧)
压缩贴图
使用 VRC-Avatar-Performance-Tools 或 lilAvatarUtils ,后者更全面。
由于个人对模型下载大小比较敏感,所以压缩的比较狠,个人参考值如下。
tex/normal 1024
mask/matcap.. 512
动骨合并
其实就是把几个同层级的骨骼共用一个动骨组件,实际上来说它并不是优化,所以也不要叫它动骨优化,实际转换数是一样的,这样做的唯一意义就是防止超过256的动骨组件限制。
例如图中原本outer L a到outer_R_e的每一项都有一个动骨组件,合并的话就是把原本的动骨组件都删了,并如图中所示在父级outer_root添加一样的动骨组件,Root Transform添加自己。
由于这不是优化这里就不介绍更多了。
减少控制器层数
特别是FX,其它控制器一般不会有多少Layer。
对于没有过渡效果/VRC脚本的Layer建议使用BlendTree来做,安装MA后可直接创建asset的BlendTree。
特别是衣服开关、饰品开关什么的,一定要选择BlendTree来做。
并使用MA Merge Blend Tree组件合并,这个没啥好讲的直接拖进去就好了
当然也可以正常在Layer里做BlendTree,等待运行/上传时AvatarOptimizer(这个下面会讲)自动合并,不过个人习惯MA的,这样整合到它应在的gameobject上会比较好维护
AvatarOptimizer自动优化
使用插件AvatarOptimizer的AAO Trace And Optimize组件,添加到模型的父级中,运行/上传时可以自动优化,它是非破坏性的,可以放心加。
如果没什么特别需求或者进阶操作,直接加这一个就行了
光是这一个都可以让你模型有非常大的优化提升。更多用法阅读文档。
NDMF Mantis LOD Editor减面
可以直接在Unity中减面,但它也可以是非破坏性的,运行/上传时才减面,并且可以实时预览,只需要在想减的东西下面加组件,简单拉下进度条就行了,非常方便,偷懒必备,不用去其它建模软件里操作了。
需要下载 Unity Asset Mantis LOD Editor 和 Mantis LOD EditorのNDMF化ツール
查看实际统计数据
由于使用了一堆非破坏性工具,需要运行后才能看到最终成果,所以看sdk统计是没用的。
在vcc中安装anatawa12's gists pack,并在unity中安装ActualPerformanceWindow
运行后弹出的窗口可以看到统计
后话
优化最终看的还是取舍,重量级的东西不要加,衣服/头发什么的尽量选择没那么复杂的。