跳转至

Spine编辑器 - 手册

用户界面

左侧:操作栏

功能 说明
背景 ■ 纯色:纯色背景
■ 图片:自定义图片背景
■ 禁用:关闭背景,用于保存无背景的模型快照
缩放 缩放模型
旋转 旋转模型
保存当前大小和位置 将当前大小和位置写入Json配置的选项内,用于设置模型初始状态
显示可触摸区域 用红色框显示区域
皮肤 选择皮肤
提示 操作提示
信息 模型moc文件信息
日志 模型日志,显示动作事件
渲染尺寸 当前预览窗口的分辨率
快照尺寸 自定义快照大小,值为生成的图片的长边值

中间:模型预览

图标 说明
编辑Json配置
编辑模型边界
在桌面预览模型
保存模型快照

右侧:标签页

文件检视器

  • 显示模型文件夹

    图标 说明
    打开Json文件
    打开模型文件夹
    刷新文件夹
  • 显示模型相关文件

  • 其他操作

    操作 说明
    打开文件夹 打开模型文件夹
    创建配置文件 参考:创建Json配置文件

配置文件

  • 显示Json配置文件内容

  • 其他操作

    操作 说明
    编辑 编辑Json文件

动画

  • 显示模型所有动画

  • 其他操作

    操作 说明
    重置所有 重置用户对动画的所有操作
    移除排序
    升序排序
    降序排序

骨骼

  • 显示模型所有骨骼

  • 其他操作

    操作 说明
    重置所有 重置用户对骨骼的所有操作
    移除排序
    升序排序
    降序排序

插槽

  • 显示模型所有插槽透明度

  • 其他操作

    操作 说明
    重置所有 重置用户对插槽的所有操作
    移除排序
    升序排序
    降序排序

Json编辑器

关于【保存】和【关闭】

  • 【保存】会将当前配置写入文件并重新加载模型
  • 【关闭】仅关闭编辑器窗口,模型不会被重新加载

通用图标按钮

图标 说明 图标 说明
添加多个 复制
添加 移除
上移 下移
修改项目名 选择项目

模版

图标 说明
读取模版(插入到项目列表)
读取模版(替换项目列表)
保存模版

版本

模型版本


纹理图集

模型纹理图集

  • 一个模型可以有复数个纹理图集(altas)
  • 一个纹理图集对应复数个贴图文件(png)

点击区域

模型触发区域,可以通过鼠标触发动作事件

项目属性 说明
名称 区域名称
ID 模型骨骼ID
排序 当有区域重叠时,只有序号最高的区域可接收鼠标事件
点击时动作 鼠标点击区域时触发
进入时动作 鼠标进入区域时触发
离开时动作 鼠标离开区域时触发
启用 区域是否可用
宽度 区域宽度
高度 区域高度
中心X 区域中心X位置
中心Y 区域中心Y位置

关于网格可见性和区域触发

触发区域关联的网格必须有可见部分才能被触发,全透明或不可见则无法被触发


动作

  • 动作由多个动作组构成,每个动作组可以有多个动作事件
  • 支持同时播放不同层级的动作组,层级以【#层级号】表示
示例 说明
Start 预定义动作组
TapHead 预定义动作组【Tap区域名】,其中【Head】为触发区域名称
MyGroup 自定义的动作组名
MyGroup#3 自定义的动作组名,动作组所在层级号为【3】

关于多动作同时播放

  • 动作播放有层级(Layer)的概念,不同层级的动作可以同时播放,高层级播放的动作会覆盖低层级带有相同参数的动作
  • 动作默认在层级0上播放,若希望在其他层级中播放,使用【动作组#层级】的命名格式,例如【idle#1】表示该动作组在层级1上播放。注意,在层级0上播放请勿使用【动作组#0】,请直接使用【动作组】
  • 预定义动作组除了【Idle】以外均不支持层级,请在预定义动作内使用【start_mtn】来执行其他层级的动作
  • 应用实例见 多动作组同时播放

预定义动作组

事件 描述 备注
Idle 待机
Tap 鼠标点击 若存在 HitAreas,优先触发 Tap区域名
Tap区域名 鼠标区域点击 需要配置 HitAreas,否则请使用 Tap 事件
Start 模型载入时触发
Shake 晃动设备时触发 限支持重力感应功能的设备使用
Tick 每分钟触发一次
TickX(tick_x) 每x分钟触发一次 X处填写数字,范围1-60
对于同时符合条件的(如第2分钟的Tick1和Tick2)随机选择一个事件进行触发
LeaveX_Y_Z(leave_x_y_z) 放置(除待机之外无任何其他事件触发) X表示开始执行时间,Y表示最小触发间隔,Z表示最大触发间隔,单位为秒
例如:Leave30_10_20 表示放置30秒后开始执行此事件,触发间隔为10-20秒之间

动作事件属性

基础属性 说明 可选项 备注
名称 动作名 动作只有在填写名称之后,才能被其他引用者正确识别,否则只能识别到动作组
语言 动作对应的语言 ■ en:英文
■ zhs:简体中文
■ zht:繁体中文
■ ja:日文
■ ru:俄语
只有当程序设置的语言与此相匹配时才可以被触发
文件 动作文件(motion3.json)
动作循环 勾选后将循环播放动作
文本 动作执行时显示的文本
文本时长 自定义文本显示的时长 不设定则由系统自动判断
文本延迟 设置动作播放后延迟多久开始显示文本
表情 动作播放时的表情,此处填写表情名
声音 动作播放时的声音
声音频道 设置播放声音的频道 总共可以选择三个频道(0,1,2),不同频道声音可以同时播放。默认为0
声音音量 声音音量
声音延迟 设置动作播放后延迟多久开始播放声音
声音循环 循环播放声音 常用于播放背景音乐
混合模式 用于不同层级的动作混合 ■ 覆盖
■ 叠加
混合权重 当前动作与其他动作混合的权重
淡入 动作淡入
淡出 动作淡出
优先级 动作执行优先级 ■ 可设定范围2-9,越大优先级越高
■ 默认为2,若设置为9则强制覆盖前一个事件
动作时长 自定义动作事件的时长 设置之后此事件不受动作和语音时长影响
比重 动作触发概率 范围1-999,值越大触发概率越高。默认为1
速度 动作播放速度 SDK 2 不可用。默认为1
进阶属性 说明 可选项 备注
前置指令 动作开始播放之前执行 可用指令列表
后置指令 动作播放结束后执行 可用指令列表
上一个动作 指定上一个动作事件 只有上一个动作为设置的动作,才可以执行当前动作
下一个动作 指定下一个动作 动作执行完后执行的下一个动作
覆盖面部追踪参数 勾选后动作不会受面部捕捉的影响
启用 此动作事件是否可以被执行
可被中断 动作是否可被打断 ■ 当勾选时,此动作事件可以被相同优先级的动作打断
■ 此参数对优先级为9的事件无效
可被忽略 动作是否可被忽略 ■ 当存在符合触发条件并设置了【时间限制】的其他动作事件时,此事件是否允许被执行
■ 设置【时间限制】会导致该参数无效
时间限制 只有满足时间条件才可以被执行 ■ 时/分/月/日
■ 持续时间(分钟)
■ 生日:用户在程序设定里设置的生日
好感度 只有满足好感度条件时才可以被执行 ■ 最小值:触发事件所需最小亲密度
■ 最大值:触发事件所需最大亲密度
■ 等于:好感度等于此值时触发
■ 奖励:成功触发事件增加的亲密度值
特殊属性 说明 可选项 备注
选择项 通过在文本框显示选择项来执行动作事件 ■ Text:文本
■ NextMtn:下一个动作
浮点变量 通过浮点变量来控制动作的执行 条件判断(Condition)
■ greater:大于
■ greater_equal:大于等于
■ lower:小于
■ lower_equal:小于等于
■ equal:等于
■ not_equal:不等于

值操作(Operation)
■ assign:赋值
■ add:加
■ subtract:减
■ multiply:乘
■ divide:除
■ init:初始化
■ 条件判断用于判断该动作事件是否可被触发
■ 值操作用于在事件触发后对值进行操作
■ 可以对两个变量进行条件判断和操作,例如:greater $var2($+变量名)
■ 变量名可以为模型参数名,参数名前需加@,例如:@ParamAngleX
■ 随机数函数:rand(min,max) 和 randf(min,max) 。rand为整数随机;randf为浮点数随机;min和max写随机数的最小值和最大值
■ 变量可存档
■ init操作仅在该变量没有存档(未初始化)的情况下有效

浮点变量

  • 浮点变量分两种类型:【条件判断】和【值操作】
  • 条件判断:当浮点变量满足条件时,此动作事件才被允许执行
  • 值操作:动作事件执行之后,对浮点变量的值进行操作

关于动作的引用

  • 动作引用格式为【动作组:动作名】(例如:Tap:MotionA)
  • 若只写【动作组】(例如:Tap),则随机执行此动作组下的任意一个满足条件的动作
  • 若完整填写【动作组:动作名】(例如:Tap:MotionA),则执行此动作组下指定动作名的动作

控制器

插槽透明度

预定义网格透明度,可以让用户进行控制

项目属性见 共用项目属性B


插槽颜色

预定义网格颜色,可以让用户进行控制

项目属性见 共用项目属性B


好感度系统

属性 说明
初始值 第一次加载模型时赋予的初值,此值需在最大最小值之间
最小值 好感度下限
最大值 好感度上限
激活时奖励 模型被加载时每分钟的奖励值,通常设置为正值
非激活时奖励 模型没有被加载时每分钟的奖励值,通常设置为负值
每日奖励限制 每日奖励的上限
绑定参数ID 绑定到一个模型参数,参数值由好感度控制,常用于显示当前好感度的值

提示

可以通过【动作事件】的【好感度】属性来改变好感度的值


#附录:共用项目属性B

项目属性 说明
名称 项目名称
文本 显示文本,若不填写则显示项目名称
初始值
对用户隐藏 不显示在编辑面板里
ID组 关联的参数ID组
关键值 ■ 仅用于【插槽颜色】控制器
■ 若存在关键值,用户界面以左右箭头形式显示,否则以滑动条的形式显示

对用户隐藏

正常情况下用户可以通过编辑面板对项目值进行修改,若此项目为固定值或不希望用户修改,请勾选【对用户隐藏】

#附录:可用指令

  • 指令是以空格分割每个参数,若id或是路径之类的带有空格时,请在空格前加反斜杠,例如【my model】需要写成【my model】
  • 多条指令之间以英文分号(;)分割
指令 描述 示例
open_url 从浏览器打开链接 open_url https://www.baidu.com
change_cos 换装 change_cos cos02.model.json
start_mtn 执行指定模型的动作 start_mtn model_id group:motion (model_id可以不写,代表当前模型)
stop_mtn 停止指定层级的动作 stop_mtn 1 (1代表层级序号),默认层级请写0
stop_sound 停止声音 stop_sound 0 (0为频道标识)
stop_all_sounds 停止所有声音
mute_sound 静音 mute_sound 0 (0为频道标识)
unmute_sound 解除静音
hide_text 隐藏文本显示
set_skins 设置多个皮肤
add_skins 添加皮肤
remove_skins 移除皮肤
reset_pose 重置姿势
属性 指令 说明 示例
slot_opacities
slot_colors
lock
unlock
set
锁定
解锁
设置
■ slot_opacities lock SLOT_A 1 (1为锁定值)
■ slot_opacities unlock SLOT_A
■ slot_opacities unlock(解锁全部)
■ slot_opacities set SLOT_A 1

* 锁定和设置的区别在于,锁定是持续性的,而设置仅赋值一次
motions enable
disable
启用
禁用
■ motions enable group:motion
■ motions disable group:motion
hit_areas enable
disable
启用
禁用
■ hit_areas enable area_name(area_name指名称)
■ hit_areas disable area_name

选项

属性 说明
ID 模型ID,用于模型与模型之间的交互
名称 显示名称,此名称将用于在各种地方展示模型名称(如文本框)
缩放因子 模型的默认缩放比例
位置X 模型的默认左右位置
位置Y 模型的默认上下位置
各向异性过滤级别 各向异性过滤使贴图在某些情况下看起来效果更好,但是会增加图形硬件的性能开销。当值大于1时会覆盖应用程序中的贴图各向异性过滤等级设定值
边缘填充 解决模型出现黑色边缘的问题
允许用户自定义 勾选后用户可以自定义模型
着色器 某些情况下,默认着色器可能会出现模型显示异常,更换着色器或许可以解决显示问题

修订日期:2024年02月24日