# 原作者按键表 → 桌宠菜单 对照 桌宠不是我们自己瞎编动作,而是**照作者本人的设计**来的。 原始素材里有两份「作者说怎么用」的文件(`DS鲸鱼娘/` 目录): | 文件 | 里面是什么 | | --- | --- | | `按键表.txt` | 作者写的中文按键说明(哪个键干什么、什么前置条件) | | `extracted/*/c_0120.vtube.json` | VTube Studio 的模型配置,**52 条热键**的原始定义(名字 / 类型 / 文件名 / 按键) | `c_0120.vtube.json` 里的 `Action` 字段把动作分成三类,我们的菜单就是按它分页的: | 作者的写法 | 含义 | 桌宠里放哪 | | --- | --- | --- | | `ToggleExpression` | 开关式:开着就一直挂 | 「装饰」或「场景」页(**一直存在**,再点一下收) | | `TriggerAnimation` | 一次性动画:播完就结束 | 「动作」页(**演一次就消失**) | | `RemoveAllExpressions` | 按键归位:全部清掉 | 「设置」页的**一键重置所有状态** | `DeactivateAfterKeyUp: true` 的那几条(点菜按下 / 画笔 / 挤)是作者设计的 **「按住左键时才有」**——所以我们把「点菜按下 + 画笔」当成常态道具(IDLE_PROPS), 跟人家按住鼠标时的样子一致。 --- ## 1. 一次性动作(作者的 TriggerAnimation + 动画类热键) | 原作者热键 | 名字 | 素材 | 桌宠菜单 | 备注 | | --- | --- | --- | --- | --- | | `Del+Numpad7` | 喵喵手~喵~动画 | 喵喵手~喵~动画.exp3.json | 动作 · 喵喵手 | 作者用的是表情开关,我们做成一次性 | | `Del+Numpad7`(按键表) | 猫爪动画 | motions/idle.motion3.json | 动作 · 猫爪摆手 | 就是那套「猫爪摆手 + 爱心」动画,**只演一遍**,绝不常驻 | | `Del+Numpad9` | 双手比耶 | 双手比耶.exp3.json | 动作 · 双手比耶 | | | `Del+Numpad8` | 冒爱心动画 | love.exp3.json | 动作 · 冒爱心 | 用作者指的那个 `love` 表情,不是「心跳」 | | `Alt+C` | 心跳 | 心跳.exp3.json | 动作 · 心跳 | | | `左键按住` | MoeMoeQ~ | 挤.exp3.json | 动作 · MoeMoeQ~ | | | `E` | 橡皮 | 橡皮.exp3.json | 动作 · 橡皮擦 | | | `Ctrl+Z` | 撤回 | 撤回.exp3.json | 动作 · 撤回 | | | `Del+Numpad2 → 3` | 蛋包饭模式 + 挤番茄酱 | 蛋包饭.exp3.json + motions/番茄酱.motion3.json | 动作 · 蛋包饭 | 主人指定:**挤完酱就消失**(本来是常驻模式,这里按主人要求改成一次性) | | `Del+Numpad5` | 自拍动画 | motions/自拍.motion3.json | 动作 · 自拍 | **前置:手机模式**(没掏出手机会自动先掏出来) | | `Del+Numpad6` | 快速自拍 | motions/自拍简单.motion3.json | 动作 · 快速自拍 | 同上 | | `左键点她` | 鲸鱼喷水 | motions/喷水.motion3.json | 动作 · 鲸鱼喷水 | 作者把它绑在左键上:所以我们戳她的时候也会偶尔喷一下水 | | `RightControl+PageUp` | 泡泡糖 | chuipaopao.motion3.json | ❌ 不上 | 主人点名不要 | | `RightControl+Del` | 重锤出击 | aidale.motion3.json | ❌ 不上 | 主人点名不要(就是「大锤砸」) | ## 2. 装饰品(一直存在) | 原作者热键 | 名字 | 桌宠菜单 | | --- | --- | --- | | `Alt+J` / `Alt+K` / `Alt+L` / `Alt+Z` | 圆眼镜 / 方眼镜 / 椭圆眼镜 / 墨镜 | 装饰(同类互斥:一次只戴一副) | | `Alt+V` / `Alt+B` / `Alt+N` | 猫猫贴纸 / 兔兔贴纸 / 蝴蝶结贴纸 | 装饰(同类互斥:一次只贴一张) | | `Alt+X` | 情绪花花 | 装饰 | | `Alt+2` | 发型切换 → 单边马尾 | 装饰 · 单边马尾 | | `Alt+3` | 摘掉发箍 | 装饰 · 发箍 | | `Alt+1` | 头顶鲸 | 装饰 · 头顶鲸鱼(在头上,不在桌上) | ## 3. 场景摆设(一直存在) | 原作者热键 | 名字 | 桌宠菜单 | 备注 | | --- | --- | --- | --- | | `Alt+4` | 深色桌布 | 场景 · 深色桌布 | | | `Del+Numpad1` | 鲸鱼放桌上 | 场景 · 鲸鱼放桌上 | | | `*+3` | 使巴菲消失(= 巴菲开关) | 场景 · 桌面巴菲 | | | `*+4` | 桌面粉魔爪 | 场景 · 粉魔爪 | | | `*+5` | 桌面粉魔爪变白 | 场景 · 白魔爪 | **前置:粉魔爪**(会自动补上,不会出现「点了没反应」) | | `Del+Numpad4` | 自拍手机&放下 | 场景 · 掏出手机 | 这就是作者的**手机模式**;自拍类动作的前置 | | `Numpad0+2` | 手机换色 | 场景 · 手机换色 | **前置:手机模式** | ## 4. 表情(作者的表情热键) `Alt+Q/W/E/R/T/Y/U/I/O/P/S/D/F/G/H/J/K/L/Z/X/C/V/B/N/M` 一共 24 个。 桌宠的「表情」页按**表情**去重(一个表情只出一个按钮,例如「星星眼」同时对应 好奇/兴奋/凑近看,就只出现一次),点一下她会说一句对这个表情的话。 | 作者有、桌宠不上 | 原因 | | --- | --- | | 呆呆眼 | 主人点名不要 | | 晕晕 | 主人点名不要(圈圈眼) | **闭眼口水**(`Alt+T`)是作者的正经表情,桌宠保留。 ## 5. 归位 | 原作者热键 | 桌宠 | | --- | --- | | `PageDown+PageUp` 按键归位(`RemoveAllExpressions`) | 设置页 · **一键重置所有状态** | 重置换算成一件事:**回到「本子 + 笔 + 平常脸」**—— 所有道具(含手机、魔爪、桌布、贴纸、眼镜)全部摘掉,所有表情归零, 干活轮播也停掉(否则几秒后又被推回工作脸,看起来就像「重置没生效」)。 --- ## 冲突与覆盖是怎么避免的 1. **一层只有一个写者**:`applyRig` 里每个参数都过一遍「独占裁决」, 同一帧同一个参数只会有一个来源(表情优先于道具), 有冲突时记在 `state.exclusive.skipped` 里,可以直接看到。 2. **动作自带表情时不加压脸**:`mood: null` 的动作(自拍、喷水、番茄酱、猫爪动画…) 把脸交还给动画本身,不会再盖一张表情上去——这就是「不要覆盖」。 3. **互斥分组**:眼镜 `glasses`、贴纸 `sticker`、桌布 `cloth`、发型 `hair`、魔爪 `claw`, 同组只留一个。 4. **前置依赖**:白魔爪 → 粉魔爪;手机换色 / 自拍 / 快速自拍 → 手机模式。 点的时候自动补前置,不会出现「素材没亮所以看不出效果」。 5. **一次性动作只走 override 层**:不写进 `userProps`,所以到点必然自己消失, 不会出现主人抱怨过的「蛋包饭永久停在桌上」。