
项目管理从VCC迁移至ALCOM
使用sourcetree+github进行版本管理
常用库列表和gitignore模板 https://gist.github.com/bamboo98/cd1704ba193b8997f999caaadba11671
用于解决模型上传失败的补丁插件: https://github.com/vrcd-community/vrchat-sdk-patcher/releases
常用文档链接
Unity手册: https://docs.unity.cn/cn/2022.3/Manual/AnimationSection.html
VRC官方手册: https://creators.vrchat.com/avatars/Avatars
AAO模型优化插件 https://vpm.anatawa12.com/avatar-optimizer/en/
VRCFury插件: https://vrcfury.com/components/other/
MA插件: https://modular-avatar.nadena.dev/docs/reference
VRLABS: https://vrlabs.dev/packages/
GoGoLoco: https://teeth-fetch-gdl.craft.me/CxY701Ne9Ng5Ev
进阶学习: https://vrc.school/docs/Other/AAPs
通用优化用组件
VRCFury Anchor Override Fix
Blendshape Optimizer
Direct Tree Optimizer (大幅降低模型CPU使用,但也大幅提高编译时间,建议仅在最终上传时添加)
AAO Trace And Optimize (使用默认设置即可)
MA的Bone Proxy组件相关注意事项:
通过该组件设置对象(A)的父对象时,反应式组件制作的开关不会影响该对象(A)上面的其他组件(如动骨,约束,触发器等),而通过Merge Armature进行合并的骨骼,反应式组件会自动开关这些骨骼上的其他组件
例如出现以下情况时需将Bone Proxy更换为Merge Armature(可能同时需要手动创建一些从Hips开始的父骨骼):通过反应式组件去开关一个用Bone Proxy绑定的头发,发现虽然头发的网格被隐藏了,但是头发的动骨仍然在飘动,这会浪费额外的CPU性能
动骨优化/合并相关:
动骨参数解释:https://creators.vrchat.com/avatars/avatar-dynamics/physbones/
当A对象有a1,a2,...an等若干个子对象,并且这些子对象拥有参数完全相同的VRC Phys Bone组件时,可以复制一个组件到A上,并删除所有子对象上的组件,可以大幅降低模型性能统计中PHYSBONE组件的数量(同时也能防止超过256的硬上限)
*这并不会影响动骨的实际运动表现
以下内容写于MA 1.13.4版本,在后续版本中预计会优化:
MA目前的反应式组件(Reactive Compoents)生成的动画器存在一些性能问题,在大量使用反应式组件后,编译生成的动画器中会为每个对象开关/形态键设置都单独创建一个AAP变量(参见vrc school文档),还会单独生成一个动画层去控制这个变量和对象的状态,极端情况会导致在一个动画器里出现几百个动画层的情况,这会大量消耗CPU时间导致游戏帧率爆降.
*但如果只使用了几个反应式组件作为基本开关来用,则无需担心这个额外的性能消耗
该情况已反馈给MA作者,预计将在1.15版本中优化反应式组件的动画器生成逻辑,现版本可以尝试使用AAO Trace And Optimize组件来优化部分的动画器逻辑(并不完美,脑测可能只降低了30~40%的额外性能损耗,仍然会轻微掉帧)