chuguang Thank you for sending us the video! I think there may be a little misunderstanding about the version concept first, so let me explain that first.
When using Godot and Spine skeletons together, it is important to note that there are three different versions of the word "version":
- Version of the Godot editor, such as Godot 3.5, 3.6, 4.0, 4.1, 4.2, 4.3.
- Version of the spine-godot runtime, such as 4.1 or 4.2.
- Version of the Spine editor, such as 4.1 or 4.2.
What I mean is that there could be a combination of, for example, a Godot 3.6 build with the spine-godot 4.2 runtime that can display skeletons exported from Spine4.2.
Then there could be a combination of a Godot 4.0 build that with the spine-godot 4.1 runtime that can display skeletons exported from Spine 4.1.
In other words, just because the version of Godot is newer does not mean that the version of the spine-godot runtime included in the Godot build is newer.
To display the skeleton correctly, the versions of the Spine Runtime and Spine Editor must always match. Therefore, it is incorrect to try to import skeleton data exported from Spine 4.1 against Godot 4.2.2, which contains the spine-godot4.2 runtime, as you did in your video.
Regarding the issue with the animations looking different, it appears that the animation of the slot color change is lost. I am not sure the details of why this occurs, however, it seems that if you save the project once in 4.1 and then open it in 4.2, it will appear correctly, so it may be a good idea to save the Spine project once in 4.1 and then export it from 4.2 in a series of operations via the CLI.
When launching Spine via the CLI, you can use the -u
or --update
command to specify the Spine editor version to launch. Then, using the commands described in the Import section of the CLI documentation, you can quickly perform the sequence of opening and saving in the version you specify. For example:
Spine --update 4.1.xx --input <Path to your Spine project> --output <Path to the upgraded Spine project> --import
For example, if you specify the path as follows, you can create a new folder named "upgraded" in the folder with the Spine project you specified, and save the Spine project saved in Spine4.1 in it:
Spine --update 4.1.xx --input spine/vfx/01.spine --output spine/vfx/upgraded/01.spine --import
You can then use the export command like the following to export the Spine project:
Spine --update 4.2.xx --input spine/vfx/upgraded/01.spine --output spine/vfx/upgraded --export binary
We have published scripts that are useful for version upgrades like this one, so please check them out as well:
Blog: 新的导出 shell 脚本
By the way, there is actually an error in your texture packer setup. The spine-godot runtime currently does not support atlases exported using pre-multiplied alpha due to technical limitations in Godot. Therefore, the texture packer setting should not be left as the default, and be sure to uncheck the Premultiplied alpha
(预乘Alpha).
If there is anything unclear, please do not hesitate to ask questions.