跳转至

name: vrchat-gogo-loco-integration category: gaming description: GoGo Loco (NSFW Locomotion) 整合到已有 VRChat Avatar 的完整流程 — 基于 Modular Avatar 方案,含浮空/飞行/姿势控制。Cazalis zigai 项目专用。 trigger: 用户要求加飞行功能、浮空调节、GoGo Loco、NSFW Locomotion、姿势菜单


GoGo Loco 整合到 VRChat Avatar

背景

GoGo Loco(现已更名为 NSFW Locomotion)是 VRChat 最流行的动作/姿势/飞行系统,功能包括: - 飞行(上升/下降/前后移动) - 浮空高度调节(微调 Y 轴位置) - 姿势(蹲/趴/躺/坐/T-Pose 等) - 骨盆调整(前后/左右移动) - 世界调整(大小缩放)

已下载文件

文件 路径 说明
GoGo Loco MA v0.0.12 /root/data/disk/VRChat-Assets/GoGoLoco/fr.spokeek.gogoloco-ma-0.0.12.unitypackage 推荐 — Modular Avatar 版本,自动合并
NSFW Locomotion v1.8.3 Full /root/data/disk/VRChat-Assets/GoGoLoco/NSFW.Locomotion-v1.8.3-NSFW-1.1.1-Full.unitypackage 完整版(需手动合并)
NSFW Locomotion v1.8.3 Poses /root/data/disk/VRChat-Assets/GoGoLoco/NSFW.Locomotion-v1.8.3-NSFW-1.1.1-Poses-Only.unitypackage 仅姿势版

方案选择

⭐ 方案 A:Modular Avatar 版本(强烈推荐)

为什么推荐: - Cazalis 项目 FX Controller 已有 22 个 Layer(含 4 个 4S_ 溶解层) - 手动合并 FX Controller 风险极高 — 可能破坏现有溶解系统 - MA 版本自动合并 Layer、参数、菜单,零冲突 - 安装后 MA 自动在构建时合并,不污染原始 FX Controller

前提条件: - 项目已安装 Modular Avatar(nadena.dev/modular-avatar) - 如果没装,需要先通过 VCC (VRChat Creator Companion) 安装 **: - 项目已安装 Modular Avatar(nadena.dev/modular-avatar) - 如果没装,需要先通过 VCC (VRChat Creator Companion) 安装### 方案 B:手动合并(不推荐,仅备用)

手动合并需要: 1. 将 GoGo Loco 的 FX Layer 逐个复制到 Cazalis FX Controller 2. 合并 VRCExpressionParameters(注意 256 bit 参数预算) 3. 合并 VRCExpressionsMenu(添加子菜单入口) 4. 修改 Locomotion Layer 引用

风险: - 22 个已有 Layer + GoGo Loco 约 6-8 个 Layer = 可能超出 Layer 数量限制 - 参数预算可能超 256 bit - 手动操作容易漏步骤

方案 A 操作步骤(Modular Avatar)

Step 0: 前置检查

  • 确认项目已安装 Modular Avatar
  • 在 Unity Package Manager 或 VCC 中查看
  • 如果没有:通过 VCC 添加 nadena.dev/modular-avatar
  • 确认当前 FX Controller Layer 数量(应 ≤ 22)
  • 确认当前参数预算使用量(应 < 200 bit,为 GoGo Loco 留空间)
  • 备份当前项目(或 Git commit)

Step 1: 导入 GoGo Loco MA unitypackage

  1. 在 Unity 中:Assets → Import Package → Custom Package...
  2. 选择 /root/data/disk/VRChat-Assets/GoGoLoco/fr.spokeek.gogoloco-ma-0.0.12.unitypackage
  3. 全选导入(Import All)

Step 2: 将 GoGo Loco Prefab 拖入场景

  1. 在 Project 窗口搜索 GoGo LocoNSFW Locomotion
  2. 找到 MA 版本的 prefab(通常在 Assets/GoGo Loco/Prefabs/ 或类似路径)
  3. 将其拖为 Cazalis zigai 根节点的子对象
  4. Hierarchy: Cazalis zigai → 右键或拖入
  5. prefab 名称类似 GoGoLoco_MANSFWLoco_MA

Step 3: 配置 Modular Avatar 组件

拖入后,MA 自动处理以下合并: - Merge Animator — GoGo Loco 的 FX Layer 自动合并到 Cazalis FX Controller - Merge Parameter — GoGo Loco 的参数自动合并到 Cazalis Parameters - Menu Installer — GoGo Loco 的菜单自动安装到 Cazalis Menu

检查项: - [ ] GoGo Loco prefab 上有 Merge Animator 组件,且 Layer Type = FX - [ ] GoGo Loco prefab 上有 Menu Installer 组件 - [ ] Menu InstallerInstall Target 留空(安装到根菜单)或指向 Cazalis 菜单 oco prefab 上有 Menu Installer 组件 - [ ] Menu InstallerInstall Target 留空(安装到根菜单)或指向 Cazalis 菜单### Step 4: 验证参数预算

GoGo Loco 约使用 ~80-100 bit 参数。Cazalis 已有参数需确认总量不超 256 bit。

检查方法: 1. 选中 Cazalis zigai 根节点 2. 查看 VRCAvatarDescriptor → Expressions 3. 或在构建时查看 SDK 的参数预算警告

  • 参数预算 ≤ 256 bit(含 GoGo Loco 新增参数)

Step 5: Play Mode 测试

  1. 进入 Play Mode
  2. 通过 Radial Puppet / Toggle 测试以下功能:
  3. 飞行开关(Fly Toggle)
  4. 浮空高度调节(Height Offset 滑条)
  5. 姿势切换(蹲/趴/躺等)
  6. 溶解换衣功能不受影响(切换 taozhuang 参数后衣服正常溶解)
  7. 飞行状态和衣服切换不冲突

Step 6: 上传验证

  • SDK Build Panel 无错误
  • 参数预算不超限
  • 上传后游戏内测试飞行和换衣

⚠️ 注意事项

1. 参数预算

Cazalis 项目已有参数(taozhuang Int=8bit + 其他),GoGo Loco 新增约 80-100 bit。总预算 256 bit,需确认不超。

2. Layer 数量

VRChat 对 FX Layer 数量没有硬性限制,但 Layer 过多会影响性能。Cazalis 已有 22 层 + GoGo Loco 约 6-8 层 = ~30 层,应在可接受范围。

3. 飞行与换衣的交互

飞行通过根骨骼位移实现,换衣通过材质溶解+m_IsActive 实现。两者控制不同属性,理论上不冲突。但需测试: - 飞行状态下换衣,溶解动画是否正常 - 换衣状态下起飞,衣服状态是否保持

4. Modular Avatar 构建时行为

MA 在 SDK Build 时执行合并: - Editor 中看到的 FX Controller 不包含 GoGo Loco 的 Layer - 构建后的临时 Controller 才包含合并结果 - 如果需要调试,可以在 Temp/ 目录找到构建产物

5. 如果不想用 MA(方案 B 简要步骤)

  1. 导入 NSFW Locomotion Full unitypackage
  2. 打开 GoGo Loco 的 FX Controller,记录所有 Layer
  3. 在 Cazalis FX Controller 末尾逐个添加这些 Layer
  4. 将 GoGo Loco 的参数添加到 Cazalis VRCExpressionParameters
  5. 在 Cazalis VRCExpressionsMenu 添加 GoGo Loco 子菜单入口
  6. 替换 Locomotion Layer 的 Animator 为 GoGo Loco 版本

方案 B 风险极高,不推荐用于已有复杂 FX Controller 的项目。 o 子菜单入口 6. 替换 Locomotion Layer 的 Animator 为 GoGo Loco 版本

方案 B 风险极高,不推荐用于已有复杂 FX Controller 的项目。## 浮空高度调节原理

GoGo Loco 的浮空/飞行功能核心原理:

Float 参数 (Go/WorldAdjust/HeightY 等)
    → Animator Layer 根骨骼 Y 轴位移
    → 游戏内表现为模型上浮/下降
  • 高度调节:通常是一个 Radial Puppet(滑条),控制根骨骼 Y 位移 -1~+1 米
  • 飞行:Bool 开关 + Float 上下速度参数,控制根骨骼 Y/Z 位移
  • 这些都是 Avatar 3.0 本地位移,别人看你也是浮空的(参数同步)

相关技能

  • [[vrchat-unity-mcp]] — Unity MCP 远程操作
  • [[cazalis-dissolve-system-v3]] — Cazalis 溶解换衣系统