Skip to content

Spine Editor - Manual

Regarding the translation

This document was translated by ChatGPT-4, and the content may contain inaccuracies.

User Interface

Left: Action Panel

Function Description
Background ■ Solid Color: Solid color background
■ Image: Custom image background
■ Disable: Turn off the background, used to save snapshots of the model without a background
Zoom Zoom the model
Rotate Rotate the model
Save Current Size and Position Write the current size and position into the Json configuration options, used to set the initial state of the model
Show Hit Areas Display areas with a red frame
Skin Select the skin
Hint Operation hints
Info Model moc file information
Log Model log, displays motion events
Rendering Size Resolution of the current preview window
Recording Settings Settings for recording videos and snapshots

Center: Model Preview

Icon Description
Edit Json configuration
Edit model boundaries
Save model snapshot
Video recording
Show/Hide left panel
Show/Hide right panel
Preview the model on the desktop

Right: Tabs

File Explorer

  • Display model folder

    Icon Description
    Open Json file
    Open model folder
    Refresh folder
  • Display files related to the model

  • Other Operations

    Operation Description
    Open Folder Open the model folder
    Create Configuration File Refer to: Create Json Configuration File

Configuration File

  • Display the contents of the Json configuration file

  • Other Operations

    Operation Description
    Edit Edit the Json file

Animation

  • Display all animations of the model

  • Other Operations

    Operation Description
    Loop Preview animation in loop mode
    Speed Adjust the preview speed of the animation
    Reset All Reset all user actions on the animations
    Remove sorting
    Sort in ascending order
    Sort in descending order

Bones

  • Display all bones of the model

  • Other Operations

    Operation Description
    Reset All Reset all user actions on the bones
    Remove sorting
    Sort in ascending order
    Sort in descending order

Slots

  • Display the opacity of all slots in the model

  • Other Operations

    Operation Description
    Reset All Reset all user actions on the slots
    Remove sorting
    Sort in ascending order
    Sort in descending order

Json Editor

Regarding [Save] and [Close]

  • [Save] writes the current configuration into the file and reloads the model
  • [Close] only closes the editor window, and the model will not be reloaded

General Icon Buttons

Icon Description Icon Description
Add multiple Duplicate
Add Remove
Move up Move down
Modify item name Select item

Template

Icon Description
Load template (insert into item list)
Load template (replace item list)
Save template

Version

Model version


Texture Atlas

Model texture atlas

  • A model can have multiple texture atlases
  • One texture atlas corresponds to multiple texture files (png)

Hit Areas

Model trigger areas that can trigger motion events via mouse interaction

Item Property Description
Name Area name
ID Model bone ID
Sorting When areas overlap, only the area with the highest order number can receive mouse events
On Click Motion Triggered when the mouse clicks the area
On Press Motion Triggered when the mouse is pressed within the area
On Release Motion Triggered when the mouse is released, even if outside the area
On Enter Motion Triggered when the mouse enters the area
On Exit Motion Triggered when the mouse leaves the area
Width Width of the area
Height Height of the area
Center X X position of the area's center
Center Y Y position of the area's center
Enabled Whether the area is enabled

Regarding Artmesh Visibility and Area Triggering

The artmesh associated with the trigger area must have visible parts to be triggered. Fully transparent or invisible artmesh cannot be triggered.


Motion

  • A motion consists of multiple motion groups, and each motion group can contain multiple motion events
  • Supports simultaneous playback of motion groups on different layers, with layers represented as [#Layer number]
Example Description
Start Predefined motion group
TapHead Predefined motion group [TapAreaName], where [Head] is the name of the trigger area
MyGroup A custom motion group name
MyGroup#3 A custom motion group name, with the motion group on layer [3]

Regarding Simultaneous Playback of Multiple Motions

  • Motion playback incorporates a layer concept. Motions on different layers can play simultaneously, and motions on higher layers will override the same parameters of motions on lower layers.
  • Motions play on layer 0 by default. To play on other layers, use the naming format [MotionGroup#Layer], e.g., [idle#1] indicates that the motion group plays on layer 1. Note that for playback on layer 0, do not use [MotionGroup#0]; simply use [MotionGroup].
  • Predefined motion groups, except for [Idle], do not support layers. Use [start_mtn] within predefined motions to execute motions from other layers.
  • For application examples, see Simultaneous Playback of Multiple Motion Groups

Predefined Motion Groups

Event Description Remarks
Idle Standby
Tap Mouse click If Hit Areas exist, TapAreaName takes priority
TapAreaName Mouse click in the area Requires configuration of Hit Areas, otherwise use the Tap event
Start Triggered when the model is loaded
Shake Triggered when the device shakes Only available on devices supporting motion sensing
Tick Triggered once every minute
TickX (tick_x) Triggered every x minutes Replace X with a number ranging from 1-60
For events that meet multiple conditions simultaneously (e.g., Tick1 and Tick2 on the 2nd minute), one event is randomly chosen to trigger
LeaveX_Y_Z (leave_x_y_z) Idle (no other events except standby are triggered) X indicates the time after which execution begins, Y indicates the minimum trigger interval, Z indicates the maximum trigger interval, in seconds
Example: Leave30_10_20 means this event starts after 30 seconds of idleness and triggers at intervals between 10 to 20 seconds

Motion Event Properties

Basic Properties Description Options Remarks
Name Motion name A motion can only be correctly identified by other references if a name is provided; otherwise, only the motion group can be identified
Language Language corresponding to the motion ■ en: English
■ zhs: Simplified Chinese
■ zht: Traditional Chinese
■ ja: Japanese
■ ru: Russian
Only triggered when the language set in the program matches this
File Motion file (motion3.json)
On End of Playback Determines what happens when the motion finishes playback
Text Text displayed during motion execution
Text Duration Custom duration for text display If not set, the system will determine automatically
Text Delay Sets how long after the motion starts the text appears
Expression Facial expression during motion playback, specify the expression name here
Sound Sound during motion playback
Sound Channel Sets the channel for sound playback A total of three channels (0, 1, 2) are available. Different channels can play sounds simultaneously. Default is 0
Sound Volume Volume of the sound
Sound Delay Sets how long after the motion starts the sound begins to play
Sound Loop Loops the sound playback Often used for background music playback
Blend Mode Blending for motions at different layers ■ Overlay
■ Additive
Supported only in Spine 3.7 and above
Blend Weight Blending weight between the current motion and others Supported only in Spine 3.5 and above
Fade In Fade-in for the motion
Fade Out Fade-out for the motion
Priority Execution priority of the motion ■ The range can be set between 2-9, with higher values having higher priority
■ Default is 2; if set to 9, it will forcibly override the previous event
Motion Duration Custom duration for the motion event Once set, this event is not affected by motion and voice duration
Weight Trigger probability of the motion Range is 1-999; higher values mean higher probability. Default is 1
Speed Playback speed of the motion Not available in SDK 2. Default is 1
Advanced Properties Description Options Remarks
Pre-Command Executes before the motion starts playing Available Command List
Post-Command Executes after the motion finishes playing Available Command List
Previous Motion Specifies the previous motion event Only when the previous motion matches the specified one can the current motion execute
Next Motion Specifies the next motion Executes the next motion after the current motion finishes
Override Face Tracking Parameters When checked, the motion will not be affected by face tracking
Enabled Whether this motion event can be executed
Interruptible Whether this motion can be interrupted ■ When checked, this motion event can be interrupted by motions with the same priority
■ This parameter is ineffective for events with priority 9
Ignorable Whether this motion can be ignored ■ If there are other motion events that meet the trigger conditions and are set with a time limit, whether this event can be executed
■ Setting a time limit overrides this parameter
Time Restriction Can only be executed when the time condition is met ■ Hour/Minute/Month/Day
■ Duration (minutes)
■ Birthday: User-set birthday in the program settings
Affection Level Can only be executed when the affection level condition is met ■ Minimum Value: Minimum affection level required to trigger the event
■ Maximum Value: Maximum affection level required to trigger the event
■ Equals: Triggers when affection level equals this value
■ Reward: Affection level increment upon successfully triggering the event
Special Properties Description Options Remarks
Selection Executes motion events by displaying selection options in a text box ■ Text: Text
■ NextMtn: Next motion
Float Variable Controls motion execution via floating-point variables Condition Check (Condition)
■ greater: Greater than
■ greater_equal: Greater than or equal to
■ lower: Less than
■ lower_equal: Less than or equal to
■ equal: Equal to
■ not_equal: Not equal to

Value Operation (Operation)
■ assign: Assign
■ add: Add
■ subtract: Subtract
■ multiply: Multiply
■ divide: Divide
■ init: Initialize
■ Condition checks determine whether the motion event can be triggered
■ Value operations modify the value after the event is triggered
■ Two variables can be conditionally checked and operated upon, e.g., greater $var2 ($+variable name)
■ Variable names can correspond to model parameter names, with parameter names prefixed by @, e.g., @ParamAngleX
■ Random number functions: rand(min, max) and randf(min, max). rand generates integer random numbers; randf generates floating-point random numbers. min and max specify the range for random numbers
■ Variables can be archived
init operation is only effective if the variable is not archived (uninitialized)

Floating-Point Variables

  • Floating-point variables have two types: [Condition Check] and [Value Operation]
  • Condition Check: The motion event can only execute if the floating-point variable meets the condition
  • Value Operation: After the motion event executes, the floating-point variable is modified

Regarding Motion References

  • Motion reference format: [MotionGroup:MotionName] (e.g., Tap:MotionA)
  • If only the [MotionGroup] is written (e.g., Tap), any motion under the group meeting the conditions is randomly executed
  • If the full format [MotionGroup:MotionName] is provided (e.g., Tap:MotionA), the specified motion is executed under the motion group

Controller

Note

  • All items labeled as Parameters in the controller are Animations in Spine
  • Difference between Spine and Live2D controllers: Live2D controllers control parameter values, while Spine controllers control animations by setting animation speed to 0 and controlling the animation time through code. Please pay attention when using.

Mouse Tracking

Allows the model to follow the mouse to some extent

For item properties, see Common Item Properties A

Property Description
Smooth Time Higher smooth time results in slower model movement following the mouse, with smoother motion

Lip Sync

Controls the model's mouth opening and closing parameters based on audio volume

For item properties, see Common Item Properties A

Property Description
Gain Higher gain makes the mouth movement more sensitive to audio volume
Smooth Time Higher smooth time results in slower changes in mouth movement, with smoother motion

Parameter Dragging

Use mouse-related operations to control model parameters.

Note

The specified animation must be playing; otherwise, this controller will not work.

Item Property Description
Name Project name
Hit Area The area that triggers dragging
ID Parameter ID
Minimum Value Minimum parameter value; if not set, the default value is used
Maximum Value Maximum parameter value; if not set, the default value is used
Type ■ Drag: Hold the left mouse button and drag
■ Stroke: Hold the left mouse button and move back and forth
■ Hold: Hold down the left mouse button
Coordinate Axis Mouse X and Y axes
Factor Multiplication factor
■ Drag / Stroke: The parameter change value per pixel moved by the mouse
■ Hold: The parameter change value per second held
Lock Parameter The parameter does not return to its original position after releasing the mouse
Weight The degree of influence the parameter value has on the model, i.e., [Actual Influence Value = Parameter Value x Weight]
Minimum Value Motion Triggered when the parameter reaches the minimum value
Maximum Value Motion Triggered when the parameter reaches the maximum value
Start Motion Triggered when the left mouse button is pressed
End Motion Triggered when the mouse is released (without reaching the maximum parameter value)
Enabled Whether the project is enabled

Parameter Loop

Parameters loop over time.

Note

The controller will play animations at a high layer and take control.

Item Property Description
Name Project name
ID Group Parameter ID group
Type How the parameter value changes
Blend Mode Blend mode between the parameter and model motion
Duration Loop time (ms)
Minimum Value Minimum parameter value
Maximum Value Maximum parameter value
Minimum Interval Minimum interval between two loops
Maximum Interval Maximum interval between two loops
Weight The degree of influence the parameter value has on the model, i.e., [Actual Influence Value = Parameter Value x Weight]
Time Sync Set parameter values based on the current system time
Enabled Whether the project is enabled

Slot Opacity

Predefined artmesh opacity that allows user control.

For item properties, see Common Item Properties B.


Slot Color

Predefined artmesh color that allows user control.

For item properties, see Common Item Properties B.


Accelerator

Use mobile hardware accelerators to control model parameters.

For item properties, see Common Item Properties A.


Key Trigger

Item Property Description
On Press Motion Triggered when the key is pressed
On Release Motion Triggered when the key is released

Hint

To enable key functionality, activate Hotkeys in Control Panel > Settings.

Note

  • When using the left or right mouse buttons, set the corresponding trigger motion to a different layer than the click event, or the click event will not trigger after the left or right mouse button events are triggered.
  • Use Preview Model on Desktop or load the model directly in desktop/wallpaper software to view the effect.

Affection System

Property Description
Initial Value Initial value assigned when the model is first loaded. This value must fall between the minimum and maximum values.
Minimum Value Lower limit of affection level
Maximum Value Upper limit of affection level
Active Reward Reward value per minute when the model is loaded, usually set to a positive value
Inactive Reward Reward value per minute when the model is not loaded, usually set to a negative value
Daily Reward Limit Upper limit of daily rewards
Bind Parameter ID Bind to a model parameter, where the parameter value is controlled by the affection level, commonly used to display the current affection level value

Hint

You can change the affection level value using the Affection property in Motion Events.


#Appendix: Common Item Properties A

Note

The controller will play animations at a high layer and take control.

Item Property Description Mouse Tracking Lip Sync Accelerator
Parameter Parameter ID
Coordinate Axis Mouse X and Y axes
Reverse Reverse parameter value
Minimum Value Minimum parameter value
Maximum Value Maximum parameter value
Default Value Default parameter value
Blend Mode Blend mode between the parameter and model motion
Weight The degree of influence the parameter value has on the model, i.e., [Actual Influence Value = Parameter Value x Weight]
Input Directly bind to mouse movement or left and right buttons

Maximum Value, Minimum Value, and Default Value

  • Parameters inherently have maximum, minimum, and default values, which will be automatically filled in when a parameter is selected.
  • These three values can be customized, which will override the default values of the parameter.
  • Customized values must fall within the inherent maximum and minimum value range of the parameter.

#Appendix: Common Item Properties B

Item Property Description
Name Project name
Text Display text; if not specified, the project name will be displayed
Value Initial value
Hidden from User Does not appear in the edit panel
ID Group Associated parameter ID group
Key Values ■ Used only for the Slot Color controller
■ If key values exist, the UI will display as left and right arrows; otherwise, it will display as a slider

Hidden from User

Normally, users can modify the values of a project through the edit panel. If the project value is fixed or should not be modified by the user, check Hidden from User.

#Appendix: Available Commands

  • Commands are space-separated for each parameter. If an ID or path contains spaces, use a backslash before the space. For example, my model should be written as my\ model.
  • Use a semicolon (;) to separate multiple commands.
Command Description Example
open_url Open a link in a browser open_url https://www.baidu.com
change_cos Change costume change_cos cos02.model.json
start_mtn Execute the specified model motion start_mtn model_id group:motion (model_id can be omitted to represent the current model)
stop_mtn Stop motions at the specified layer stop_mtn 1 (1 represents the layer number); for the default layer, write 0
stop_sound Stop sound stop_sound 0 (0 is the channel identifier)
stop_all_sounds Stop all sounds
mute_sound Mute sound mute_sound 0 (0 is the channel identifier)
unmute_sound Unmute sound
hide_text Hide text display
set_skins Set multiple skins
add_skins Add skins
remove_skins Remove skins
reset_pose Reset the pose
Property Command Description Example
slot_opacities
slot_colors
lock
unlock
set
Lock
Unlock
Set
■ slot_opacities lock SLOT_A 1 (1 is the lock value)
■ slot_opacities unlock SLOT_A
■ slot_opacities unlock (unlock all)
■ slot_opacities set SLOT_A 1

* The difference between lock and set is that lock is persistent, while set assigns a value only once.
motions enable
disable
Enable
Disable
■ motions enable group:motion
■ motions disable group:motion
hit_areas enable
disable
Enable
Disable
■ hit_areas enable area_name (area_name refers to the name)
■ hit_areas disable area_name

Options

Property Description
ID Model ID, used for interaction between models
Name Display name, used to display the model name in various places (e.g., text boxes)
Scale Factor Default scaling of the model
Position X Default horizontal position of the model
Position Y Default vertical position of the model
Anisotropic Filtering Level Anisotropic filtering improves the appearance of textures in certain situations but increases the performance cost on graphics hardware. When the value is greater than 1, it overrides the anisotropic filtering level set in the application.
Edge Padding Resolves issues with black edges appearing on the model
Allow User Customization When checked, users can customize the model
Shader In some cases, the default shader may cause the model to display incorrectly. Changing the shader might resolve display issues.