参数编辑器用于设置捕捉输入、权重、输入输出范围和响应曲线,决定捕捉数据如何驱动 Cubism 参数
Persona 首先照着模型自己的 .vtube.json 走,所以一个在 VTube Studio 里调好的模型加载进来就是它原本的样子。这个编辑器是在那之上改,改动写进模型旁边的附属文件,.vtube.json 本身不会被动
打开编辑器
选中一个 Live2D 图层,在它的详情里展开参数。这是模型详情里最靠下的区块,默认收起
本页介绍 Live2D 的捕捉参数绑定。VRM 虚拟形象 的面部捕捉直接驱动预设表情与人形骨骼;控制器则使用虚拟绑定目标
区块够宽时左右分栏:左边是输入清单,右边是选中那条绑定的设置。窄了就上下堆叠
输入清单
左边列出每一个可用的输入,而不只是已经绑上的——可直接为尚未绑定的输入添加参数。它们按类别分组:头部、眼睛、眉毛、嘴巴、手部、鼠标,接着是完美同步,也就是 52 个原始 ARKit 通道,最后是每份手柄配置各自的分组
手部来自摄像头的手部追踪,见 摄像头追踪;嘴巴里还有麦克风给出的 Voice* 输入,见 口型同步
鼠标是系统光标的位置,光标 X 和 光标 Y(MousePositionX、MousePositionY,沿用 VTube Studio 的名字)。取值是光标所在那块屏幕上的 −1..1,向右为正、向上为正。它和面部捕捉无关,也不受捕捉总开关影响,所以摄像头关着照样能驱动眼睛、头部或者桌宠的爪子。只有位置——按键和按键组合需要一个 Electron 拿不到的全局输入钩子
顶部的搜索输入同时匹配输入的标签、它的 id、绑定自己的名字和它驱动的参数
每一行是标签在上、原始 id 在下。标签是给人读的,而 .vtube.json、.cdi3.json 和 插件 API 使用的都是 id——点一下 id 就能复制。名字下面那条电平跟着这个输入的实时数值走
一个输入下面挂着它驱动的参数,行上可能带这些标记:
| 标记 | 含义 |
|---|---|
| 曲线 | 这条绑定带一条响应曲线 |
| 物理 | 物理演算也会写这个参数 |
| +N | 这条绑定还汇总了另外 N 个输入 |
| 替换 ⋯ | 选中它会把某条已有绑定移过来,而不是新建 |
添加参数打开参数选择器。参数名和它们的分组来自模型的 .cdi3.json;模型没有这个文件时列表是空的,因为 Persona 无从知道参数该叫什么。选择器里的行还会标出驱动物理和物理两种状态
正在被别的绑定驱动的参数不会被禁用。行上写着现在的驱动者,选它是把那条绑定移过来,而不是再建一条——避免两条规则同时写入同一参数时互相覆盖。参数原有的映射(输出范围、平滑、曲线、作者起的名字)都留着,换掉的只有输入和输入范围
绑定详情
右边是选中那条绑定的全部设置
顶部一行是这条绑定的走向:输入 → 参数。参数那一半可以点开,也就是更改参数——换一个目标参数,而这条绑定调好的东西全都留着:输入、输入范围、平滑、曲线和名字。只有输出范围跟着换,因为它的单位属于原来那个参数。选到一个已经被别的绑定驱动的参数,同样是把那条绑定移过来
参数 id 在这个模型上不存在时,行上标着缺失,下面也会红字写明这条绑定不会产生任何效果——换了模型之后常会遇到
输入与权重
组合输入列出汇总进这条绑定的每一个输入,各带一个 × 权重。它们相加之后才进入后面的映射,所以一条绑定可以组合多路信号。权重在输入框失去焦点时提交——提交后会保存到磁盘
某个输入在这一帧缺席时按 0 算;只有一个输入都没有时,这条绑定才会被跳过。这正是 blink × −0.8 + wide × 0.8 这类写法成立的原因,公式里的常数由输入范围吸收掉
第一个输入决定这条绑定挂在清单的哪一行下面。删掉第一个会把它挪到下一个输入名下,而最后一个删不掉
范围
输入起点/输入终点是这条绑定关心的那一段输入,输出起点/输出终点指定参数的输出范围
调整输入范围可以改变表情的灵敏度。例如,将 MouthSmile 的 0.2–0.8 映射到 −1..1,输入达到 0.8 时输出即达到上限。对调输出上下限可反转映射
新建的绑定从这个输入自己的量程开始,而不是一律 0..1——头部角度的单位是度,ARKit 通道是 0..1,其余无量纲
平滑
0–100,数值直接显示在滑块上,也可以输进去。它是一条 One Euro 滤波器的系数,不是简单的插值:动得快时跟得紧,静止时抖得少
响应曲线
默认的映射是一条直线。添加响应曲线在输入与输出之间插进一条可以自己画的曲线,移除曲线把它去掉
把曲线手动拉回一条直线,输出和没有曲线时完全一样,但这条绑定仍然带着曲线——只有移除曲线才真的把它去掉,行上的曲线标记也才会消失
画布两个轴都归一化到 0..1,左边和下面标着这条绑定的两个范围,所以你看到的形状就是「输入这一段如何映到输出这一段」。曲线上还有一个点,标出当前输入落在哪里
单击添加节点,拖动移动,右键删除。两端的节点只能上下动。选中一个节点后,上面的 X/Y 数字框用轴自己的单位直接输入——一段平台该停在哪个值,输进去比拖着试准
段的类型
选中的节点决定从它向右的那一段怎么走:
| 类型 | 走法 |
|---|---|
| 线性 | 直线 |
| 阶梯 | 保持在这个节点的值,直到下一个节点才跳过去 |
| 反向阶梯 | 立刻跳到下一个节点的值,然后保持 |
| 贝塞尔 | 三次贝塞尔。拖动区段两端的方形控制柄调整形状 |
最后一个节点右边没有段,所以它的类型按钮是禁用的
预设
预设里是几种常见形状,作为拖动的起点:线性、缓入、缓出、S 曲线、阈值、阶梯
物理演算
模型的 .physics3.json 会告诉编辑器哪些参数是物理演算的输入、哪些是它的输出:
- 驱动物理——物理拿这个参数当输入。绑定它是正常的,很多模型的头部旋转本来就是这么经过物理的
- 物理——物理演算自己会写这个参数。再绑一条捕捉进去,两者会互相冲突,详情里也会红字提醒
实时数值与手动调整
捕捉开着时,每个输入行上的电平和曲线上的那个点都跟着实时数值走
电平下面还有一条参数值,读的是这个参数此刻在模型上的实际取值——已经算完动作、表情和物理演算之后的那个值,画在输出范围上。它和曲线上那个点对不上,就说明还有别的东西也在写这个参数
拖动电平可以把这个输入按在某个值上,摄像头关着也能把模型摆出姿势来调曲线。松手就交还给捕捉;一直按住不动也会在几秒后自动过期,所以关掉窗口、重新加载或者一次没有收尾的拖动都不会把模型卡在那儿
撤销与重做
撤销是 Cmd/Ctrl+Z,重做在它上面再加一个 Shift
一次拖动算一步。曲线、范围、权重、输入的增删和绑定本身的增删都在同一条历史里。这条历史属于参数区块——焦点在别处时,同样的快捷键回到场景的撤销
保存在哪里
改动写进模型旁边的 <model>.persona.json,和 记住表情 用的是同一个附属文件。绑定永远不会写回 .vtube.json——该格式没有用于保存响应曲线或输入权重的字段
读取的优先级是 .persona.json → .vtube.json → 内置默认值。一旦附属文件里有了绑定,会优先使用其中的绑定,不会和 .vtube.json 合并;此后你在 VTube Studio 里的改动不再影响这个模型,区块顶部也会这么写着
从 .vtube.json 导入
第一次读取时,模型 .vtube.json 里的 ParameterSettings 会被整条搬进来,包括作者给每条绑定起的名字。名字可以改,改完存进附属文件;清空它就退回参数自己的名字
输入名按三步解析:先是 VTube Studio 自己的词汇表,然后是原始 ARKit 形状名,最后是 VBridger 把 Left/Right 缩成 L/R 的那套写法。照 VBridger 绑的模型因此不会掉行——EyeSquintL、MouthDimpleR、MouthUpperUpL 这些都认得出来
VBridger 自己那几个合成参数不是输入,而是在导入时展开成 VBridger 自己的加权和,公式取自它的预设,所以符号和配比都和在 VBridger 里一致
.vtube.json
里没有曲线可导,所以导进来的每一条绑定都是直线。呼吸那一条也不导入——它没有输入,是一个跟着时间走的振荡器,对应的开关是
自动呼吸
最后更新于 2026年9月20日