1. Live2DViewerEX
  2. News
  3. 2025.9.25 Update: Submodel feature and Model Slot Editing

2025.9.25 Update: Submodel feature and Model Slot Editing

[h3]Version:2025.9.25[/h3][p][/p]
  • [p]Json Config: Added "add_submodel" and "remove_submodel" commands[/p]
  • [p]Json Config: Renamed "change_cos" command to "change_model"[/p]
  • [p]EX Studio: Merged Live2D/Spine editor and uploader[/p]
  • [p]EX Studio: User interface optimization[/p]
  • [p]Common: Added submodel feature[/p]
  • [p]Common: Added model slot editing feature[/p]
  • [p]Common: Bug fixes[/p]
[h3][/h3][p][/p][h3]About Model Slot Editing[/h3][p][/p][p]Mainly used to configure the default position, size, etc. of models when they are loaded into a specific slot. When a model is loaded for the first time, it will use this slot setting.[/p][p][/p][p]In the Control Panel or Quick Menu, click Edit Model Slot to open the editing panel, where you can configure the default position, size, and other settings of a model slot. You can switch model slots using the menu in the upper-left corner. Drag the crosshair intersection or adjust the X/Y values in the panel to set the default position. The Reset All Model Transforms button resets all models’ position, size, and related settings for the current model slot.[/p][p][/p][p]Use case:[/p][p]If a user wants all models to be placed in the corner of the screen without editing each one individually, they can move the model slot to the corner and click the 'Reset all model transforms' button. After that, all models loaded for the first time will default to this position.[/p][p][/p][p][/p][p][/p][h3]About Merging Live2D and Spine Editors[/h3][p][/p][p]After the merge, you can freely switch between Live2D and Spine models, including switching via the change_model command. Submodels of different types can also be displayed simultaneously.[/p][p][/p][p][/p][h3]About Submodels[/h3][p][/p][p]Use cases[/p]
  • [p]Some models separate the background and character. You can set the character as the parent model and load the background on startup, allowing both models to move and scale as a single unit.[/p]
  • [p]When creating models, you can separate UI, character, and background to reduce complexity of a single model. This also enables dynamic switching of backgrounds or characters, offering greater flexibility than simply replacing textures.[/p]
[p][/p][p]Limitations[/p]
  • [p]Submodels can only be added or removed by the parent model through commands. Submodels cannot have their own submodels. When the parent model is removed, its submodels are removed as well.[/p]
  • [p]When adding a submodel, you can set its display order from -3 to 3. The parent model is at position 0, positive values display in front, negative values display behind. Multiple models can occupy the same position, but overlapping may cause display issues.[/p]
  • [p]Users cannot adjust the position or size of submodels; only initial position and size can be set in the Json configuration. Submodels will follow the parent model’s movement and scaling.[/p]
  • [p]Since there is no dedicated editing panel for submodels, you cannot change expressions or adjust mesh opacity from the editor; these can only be changed via commands.[/p]
  • [p]Submodels use the parent model’s text box for text display, so if multiple models display text at the same time, they may compete for the same text box.[/p]
  • [p]When using Workshop items or WPK files, submodels share the parent model’s save data, meaning changes to floating-point variables, affinity, etc., affect both. With LPK or Json files, the submodel’s save data is separate from the parent model.[/p]
  • [p]Submodels and parent models can be different types (e.g., parent is Live2D, submodel is Spine).[/p]
  • [p]To ensure performance and prevent abuse, a maximum of 6 submodels can be added.[/p]
[p][/p][p]How to use[/p]
  • [p]Add submodel: add_submodel config.json 1 (1 is the position, an integer in the range -3 to 3. The parent model is at position 0; values greater than 0 display in front, values less than 0 display behind.)[/p]
  • [p]Remove submodel: remove_submodel config.json (removes all submodels with the configuration name config.json)[/p]
[p][/p][p][/p][p][/p]