Skip to content

在线调试

2057 words
10 min

l2d-viewer 是一款面向 l2d 开发者的可视化调试工具,支持在浏览器中加载、预览和调试 Live2D 模型(Cubism 2 / Cubism 6)。本文档将带你完整了解每一项功能的使用方法。

点击前往:https://l2d-viewer.hacxy.cn

目录

界面概览

界面分为三个区域:

区域说明
顶部栏模型 URL 输入、加载状态、主题切换
Canvas 画布Live2D 模型渲染区,支持拖拽移动
右侧边栏变换控制 + 各调试面板

加载模型

通过 URL 输入框加载

  1. 在顶部栏的输入框中粘贴模型配置文件的 URL,支持以下格式:

    • Cubism 2:.model.json
    • Cubism 6:.model3.json
  2. 按下 Enter 键或点击 Load 按钮开始加载。

  3. 加载过程中,画布上会显示进度遮罩,顶部状态徽章会变为 loading 状态。

  4. 加载完成后,模型出现在画布中,状态变为 loaded,右侧各面板数据自动填充。

从历史记录加载

输入框支持下拉历史,点击输入框后会显示最近加载过的模型 URL(最多 20 条),直接点击即可重新加载,无需重新输入。

错误处理

若 URL 不可访问或格式有误,状态徽章会显示 error,并在画布区域展示错误提示。请检查 URL 是否正确、服务器是否允许跨域(CORS)。

变换控制

模型加载后,可以通过右侧边栏的变换控制区域调整模型的位置和大小。

X / Y 位置滑块

  • X 轴:左右移动模型,范围 -22
  • Y 轴:上下移动模型,范围 -22
  • 拖动滑块时模型实时响应,代码预览也会同步更新

Scale 缩放滑块

  • 调整模型的显示大小,范围 0.15
  • 1 为模型原始大小

鼠标拖拽移动

直接在画布上按住鼠标左键并拖动,模型会跟随鼠标移动,松手后位置锁定。右侧 X/Y 滑块数值也会同步更新。

重置按钮

点击重置按钮,将 X、Y、Scale 全部恢复为默认值(x=0, y=0, scale=1)。

表情面板

表情面板位于右侧边栏,默认收起,点击面板标题可展开。

播放表情

  • 面板展开后显示模型支持的所有表情 ID
  • 点击任意表情条目即可立即播放该表情
  • 当前激活的表情会以绿色高亮标记

随机表情

点击面板内的 随机 按钮,工具会随机选择并播放一个表情,适合快速浏览模型支持的全部表情效果。

取消激活

再次点击已激活的表情,或等待表情动画结束,高亮状态自动消失。

动作面板

动作面板位于右侧边栏,默认展开

动作分组

Live2D 模型的动作通常按组织分类(如 idletap_body 等)。面板以折叠组的形式展示,点击组名可展开该组下的所有动作文件。

播放动作

点击某个动作条目即可以最高优先级(priority=3)播放该动作。

播放进度条

动作播放期间,对应条目下方会出现一条蓝色进度条,实时展示播放进度(0% → 100%)。

自动展开

当某个动作正在播放时,其所在的分组会自动展开,方便定位当前动作。

参数面板

参数面板位于右侧边栏,默认收起,点击标题展开。

这是调试 Live2D 模型时最强大的功能之一,可以实时查看和修改所有模型参数。

实时参数值

面板通过 requestAnimationFrame 循环每帧读取模型参数,参数值会实时刷新

搜索过滤

面板顶部有搜索框,输入参数 ID 的关键字(如 EyeMouth)即可过滤参数列表,快速定位目标参数。

活跃参数高亮

当某个动作正在播放时,被动作驱动的参数会以蓝色左边框标记,表示该参数当前处于活跃状态(即 value ≠ default)。这对于分析动作驱动了哪些参数非常有用。

手动调整参数

每个参数行都配有一个滑块,拖动可直接修改参数值,模型对应部位实时响应

  • 滑块范围由模型定义的 min / max 决定
  • 行尾的数值显示当前精确值(保留 3 位小数)

重置单个参数

每个参数行末尾有一个 ↺ 按钮,点击后将该参数值恢复为模型的 default 默认值。

Hit Area 覆盖层

Hit Area 是 Live2D 模型定义的可点击区域,用于响应用户的触摸/点击事件(如点击头部、身体触发不同动作)。

开启覆盖层

在右侧 Hit Area 面板中,点击显示覆盖层开关(或勾选框),画布上会立即出现绿色矩形边框,标注所有 Hit Area 的位置和大小。

  • 矩形边框:绿色半透明填充 + 亮绿色描边
  • 矩形左上角显示该区域的 名称(如 HeadBody
  • 覆盖层不会遮挡鼠标事件,不影响正常交互

数据表格

Hit Area 面板展开后,下方显示一个数据表格,列出所有区域的原始坐标数据(x、y、w、h),均为相对于 canvas 尺寸的比例值(0~1)。

关闭覆盖层

再次点击开关即可隐藏覆盖层。

代码预览与复制

代码预览区块位于右侧变换控制下方,实时展示当前模型配置对应的 JavaScript 调用代码:

js
l2d.load({
  path: 'https://example.com/model/model3.json',
  position: [0.00, 0.00],
  scale: 1.00,
})

每当你调整 URL、位置或缩放时,代码会实时更新

复制代码

点击代码块右上角的 复制 按钮,代码内容会复制到剪贴板,可直接粘贴到你的项目中使用。

10. 主题切换

顶部栏右侧有一个灯泡图标的主题切换按钮:

  • 点击切换深色模式浅色模式
  • 主题偏好会自动保存,下次打开工具时保持上次的设置

URL 分享

l2d-viewer 支持通过 URL query string 传递模型地址,方便分享调试链接

格式

https://your-deployment-url/viewer?model=<编码后的模型URL>

使用方法

  1. 加载模型后,浏览器地址栏会自动更新为带 ?model= 参数的 URL
  2. 直接复制浏览器地址栏中的 URL 发送给他人
  3. 对方访问该 URL 时,工具会自动加载对应模型,无需手动输入

使用技巧

调试动作驱动的参数

  1. 在动作面板中播放某个动作
  2. 打开参数面板
  3. 观察带蓝色高亮的参数——这些就是该动作正在驱动的参数
  4. 可以据此了解动作的实现方式,或验证参数映射是否正确

快速定位参数

模型参数可能多达数十甚至上百个。使用参数面板顶部的搜索框,输入 EyeMouthHead 等关键字可快速过滤,无需手动翻滚列表。

验证 Hit Area 位置

开启 Hit Area 覆盖层后,可以直观核查各区域是否正确覆盖了模型对应部位(如点击头部区域是否确实在头部上方),避免在集成阶段才发现坐标偏差。

导出精确配置

调整好模型的位置和缩放后,使用代码预览一键复制配置代码,可以直接作为你项目中 l2d.load() 的调用参数,保证调试环境与生产环境的展示效果一致。

历史记录管理

历史下拉最多保存 20 条记录,自动去重,最新访问的地址排在最前面。如果某个测试模型不再需要,在新的模型加载后旧记录会随时间自动淘汰。

MIT Licensed