mcpField
V
vrc-avatars

vrc-avatars

github.com/alexanderstephenthompson创意与媒体37 次安装
代码仓库

关于 vrc-avatars

使用 Unity 和 VRChat SDK 构建与优化 VRChat 虚拟形象的技能,涵盖形象设置、表情、动画和性能限制,并说明 Quest 的单独适配要求。

主要功能

  1. 01Avatar 3.0 设置
  2. 02表情菜单与参数
  3. 03性能优化
  4. 04PhysBones 与触碰器
  5. 05Animator 控制器指导

适用场景

  1. 01按性能目标规划虚拟形象
  2. 02设置表情菜单和同步参数
  3. 03准备单独的 Quest 形象构建
  4. 04检查动画与 PhysBones 行为

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alexanderstephenthompson/claude-hub --skill vrc-avatars

安装后在 Claude Code 中输入/vrc-avatars确认已加载。

附带文件references/avatar3-setup.mdassets/avatar-performance-limits.md

详细介绍

VRChat Avatars 技能

版本: 1.0 技术栈: VRChat SDK、Unity

VRChat 的性能评级系统意味着,大多数玩家的安全设置会自动隐藏评级为“Poor”或“Very Poor”的 Avatar——你精心制作的 Avatar 会变成看不见的机器人轮廓。材质过多会破坏批处理。骨骼过多会消耗 CPU。混用 Write Defaults 会导致动画行为难以预测。而 Quest 的限制严格得多,需要单独构建,不能只用同一个 Avatar 减少多边形数量。

从一开始就将 Avatar 控制在 Good 评级限制内,其他玩家才能真正看到它。参数预算和 PhysBone 限制并非随意设定——它们决定了 Avatar 是可见还是不可见。


范围与边界

本技能涵盖:

  • Avatar 3.0 设置
  • 表情菜单和参数
  • 性能优化
  • PhysBones 和接触
  • Animator 控制器

交由其他技能处理:

  • unity-csharp:C# 模式和性能优化

适用场景: 构建或优化 VRChat Avatar。


核心原则

  1. 性能评级很重要 — Poor Avatar 会被屏蔽。
  2. 兼容 Quest — 需要单独构建,限制也更严格。
  3. 参数预算 — 同步参数最多 256 位。
  4. PhysBone 限制 — 骨骼越多,开销越大。
  5. 在设备上测试 — 镜像和性能表现会有所不同。

性能限制

Quest(目标:Good)
指标GoodMediumPoor
三角形10,00015,00020,000
材质124
骨骼90150256
PhysBones068
PC(目标:Good)
指标GoodMediumPoor
三角形32,00070,000-
材质4816
骨骼150256400
PhysBones163264
PhysBone 碰撞体81632

模式

层级结构
Avatar Root
├── Armature
│   └── Hips
│       ├── Spine → Chest → Neck → Head
│       │                         ├── Eye_L, Eye_R
│       │                         └── Hair bones
│       ├── Leg_L → Knee → Foot → Toe
│       ├── Leg_R → ...
│       └── (Shoulder → Arm → Elbow → Hand → Fingers)
├── Body (SkinnedMeshRenderer)
├── Clothes (optional separate mesh)
└── Accessories
参数预算(256 位)
Type        Bits    Common Uses
─────────────────────────────────
Bool        1       Toggles
Int         8       Outfit index, state machines
Float       8       Blend shapes, radial controls

Example Budget:
- VRCEmote (int)         8 bits
- VRCFaceBlendH (float)  8 bits
- VRCFaceBlendV (float)  8 bits
- Custom toggles ×10     10 bits
- Outfit selector        8 bits
- Remaining             214 bits
表情菜单结构
Main Menu
├── Expressions
│   ├── Happy
│   ├── Sad
│   └── Surprised
├── Toggles
│   ├── Hat On/Off
│   ├── Glasses On/Off
│   └── Jacket On/Off
├── Outfits (Radial)
│   └── Select 1-4
└── Settings
    ├── PhysBone Intensity
    └── Fallback Toggle
Write Defaults 模式
Choose ONE approach project-wide:

Write Defaults ON:
- Simpler setup
- Properties return to default when state exits
- Can cause conflicts between layers

Write Defaults OFF (Recommended):
- More control
- Must explicitly set all animated properties
- Each state fully defines its output

反模式

反模式问题修复方法
材质过多破坏批处理,影响评级合并纹理,使用图集
混用 Write Defaults行为未定义选定一种并保持一致
PhysBones 未优化性能开销减少数量,简化骨骼链
没有备用 Avatar被屏蔽的用户会看到机器人设置一个性能良好的备用 Avatar
本地专用参数设为同步浪费同步预算正确标记本地专用参数
Quest 上使用完整身体网格三角形数量过多使用单独的 Quest 网格

检查清单

设置
  • 骨架遵循 humanoid 结构
  • 已配置 Avatar descriptor
  • 已配置眼动追踪(如适用)
  • 已配置 Viseme
  • 已正确设置视点位置
性能
  • 三角形数量符合目标评级
  • 材质数量已降至最低(使用图集)
  • 骨骼数量符合限制
  • PhysBones 已优化
  • 已上传 Quest 版本(如适用)
表情
  • 表情菜单结构清晰
  • 参数符合 256 位预算
  • Write Defaults 设置一致
  • 已配置手势层
  • 已测试开关
质量
  • 默认姿势下没有穿模
  • PhysBones 表现自然
  • 表情效果正确
  • 已在 VRChat 中测试(而不只是 Unity)

参考资料

  • references/avatar3-setup.md — Avatar 3.0 配置指南

资源

  • assets/avatar-performance-limits.md — Quest 和 PC 性能限制

评论

支持 Markdown