教程教程阅读约 5 分钟
用 Mixamo 做 VRChat 模型: 绑骨、添加 Mixamo 动画并上传
带手指给你的模型绑骨,在 Unity 中配合 VRChat SDK 设置并上传,再添加 Mixamo 的舞蹈、表情动作和姿势。
Standard Skeleton65 根骨骼
每根手指都有
3 Chain Fingers49 根骨骼
无名指带动中指和小指
2 Chain Fingers41 根骨骼
一条骨骼链带动四根手指
No Fingers25 根骨骼
整只手作为一个整体运动
Mixamo 是给 VRChat 模型绑骨最常用的方法之一。它免费,几分钟就能完成,而且 Unity 能毫不费力地把它的骨架识别为 Humanoid。它做不了的是所有 VRChat 特有的部分:口型同步、眼球运动,以及把动画放进游戏内菜单。这篇教程覆盖完整的流程。
你需要什么
| 项目 | 说明 |
|---|---|
| 一个模型 | 一个人形角色,FBX 或 OBJ 格式,摆成 T-pose,手指张开 |
| Mixamo | 有 Adobe ID 即可免费使用 |
| Unity | 2022.3.22f1,也就是 VRChat 使用的版本。不要把项目升级到 Unity 6。 |
| VRChat Creator Companion | 用来创建项目并添加 Avatars SDK(撰写本文时为 3.10.6) |
| 一个 VRChat 账号 | 信任等级达到 New User 或以上才能上传。Visitor 只能使用 Build & Test。 |
1. 在 Mixamo 中带手指绑骨
在 mixamo.com 上传模型,放好八个标记点(下巴、手腕、手肘、膝盖、裆部),并在 Skeleton LOD 中选择 Standard Skeleton (65)。只有这个选项的每根手指都有关节。上传的详细步骤见我们的 Mixamo 分步教程。
以 T-pose 下载,格式选 FBX for Unity,并选择 With Skin。
下巴手腕手腕手肘手肘裆部膝盖膝盖2. 在 Unity 中设置
- 在 Creator Companion 中新建一个 Avatar 项目并打开。
- 把 FBX 拖进 Project 窗口。在 Inspector 的 Rig 标签页中,把 Animation Type 设为 Humanoid,Avatar Definition 设为 Create From This Model,然后点击 Apply。
- 点击 Configure。每个骨骼槽位都应该是绿色的。VRChat 需要 Neck 和 Chest;Mixamo 的 Spine、Spine1 和 Spine2 通常会成为 Spine、Chest 和 Upper Chest。如果 Unity 提示“Character not in T-Pose”,就使用 Pose、Enforce T-Pose。
- 在 Materials 标签页中提取纹理和材质,这样你才能编辑它们。
3. 添加 Avatar Descriptor
把模型拖进场景,添加一个 VRC Avatar Descriptor 组件。
- View Position
- 把它移到两眼之间。
- Lip Sync
- Mixamo 不会添加嘴型。如果你的模型有 viseme 混合形状,就使用 Viseme Blend Shape。Mixamo 的骨架没有下颌骨骼,所以不能选 Jaw Flap Bone。
- Eye Look
- 需要你的模型本身带有眼睛骨骼或眨眼形状;Mixamo 的 Auto-Rigger 绑出来的通常两者都没有,所以保持关闭。
4. 构建并上传
打开 VRChat SDK、Show Control Panel,登录后进入 Builder。修复验证列表中列出的所有问题,然后点击 Build & Publish。PC 模型想要评为 Good,面数要控制在 70,000 个三角形以内。Quest 和手机需要单独构建,并上传到同一个模型上,要求也严格得多:评为 Good 大约要在 10,000 个三角形以内。
5. 添加 Mixamo 的舞蹈、表情动作和姿势
准备动画
- 在 Mixamo 上加载你的模型,挑选一个动画。如果是会到处走动的舞蹈,就勾选 In Place。
- 下载 FBX for Unity,选择 Without Skin,每秒 30 帧。
- 在 Unity 中选中这个 FBX。Rig 标签页:选择 Humanoid,并把 Avatar Definition 设为 Copy From Other Avatar,指向你的模型。
- Animation 标签页:凡是循环的动画都勾选 Loop Time,并对根骨骼的旋转和位置勾选 Bake Into Pose,这样模型就不会漂移。
- 选中 FBX 里面的片段,按 Ctrl+D 复制一份。这个副本才是你可以编辑和使用的。
放进 Action 层
表情动作和舞蹈放在 Action 层中,这个层的权重默认为零,直到有东西把它调高。
- 从 Packages、com.vrchat.avatars、Samples、AV3 Demo Assets、Animation、Controllers 中复制 vrc_AvatarV3ActionLayer,并把这个副本指定给 Descriptor 的 Action 槽位。
- 打开它,把你的片段拖进其中一个表情动作状态,替换掉示例动画。
- 这些状态已经会调高该层的权重,并把身体交给动画控制(Playable Layer Control 和 Tracking Control)。如果你自己建状态,要把这两项都加上。
- 内置的 VRCEmote 参数(1 到 16)决定播放哪个表情动作。在 Expressions Menu 中添加一个 Button,把 VRCEmote 设为你的表情动作的编号。
自定义姿势和 AFK
姿势其实就是一个只有一帧、持续保持的动画。把姿势做成只有一个关键帧的片段(取自 Mixamo 动画中的某一帧,或者手动摆好),然后像表情动作一样从 Action 层播放。如果要做 AFK 姿势,就用内置的 AFK 参数来驱动一个状态。
如果你不想自己搭建动画层,GoGo Loco(通过 Creator Companion 安装,配合 VRCFury 或 Modular Avatar)一个包就能提供坐、躺、各种姿势、AFK 和身高调节。
问题修复
| 问题 | 解决办法 |
|---|---|
| 游戏里手指不动 | 用 Standard Skeleton 重新绑骨,并把手指分开;在 Configure 中检查双手 |
| “Character not in T-Pose” | Configure、Pose、Enforce T-Pose |
| 表情动作一直不播放 | 除非有状态用 Playable Layer Control 调高权重,否则 Action 层一直为零 |
| 跳舞时模型滑动或飘起来 | 对根骨骼启用 Bake Into Pose,或在 Mixamo 上勾选 In Place |
| 手臂穿进身体 | 下载前在 Mixamo 上调高 Character Arm-Space |
| 别人在 Quest 上看到的是替代模型 | 按移动端限制做一个 Android 构建,并上传到同一个模型上 |
常见问题
Mixamo 会为 VRChat 映射手指吗?
会,前提是你选了 Standard Skeleton (65),而且网格中的手指是分开的。这样 Unity 就会映射每只手的全部五根手指。3-chain 和 2-chain 选项会留下一些空的手指槽位,No Fingers 则一根都没有。VRChat 并不强制要求手指骨骼,但没有手指骨骼,你的手势就显示不出来。
怎样把 Mixamo 角色导入 VRChat?
从 Mixamo 下载 FBX for Unity,选择 With Skin。在 Creator Companion 的模型项目中导入 FBX,把 Rig 设为 Humanoid,添加 VRC Avatar Descriptor,设置视点位置,然后在 VRChat SDK 面板中点击 Build & Publish。
怎样给我的 VRChat 模型添加 Mixamo 动画?
用 Without Skin 下载动画,把它的 Rig 设为 Humanoid 并选择 Copy From Other Avatar,复制这个片段,再把它放进 vrc_AvatarV3ActionLayer 副本中的一个表情动作状态。最后添加一个菜单按钮,把 VRCEmote 设为这个表情动作的编号。
怎样把 Mixamo 动画转换成 VRChat 能用的?
没有什么需要转换的。在 Unity 中把动画 FBX 设为 Humanoid,它就能在任何人形模型上播放,包括不是用 Mixamo 绑骨的模型。
怎样用 Mixamo 制作自定义 VRChat 姿势?
从 Mixamo 动画中取出你想要的那一帧,做成一个单帧片段,再像表情动作一样在 Action 层中保持它。GoGo Loco 是现成的替代方案,提供坐、躺和 AFK 姿势。
用 Mixamo 做的 VRChat 模型能上传吗?
能。Mixamo 的绑骨可以作为 Humanoid 模型使用。上传需要一个信任等级达到 New User 或以上的 VRChat 账号;Visitor 可以用 Build & Test 在本地测试。
除了 Mixamo,还有别的方法给 VRChat 模型绑骨吗?
有:Blender 的 Rigify、AccuRIG、Auto-Rig Pro,或者 afk.ai 这样的 AI 绑骨工具,它还能给奇幻生物绑骨。请看不用 Mixamo 怎样给 VRChat 模型绑骨。
给你的模型绑骨、做动画
AI 在你的浏览器中为它绑骨,然后数百个动画就能在它身上播放。下载一个 GLB,任何引擎都能用。