跳轉至

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
聲音音量 聲音音量
聲音延遲 設置動作播放後延遲多久開始播放聲音
聲音循環 循環播放聲音 常用於播放背景音樂
混合模式 用於不同層級的動作混合 ■ 覆蓋
■ 疊加
僅支持Spine 3.7及以上
混合權重 當前動作與其他動作混合的權重 僅支持Spine 3.5及以上
淡入 動作淡入
淡出 動作淡出
優先級 動作執行優先級 ■ 可設定範圍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),則執行此動作組下指定動作名的動作

控制器

注意

  • 控制器中所有顯示為 參數 的,在Spine里都代表 動畫
  • Spine控制器與Live2D控制器不同之處:Live2D控制器控制的參數值,而Spine控制器控制的動畫,將動畫速度設置為0並通過代碼來控制動畫時間。請在使用時注意。

鼠標追蹤

讓模型跟隨鼠標進行一定程度的活動

項目屬性見 共用項目屬性A

屬性 說明
平滑時間 平滑時間越高,模型跟隨鼠標的速度越慢,動作順滑度越高

嘴型同步

讓音頻音量大小控制模型的嘴部開閉參數

項目屬性見 共用項目屬性A

屬性 說明
增益 增益越大,嘴部開閉受音量影響越靈敏
平滑時間 平滑時間越高,嘴部開閉的變化越慢,動作順滑度越高

參數拖拽

用鼠標相關操作控制模型參數

注意

指定的動畫需要處於播放中,否則此控制器將無效

項目屬性 說明
名稱 項目名稱
點擊區域 觸發拖拽的區域
ID 參數ID
最小值 參數最小值,不寫則使用默認值
最大值 參數最大值,不寫則使用默認值
類型 ■ 拖拽:按住鼠標左鍵拖拽
■ 撫摸:按住鼠標左鍵來回移動
■ 按住:長按鼠標左鍵
坐標軸 鼠標的XY軸
因子 乘算因子
■ 拖拽 / 撫摸:鼠標每移動一像素的參數改變值
■ 按住:每按住1秒鐘的參數改變值
鎖定參數 松開鼠標後參數不歸位
比重 參數值對模型的影響程度,即【實際影響值 = 參數值 x 比重】
最小值動作 參數值達到最小時觸發
最大值動作 參數值達到最大時觸發
開始動作 鼠標左鍵按下時觸發
結束動作 鼠標松開時觸發(未達到參數最大值)
啓用 項目是否可用

參數循環

參數隨時間循環播放

注意

控制器會在高層級播放動畫並進行控制

項目屬性 說明
名稱 項目名稱
ID組 參數ID組
類型 參數值變化方式
混合模式 參數與模型動作的混合模式
時長 循環時間(ms)
最小值 參數最小值
最大值 參數最大值
最小間隔 兩次循環之間的最小間隔
最大間隔 兩次循環之間的最大間隔
比重 參數值對模型的影響程度,即【實際影響值 = 參數值 x 比重】
時間同步 根據當前系統時間設定參數值
啓用 項目是否可用

插槽透明度

預定義網格透明度,可以讓用戶進行控制

項目屬性見 共用項目屬性B


插槽顏色

預定義網格顏色,可以讓用戶進行控制

項目屬性見 共用項目屬性B


加速器

使用手機硬件加速器控制模型參數

項目屬性見 共用項目屬性A


按鍵觸發

項目屬性 說明
按下時動作 按鍵按下時觸發
抬起時動作 按鍵抬起時觸發

提示

要使按鍵生效,需要在【控制面板】【設定】里啓用【熱鍵】

注意

  • 當使用鼠標左右鍵時,請將對應的觸發動作設置與【點擊事件】不同的層級,否則在觸發了鼠標左右鍵事件後會無法觸發【點擊事件】
  • 請利用【在桌面預覽模型】或直接在桌面/壁紙軟件里加載模型查看效果

好感度系統

屬性 說明
初始值 第一次加載模型時賦予的初值,此值需在最大最小值之間
最小值 好感度下限
最大值 好感度上限
激活時獎勵 模型被加載時每分鐘的獎勵值,通常設置為正值
非激活時獎勵 模型沒有被加載時每分鐘的獎勵值,通常設置為負值
每日獎勵限制 每日獎勵的上限
綁定參數ID 綁定到一個模型參數,參數值由好感度控制,常用於顯示當前好感度的值

提示

可以通過【動作事件】的【好感度】屬性來改變好感度的值


#附錄:共用項目屬性A

注意

控制器會在高層級播放動畫並進行控制

項目屬性 說明 鼠標追蹤 嘴型同步 加速器
參數 參數ID
坐標軸 鼠標的XY軸
反轉 反轉參數值
最小值 參數最小值
最大值 參數最大值
默認值 參數默認值
混合模式 參數與模型動作的混合模式
比重 參數值對模型的影響程度,即【實際影響值 = 參數值 x 比重】
輸入 直接綁定到鼠標的移動或左右鍵

最大值、最小值和默認值

  • 參數本身自帶最大最小值和默認值,選擇參數時會自動填入
  • 可以自定義三個值,會覆蓋參數自帶的值
  • 自定義的值必須在參數最大最小值範圍內

#附錄:共用項目屬性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時會覆蓋應用程序中的貼圖各向異性過濾等級設定值
邊緣填充 解決模型出現黑色邊緣的問題
允許用戶自定義 勾選後用戶可以自定義模型
著色器 某些情況下,默認著色器可能會出現模型顯示異常,更換著色器或許可以解決顯示問題

修訂日期:2025年01月18日