I'm afraid that is not possible, due to how the cocos2dX rendering pipeline works. We can not interleave rendering of multiple skeletons like you describe with cocos2dX.
Thanks for reporting. This has been fixed in the 4.2 branch.
Please note that in Spine 4.3, we are removing spine-c in favor of spine-cpp-lite, a C wrapper around spine-cpp. This consolidation to a single implementation for native runtimes should help improve the native runtimes considerably.
The crash happens in Godot code, not spine-godot code.
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libsystem_kernel.dylib 0x181da25d0 __pthread_kill + 8 1 libsystem_pthread.dylib 0x181ddac20 pthread_kill + 288 2 libsystem_c.dylib 0x181ce7a30 abort + 180 3 Godot 0x10176e068 0x100fa4000 + 8167528 4 libsystem_platform.dylib 0x181e0b584 _sigtramp + 56 5 libspine_godot.macos.editor 0x110e85c74 0x110dbc000 + 826484 6 libspine_godot.macos.editor 0x110e858f8 0x110dbc000 + 825592 7 libspine_godot.macos.editor 0x110eaab00 0x110dbc000 + 977664 8 Godot 0x105d6b92c Object::set(StringName const&, Variant const&, bool*) + 112 9 Godot 0x10480b378 SceneState::instantiate(SceneState::GenEditState) const + 7044 10 Godot 0x10480da70 PackedScene::instantiate(PackedScene::GenEditState) const + 36 11 Godot 0x1032c095c EditorExportPlatform::_export_customize(String const&, LocalVector<Ref<EditorExportPlugin>, unsigned int, false, false>&, LocalVector<Ref<EditorExportPlugin>, unsigned int, false, false>&, HashMap<String, EditorExportPlatform::FileExportCache, HashMapHasherDefault, HashMapComparatorDefault<String>, DefaultTypedAllocator<HashMapElement<String, EditorExportPlatform::FileExportCache>>>&, String const&, bool) + 1664 12 Godot 0x1032c7490 EditorExportPlatform::export_project_files(Ref<EditorExportPreset> const&, bool, Error (*)(void*, String const&, Vector<unsigned char> const&, int, int, Vector<String> const&, Vector<String> const&, Vector<unsigned char> const&, unsigned long long), Error (*)(void*, String const&), void*, Error (*)(void*, SharedObject const&)) + 15624 13 Godot 0x102bd19d4 EditorExportPlatformAndroid::export_project_helper(Ref<EditorExportPreset> const&, bool, String const&, int, bool, BitField<EditorExportPlatform::DebugFlags>) + 11616 14 Godot 0x102be58b4 EditorExportPlatformAndroid::export_project(Ref<EditorExportPreset> const&, bool, String const&, BitField<EditorExportPlatform::DebugFlags>) + 308 15 Godot 0x1033490b4 ProjectExportDialog::_export_project_to_path(String const&) + 1148 16 Godot 0x101aee244 0x100fa4000 + 11838020
Without a minimal reproduction project, I'm afraid I can not help. All our test projects export fine with the latest extension build, on macOS.
From the log:
/home/gogzy/Downloads/spine-runtimes-4.2/spine-godot/example-v4-csharp/examples/04-simple-input/SpineboyInput.cs(4,38): error CS0246: The type or namespace name 'SpineSprite' could not be found (are you missing a using directive or an assembly reference?) [/home/gogzy/Downloads/spine-runtimes-4.2/spine-godot/example-v4-csharp/spine-godot-examples.csproj]
msbuild can't find `SpineSprite, which means the assembly can't be found. Your NuGet setup must be broken in some way. But I'm afraid that's hard to debug for me remotely :/
I will update the docs regarding the incompatibility of spine-godoto extension 4.3 with iOS and Android.
Installation Verification:
- The extension version number is Godot 4.4.1 in the download section for Godot 4.4.1.
- The installation procedure is as described on the spine-godot documentation page:
https://en.esotericsoftware.com/spine-godot#spine-godot-GDExtension-downloads - None known
- Export your project and run it on a device, as per the Godot documentation
Project Migration
No compatibility issues are known when upgrading from 4.3 to 4.4.x.No specific migration steps required. Just upgrade your Godot project from 4.3 to 4.4.x (which is automatic when you open it in Godot 4.4.x), and update the spine-godot extension in your project.
I'm afraid the auto-translation isn't great. Can you please describe in detail what you want to achieve? Possibly with illustrations?
I'm afraid I have no idea what could be the cause on your end. Did you try to export for HTML using the export settings in my test project?
Oh, you might be on to something wrt to how you serve the game. For my test, i used
python3 -m http.server
in the directory I exported the test project to. I can then load the demo in the browser at http://localhost:8000.Hah, this has happened to me numerous times as well
The spine-godot extension version 4.3 does not support Android and iOS exports. Please update to Godot 4.4.x and the spine-godot extension for that version.
I've created a test project and exporting and running both Android and iOS exports works as expected.
At the bottom of the second verbose log you find this:
Which points to a log file by MSBuild. Send that as well. Looks like your dotnet setup might not be working.
As for the first log and "kind of crash" it's really hard to tell what's going causing it without being able to reproduce it. What project did you try to open? Since our example-v4 opens for you, there must be something in your project that makes the Godot build hang/crash.
That's currently not directly possible due to how cocos2dx rendering works. But you can achieve something similar with the render separator. See:
EsotericSoftware/spine-runtimesblob/4.2/spine-cocos2dx/example/Classes/SkeletonRendererSeparatorExample.cppIt looks like the spine_godot_extension.gdextension has an error in it. Please replace its contents with this:
[configuration] entry_symbol = "spine_godot_library_init" compatibility_minimum = "4.1" [libraries] macos.editor = "macos/libspine_godot.macos.editor.framework" macos.debug = "macos/libspine_godot.macos.template_debug.framework" macos.release = "macos/libspine_godot.macos.template_release.framework" ios.debug = "ios/libspine_godot.ios.template_debug.framework" ios.release = "ios/libspine_godot.ios.template_release.framework" windows.editor.x86_64 = "windows/libspine_godot.windows.editor.x86_64.dll" windows.debug.x86_64 = "windows/libspine_godot.windows.template_debug.x86_64.dll" windows.release.x86_64 = "windows/libspine_godot.windows.template_release.x86_64.dll" linux.editor.x86_64 = "linux/libspine_godot.linux.editor.x86_64.so" linux.debug.x86_64 = "linux/libspine_godot.linux.template_debug.x86_64.so" linux.release.x86_64 = "linux/libspine_godot.linux.template_release.x86_64.so" linux.editor.arm64 = "linux/libspine_godot.linux.editor.arm64.so" linux.debug.arm64 = "linux/libspine_godot.linux.template_debug.arm64.so" linux.release.arm64 = "linux/libspine_godot.linux.template_release.arm64.so" linux.editor.rv64 = "linux/libspine_godot.linux.editor.rv64.so" linux.debug.rv64 = "linux/libspine_godot.linux.template_debug.rv64.so" linux.release.rv64 = "linux/libspine_godot.linux.template_release.rv64.so" android.debug.x86_64 = "android/libspine_godot.android.template_debug.x86_64.so" android.release.x86_64 = "android/libspine_godot.android.template_release.x86_64.so" android.debug.arm64 = "android/libspine_godot.android.template_debug.arm64.so" android.release.arm64 = "android/libspine_godot.android.template_release.arm64.so" web.debug.threads.wasm32 = "web/libspine_godot.web.template_debug.wasm32.wasm" web.release.threads.wasm32 = "web/libspine_godot.web.template_release.wasm32.wasm" web.debug.wasm32 = "web/libspine_godot.web.template_debug.wasm32.nothreads.wasm" web.release.wasm32 = "web/libspine_godot.web.template_release.wasm32.nothreads.wasm"
I've created a minimal project you can check out:
http://mariozechner.at/uploads/test.zipSpinebot is right. spine-android does work on Android 9, but only if hardware acceleration is disabled. And depending on the device/manufacturer changes to the OS, you might still run into rendering bugs. Your minimum Android version should be 10 for spine-android to work reliably. There is no workaround, as the Canvas APIs needed to render Spine skeletons are broken on Android < 10.
Found a way by directly passing respective compiler/linker flags to the build. You can grab the latest extension binaries from https://esotericsoftware.com/spine-godot once this build completes successfully:
EsotericSoftware/spine-runtimesactions/runs/15209797741Thanks for reporting!
I've opened an issue here. EsotericSoftware/spine-runtimes2861
I have tried to figure out why the ios_min_version parameter isn't interpreted correctly by Scons, but couldn't find a fix. I've contacted the Godot folks for input on the matter.
We do not have an official Qt/QML runtime. Could you point me to what you are using?
As Spinebot said, that's currently not possible. I've opened an issue here:
EsotericSoftware/spine-runtimes2859We are currently in the process of finalizing Spine 4.3, which requires porting changes to all runtimes. It will take some time before we can throw resources at this Flutter feature.
Please attach the plain file here. The fancy new Notepad has Copilot, which is likely messing with the display of the file somehow.
- Dans 导出后发光异常问题
You are likely using a blend mode for that sabe that is not supported in Godot. See
EsotericSoftware/spine-runtimes2498