跳轉至

Live2D編輯器 - 手冊

用戶界面

左側:操作欄

功能 說明
背景 ■ 純色:純色背景
■ 圖片:自定義圖片背景
■ 禁用:關閉背景,用於保存無背景的模型快照
縮放 縮放模型
旋轉 旋轉模型
保存當前大小和位置 將當前大小和位置寫入Json配置的選項內,用於設置模型初始狀態
表情 切換表情
顯示可觸摸區域 用紅色框顯示區域
提示 操作提示
信息 模型moc文件信息
日誌 模型日誌,顯示動作事件
渲染尺寸 當前預覽窗口的分辨率
快照尺寸 自定義快照大小,值為生成的圖片的長邊值

中間:模型預覽

圖標 說明
編輯Json配置
編輯模型邊界
在桌面預覽模型
保存模型快照

關於模型邊界

  • 模型邊界定義了鼠標追蹤的範圍和可以觸發全局點擊事件的範圍
  • 默認情況下程序通過遍歷所有網格位置自動計算出邊界,但在某些情況下會出現計算出來的邊界過大或過小,此時需要自己手動調整

右側:標籤頁

文件檢視器

  • 顯示模型文件夾

    圖標 說明
    打開Moc或Json文件
    打開模型文件夾
    刷新文件夾
  • 顯示模型相關文件

    • 點擊motion3.json文件預覽動作
    • 點擊exp3.json文件預覽表情
    • 點擊音頻文件播放音頻
  • 其他操作

    操作 說明
    打開文件夾 打開模型文件夾
    創建配置文件 參考:創建Json配置文件
    從Facerig配置創建Json文件 參考文章:https://www.bilibili.com/read/cv11482720

配置文件

  • 顯示Json配置文件內容

  • 其他操作

    操作 說明
    編輯 編輯Json文件
    修復動作文件 嘗試修復某些播放異常的動作文件,無法保證有效性

參數

  • 顯示模型所有參數值

  • 其他操作

    操作 說明
    數值同步 關閉後參數值不再實時刷新
    重置所有 重置用戶對參數值的所有操作
    移除排序
    升序排序
    降序排序

部件

  • 顯示模型所有部件透明度

  • 其他操作

    操作 說明
    自由選擇 勾選後點擊模型顯示點擊部分的所有網格
    重置所有 重置用戶對參數值的所有操作
    移除排序
    升序排序
    降序排序

網格

  • 顯示模型所有網格透明度

  • 其他操作

    操作 說明
    數值同步 關閉後參數值不再實時刷新
    重置所有 重置用戶對參數值的所有操作
    移除排序
    升序排序
    降序排序

Json編輯器

關於【保存】和【關閉】

  • 【保存】會將當前配置寫入文件並重新加載模型
  • 【關閉】僅關閉編輯器窗口,模型不會被重新加載

通用圖標按鈕

圖標 說明 圖標 說明
添加多個 複製
添加 移除
上移 下移
修改項目名 選擇項目

模版

圖標 說明
讀取模版(插入到項目列表)
讀取模版(替換項目列表)
保存模版

執行順序

描述 說明
恢復保存的參數值和部件透明度 每幀開始時恢復上一幀保存的數據
播放動作文件 按層級順序播放
控制器 執行控制器代碼
執行指令 執行指令代碼(若存在)
保存參數值和部件透明度 保存之後,此幀剩餘部分對數據的修改將不會影響下一幀的數據
執行物理文件 執行之後,此幀剩餘部分對數據的修改會影響物理效果

關於動作的執行

  • 默認狀態下,程序會循環執行【待機】動作,所有層級的動作同步執行
  • 動作執行完畢之後,需要有其他動作打斷當前動作(或者用指令【stop_mtn】來停止動作),否則將會停止在動作的最後一幀
  • 基於以上兩點,在有【待機】動作的層級,其他動作執行完後會回到待機動作;沒有【待機】動作的層級,其他動作執行完後會停止在最後一幀
  • 動作有優先級之分,優先級高的動作可以打斷優先級低的動作。同級別動作默認不可以打斷,除非在【動作事件屬性】里勾選了【可被中斷】

補充說明

  • 參數拖拽有高低優先級之分,高優先級會對物理效果造成影響
  • 未提及的指令和控制器會在滿足條件時立刻執行,不會參與每幀的執行中
  • 此順序提及的內容並非全部,會根據開發需要隨時做出調整

版本

模型版本


貼圖

模型貼圖文件

注意

貼圖必須按照正確順序排列,否則會造成模型顯示異常


點擊區域

模型觸發區域,可以通過鼠標觸發動作事件

項目屬性 說明
名稱 區域名稱
ID 模型網格ID
排序 當有區域重疊時,只有序號最高的區域可接收鼠標事件
點擊時動作 鼠標點擊區域時觸發
進入時動作 鼠標進入區域時觸發
離開時動作 鼠標離開區域時觸發
啓用 區域是否可用

關於網格可見性和區域觸發

觸發區域關聯的網格必須有可見部分才能被觸發,全透明或不可見則無法被觸發。可以在【網格】列表頁通過拖動滑動條,觀察網格的變化來確認網格可見性


動作

  • 動作由多個動作組構成,每個動作組可以有多個動作事件
  • 支持同時播放不同層級的動作組,層級以【#層級號】表示
示例 說明
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),則執行此動作組下指定動作名的動作

控制器

鼠標追蹤

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

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

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

若項目列表為空,則讀取默認參數,默認參數列表見下方

默認參數(SDK3) SDK2
ParamAngleX PARAM_ANGLE_X
ParamAngleY PARAM_ANGLE_Y
ParamAngleZ PARAM_ANGLE_Z
ParamEyeBallX PARAM_EYE_BALL_X
ParamEyeBallY PARAM_EYE_BALL_Y
ParamBodyAngleX PARAM_BODY_ANGLE_X

嘴型同步

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

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

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

若項目列表為空,則讀取默認參數,默認參數列表見下方

默認參數(SDK3) SDK2
ParamMouthOpenY PARAM_MOUTH_OPEN_Y

提示

若動作中存在控制參數的關鍵幀,可能會導致此控制器失效


眨眼

模型自動眨眼

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

屬性 說明
最小間隔 兩次眨眼最小間隔時間
最大間隔 兩次眨眼最大間隔時間

若項目列表為空,則讀取默認參數,默認參數列表見下方

默認參數(SDK3) SDK2
ParamEyeLOpen PARAM_EYE_L_OPEN
ParamEyeROpen PARAM_EYE_R_OPEN

提示

若動作中存在控制參數的關鍵幀,可能會導致此控制器失效


參數拖拽

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

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

參數循環

參數隨時間循環播放

項目屬性 說明
最小間隔 兩次循環之間的最小間隔
最大間隔 兩次循環之間的最大間隔
時間同步 根據當前系統時間設定參數值

參數值

預定義參數值,可以讓用戶進行控制

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


部件透明度

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

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


網格透明度

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

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


網格顏色

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

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


自動呼吸

控制模型呼吸參數 ParamBreath


小幅度動作

疊加到模型動作之上的隨機動作

默認參數(SDK3) SDK2
ParamAngleX PARAM_ANGLE_X
ParamAngleY PARAM_ANGLE_Y
ParamAngleZ PARAM_ANGLE_Z
ParamBodyAngleX PARAM_BODY_ANGLE_X

加速器

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


麥克風

使用麥克風控制模型參數


面部追蹤

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

參數 缺省值
角度X ParamAngleX / PARAM_ANGLE_X
角度Y ParamAngleY / PARAM_ANGLE_Y
角度Z ParamAngleZ / PARAM_ANGLE_Z
位置X ParamBodyAngleZ / PARAM_BODY_ANGLE_Z
位置Y
位置Z
左眼開閉 ParamEyeLOpen / PARAM_EYE_L_OPEN
右眼開閉 ParamEyeROpen / PARAM_EYE_R_OPEN
睜大眼睛
眯眼
眼球X ParamEyeBallX / PARAM_EYE_BALL_X
眼球Y ParamEyeBallY / PARAM_EYE_BALL_Y
左眉Y ParamBrowLY / PARAM_BROW_L_Y
右眉Y ParamBrowRY / PARAM_BROW_R_Y
嘴部開閉 ParamMouthOpenY / PARAM_MOUTH_OPEN_Y
嘴部形變 ParamMouthForm / PARAM_MOUTH_FORM
噘嘴(張開)
噘嘴(閉合)
鼓腮
伸舌

手部追蹤

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

參數 說明 備注
角度X 手腕翻轉 ■ 五個狀態,分別對應值 (-1, -0.5, 0, 0.5, 1)
■ -1=參數最小值;1=參數最大值
角度Z 手腕左右晃動
位置X 手腕左右相對位置 ■ 相對於基準位置
位置Y 手腕上下相對位置 ■ 相對於基準位置
拇指 ■ 彎曲=最小值;伸直=最大值
食指 ■ 彎曲=最小值;伸直=最大值
中指 ■ 彎曲=最小值;伸直=最大值
無名指 ■ 彎曲=最小值;伸直=最大值
小指 ■ 彎曲=最小值;伸直=最大值
指間:拇指 - 食指 ■ 併攏=最小值;張開=最大值
指間:食指 - 中指 ■ 併攏=最小值;張開=最大值
指間:中指 - 無名指 ■ 併攏=最小值;張開=最大值
指間:無名指 - 小指 ■ 併攏=最小值;張開=最大值

好感度系統

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

提示

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


按鍵觸發

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

提示

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


參數觸發

屬性 說明
名稱 項目名稱
參數 參數ID
觸發值 ■ 值:當參數值穿過該值會觸發指定動作
■ 方向:正向表示參數值從小到大經過觸發值時有效;反向表示從大到小經過有效;雙向表示只要穿過均有效
■ 觸發動作:條件滿足時觸發的動作

區域觸發

屬性 說明
名稱 項目名稱
目標區域 被觸發區域
進入時動作 觸發區域進入目標區域時觸發的動作
離開時動作 觸發區域離開目標區域時觸發的動作
觸發區域 主動觸發的區域

注意

  • 系統持續檢測目標區域與觸發區域是否形成重疊部分,並觸發【進入時動作】和【離開時動作】
  • 因每幀都會檢測,所以可能對性能產生影響

手勢觸發

屬性 說明
名稱 項目名稱
觸發手
方向 ■ 忽略:不判定方向
■ 正向:手心朝向相機
■ 反向:手背朝向相機
動作 觸發動作
手指 ■ 忽略:不判定該手指
■ 伸直:手指伸直
■ 彎曲:手指彎曲

#附錄:共用項目屬性A

項目屬性 說明 鼠標追蹤 嘴型同步 眨眼 面部追蹤 手部追蹤
參數 模型參數
坐標軸 鼠標的XY軸
反轉 反轉參數值
最小值 參數最小值
最大值 參數最大值
默認值 參數默認值
因子 實際值 = 面捕值 x 因子,限制範圍(-1, 1)
混合模式 參數與模型動作的混合模式
比重 參數值對模型的影響程度,即【實際影響值 = 參數值 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
set_exp 設置表情 set_exp 01.exp.json
next_exp 下一個表情
clear_exp 清除指定層級的表情 clear_exp 1 (1代表層級序號),不寫則為默認層級0
replace_tex 替換貼圖 replace_tex 1 tex/texture_01.png (貼圖編號從0開始,1代表第二張貼圖)
stop_sound 停止聲音 stop_sound 0 (0為頻道標識)
stop_all_sounds 停止所有聲音
mute_sound 靜音 mute_sound 0 (0為頻道標識)
unmute_sound 解除靜音
hide_text 隱藏文本顯示
屬性 指令 說明 示例
parameters
parts
artmesh_opacities
artmesh_colors
lock
unlock
set
鎖定
解鎖
設置
■ parameters lock PARAM_ANGLE_X 10 (10為鎖定的參數值)
■ parameters lock PARAM_ANGLE_X $var (將浮點變量名為var的值設為參數值,變量名開頭需要加$)
■ parameters lock PARAM_ANGLE_X @PARAM_NAME (將參數PARAM_NAME的值賦給目標參數,參數開頭需要加@)
■ parameters unlock PARAM_ANGLE_X
■ parameters unlock(解鎖全部)
■ parameters set PARAM_ANGLE_X 10 (10為鎖定的參數值)
■ parameters set PARAM_ANGLE_X $var (將浮點變量名為var的值設為參數值,變量名開頭需要加$)

* 鎖定和設置的區別在於,鎖定是持續性的,而設置僅賦值一次
motions enable
disable
啓用
禁用
■ motions enable group:motion
■ motions disable group:motion
hit_areas
param_loop
enable
disable
啓用
禁用
■ hit_areas enable area_name(area_name指名稱)
■ hit_areas disable area_name
param_hit enable
disable
lock
unlock
begin
end
啓用
禁用
鎖定參數
解鎖參數
開始拖拽
結束拖拽
■ param_hit enable name(name指名稱)
■ param_hit disable name
■ param_hit lock name
■ param_hit unlock name
■ param_hit begin name PARAM_NAME
■ param_hit end name
mouse_tracking
physics
extra_motion
auto_breath
enable
disable
啓用
禁用
■ mouse_tracking enable
■ mouse_tracking disable
eye_blink
lip_sync
enable
disable
enforce
啓用
禁用
強制
■ lip_sync enable
■ lip_sync disable
■ lip_sync enforce

表情

項目屬性 說明
名稱 表情名
文件 表情文件

物理

項目屬性 說明
文件 設置physic3.json文件
最大權重 物理對模型的影響,值越大影響越大

姿勢

設置pose.json文件


選項

屬性 說明
ID 模型ID,用於模型與模型之間的交互
名稱 顯示名稱,此名稱將用於在各種地方展示模型名稱(如文本框)
縮放因子 模型的默認縮放比例
位置X 模型的默認左右位置
位置Y 模型的默認上下位置
各向異性過濾級別 各向異性過濾使貼圖在某些情況下看起來效果更好,但是會增加圖形硬件的性能開銷。當值大於1時會覆蓋應用程序中的貼圖各向異性過濾等級設定值
邊緣填充 解決模型出現黑色邊緣的問題
允許用戶自定義 勾選後用戶可以自定義模型
遮罩緩存尺寸 某些情況下,模型使用遮罩會出現鋸齒邊。增加緩存尺寸可以減少鋸齒邊,但會影響性能

修訂日期:2024年02月24日