有关模型优化的注意事项
模型制作之”切勿“事项
切勿在模型上设置自动播放的音频(如加载时播放的音乐)。这种音频会在玩家重载模型时再次重放,比如每次更改安全设置时。这是您可以在模型上安装的最令人讨厌的组件之一,因为世界上的每个人都能以相同的,非空间化的音量听到它,所以请避免使用它。
切勿在模型中添加实时灯光。
切勿使用粒子特效;这些没有必要的特效会降低帧率,而且易使玩家恶心、癫痫和焦虑。
切勿在模型上使用屏幕扭曲效果。这是模型上最糟糕的组件,因为它同样易使玩家恶心、癫痫和焦虑。
模型优化技巧
请首先了解模型性能限制
并阅读 VRChat 官方模型优化技巧文档
尽量使用 Blender CATS 插件!
以及 Pumkin’s Avatar Tools ,它可以让您非常轻松地删除模型中不必要的内容!
模型下载大小
- 在每个纹理文件(图像,通常为 .jpg 或 .png)的对应检查器窗口上,
在压缩选项中,选择中等质量或 Normal - 开启 crunch compression
- 点击应用
(您可以在多选纹理的情况下进行此操作,以提高效率)
多边形数量
您可通过网格简化来降低模型面数。您可以直接使用 CATS 对模型进行快速减面,或者使用 CATS 将模型分为数个独立网格(如按松散部件),然后对这些网格单独应用精简修改器,以获得更好的效果。
材质数量
您可打开 CATS 侧边栏,在其中的 Optimization 下拉菜单中, 在“材质"选项卡中,一键合并相同的材质。
合并不同的材质,同时把多个纹理合并为一个图集,这样可以减少绘制调用并提高性能。
骨骼数量
越少越好。您可以通过将骨骼的权重并入父骨骼来减少骨骼的数量。许多 MMD 模型的衣服等部位的骨骼数量远远超过 VRChat 的最佳值。CATS 有一个骨骼合并部分。
Dynamic Bones
Dynamic Bone 来自一个付费的 Unity 插件,它允许骨骼利用物理原理延迟回到默认静止位置,并主要用于头发或动物耳朵。它们通常是模型上最耗费性能的组件,因此如果您想使用它们,请首先适当合并您的骨骼链,并尽可能将 Dynamic Bones 的使用量保持在较低的水平。
请注意,Oculus Quest 不支持 Dynamic Bone。
Dynamic Bone 组件
您应当将该组件,放在需被动态化的骨骼的父级骨骼上,组件数量越少越好。例如,如果你想在头发上设置 Dynamic Bone,可以在头部骨骼上设置一个 Dynamic Bone 组件(并排除所有非头发骨骼),而不是在每一串头发骨骼上设置一个单独的 Dynamic Bone 组件。
Dynamic Bone collider 组件
可使模型上的 Dynamic Bone 与该组件发生碰撞。一般情况下效果不佳,且对性能影响很大,最好不要使用,如果您确实需要使用它,推荐最多使用 2 个,每只手一个。
请注意,该组件的碰撞形状是一个胶囊,而不是一个球体。
您可通过 Pumkin’s Avatar Tools. 可以轻松移除碰撞器。
在 "安全设置 "的 "性能选项 "中有一项名为 "限制动态骨骼使用 "的功能,该功能默认已启用,可将 Dynamic Bone 骨骼数量的最大数量限制为 32 个,Dynamic Bone 组件的最大数量限制为 8 个。您可通过合并骨骼权重和使用较少的 Dynamic Bone 组件,并在这些组件上设置排除项(例如,在头部骨骼上设置一个用于头发的排除项,但排除所有非头发组件),尽量将骨骼与组件数量量控制在限制内。
针对 Quest 端的模型优化
请首先在这里,查看所有 Quest 端的模型限制。
并阅读针对 Quest 端的 VRChat 官方优化技巧文档
总结:渣优化模型之九宗罪
-
过于离谱的材质数量 (在 CAT 中合并相同的材质,并使用 CATS 推荐的 Matcombiner 合并不同的材质)
-
未指定的 dynamic bone 碰撞检查
-
过于离谱的 dynamic bone collider 数量与碰撞检查数量
-
过于离谱的 dynamic bone 组件数量
-
过于离谱的 dynamic bone 骨骼变换数量 (请事先用 CATS 适当合并骨骼链!!!)
-
容易让人发生眩晕与不舒服的特效
-
过于离谱的多边形数量
-
过于离谱的粒子数量
-
实时灯光
No Comments