We're happy to announce the release of our brand new spine-godot Runtime! This new runtime lets you bring your Spine skeletons into Godot Engine effortlessly.
spine-godot Runtime released
- Змінено
I was looking forward to it! This is great Q.Q
I'm already having fun with Godot Spine :fiesta:
Just in time, we were intending to check out Godot after our current project ends.
I think it will be profitable, maybe not immediately, but with time. Thanks!
I'm excited!
spine-godot sits on top of spine-cpp, our C++ runtime. Since we wanted to integrate tightly with the Godot editor to provide a best in class experience, we had to implement spine-godot as a custom C++ engine module. We had to take this route, as GDNative and its successor GDExtensions do not surface all of the editor APIs we need, such as the animation player and editor APIs.
Thank you for writing a custom C++ module.
We've started work on the spine-godot runtime in November 2021, based on a generous source contribution by rayxuln.
Also thanks to rayxuln on github for providing a starting point.
Hi! Very excited about this however, I am having issues with the examples. After getting the Git, when I try to load "spine-runtimes/spine-godot/example/project.godot" I get an error box with "Error loading: helloworld.tscn Load failed due to missing dependencies: [url=res://assets/spineboy/spineboy-data-res.tres]res://assets/spineboy/spineboy-data-res.tres[/url]".
I can see that file in the FileSystem folders and if I choose "Fix Dependencies", I get the 'Dependencies For: helloworld.tscn" pop-up box with 2 entries: spineboy-helloworld.gd and spineboy-data-res.tres in the Resource section and [url=res://examples/01-helloworld/spineboy-helloworld.gd]res://examples/01-helloworld/spineboy-helloworld.gd[/url] and [url=res://assets/spineboy/spineboy-data-res.tres]res://assets/spineboy/spineboy-data-res.tres[/url] in the Path section.
Not sure what to do next as the "Fix Broken" button remains grayed out.
If I ignore the dependencies and press "Open Anyways", I get a "Load Errors" pop-up box with "Scene'res://assets/spineboy-data-res.tres has broken dependencies: [url=res://assets/spineboy/spineboy-pro.json::SpineSkeletonFileResource]res://assets/spineboy/spineboy-pro.json::SpineSkeletonFileResource[/url] [url=res://assets/spineboy/spineboy.atlas::SpineAtlasResource]res://assets/spineboy/spineboy.atlas::SpineAtlasResource[/url]"
I'm probably missing something simple, but if anyone has an idea, I am open to suggestions! Thanks - ChzBoi
EDIT - Found it...I was logged into the wrong machine with the old Godot build! Easy fix!
that's amazing! Thanks for creating this spine-godot Runtime!
how can I import the SpineSkeletonFileResource for the .skel or .json skeleton file and the SpineAtlasAssetResource ? because when I click import no resource is created.
I figured it out! I have made a video to everybody explaining how to import from spine to godot
Also I have made a video of how to load the spine examples:
Hey everyone!
I'm new to the forum and I didn't find a Godot section to post this. I'm having problems on replicating the sample 08-animation-player
.
I've done the following:
- Start an empty 2D Scene
- Create a child node of type
SpineSprite
- Fill the
skeleton_data_res
on editor with res://assets/spineboy/spineboy-data-res.tres - Create a grandchild node of type
SpriteAnimationTrack
In the documentation at http://esotericsoftware.com/spine-godot#SpineAnimationTrack :
When creating a SpineAnimationTrack, an AnimationPlayer node is created and attached as a child.
That's not happening.
I made sure to check every variable of the original scene's nodes and put it on my test scene, mainly setting the Debug
variable on the SpineAnimationTrack
to true
. Still, no automatic creation of the node AnimationPlayer
.
I tried creating the AnimationPlayer
node manually. The problem is that the automatic created node would allegedly be filled with animations from the skeleton_data_res
. I tried making it the animations manually but I can't seem to find the properties animation_name
and loop
on SpineAnimationTrack
.
I can force any property to create the track, then rename it. Still, I can't seem to be able to change the value
.
What am I missing? I'm sure I must doing something wrong, but I still can't figure out what.
Thank you for your time!
There was a bug relating to the automatic creation of the AnimationPlayer
which was fixed 13 days ago:
https://github.com/EsotericSoftware/spine-runtimes/commit/25c57766e851383b7a222bf6a852fce4a1d31669
Please download our latest Godot binary for your OS from here:
spine-godot Runtime Documentation
Hello! How do I get the current animation playing and not display the same animation again if it is already shown? Been having trouble just implementing simple topdown movement because of that...
What is the bigger context?
You could set the looping off for example as explained here, so that the animation you set only plays once:
spine-godot Runtime Documentation: Animating a
(disclaimer: I am but a humble animator attempting to code in Godot for the first time)
Erika написавWhat is the bigger context?
You could set the looping off for example as explained here, so that the animation you set only plays once:
http://esotericsoftware.com/spine-godot#Animating-a-
(disclaimer: I am but a humble animator attempting to code in Godot for the first time)
I might need to play around with it some more xD (anyway Spine is great! I could make animations that would usually take me ages to make in like a day).
Btw, Godot 3.5 was just released, will the Spine runtime be updated to support that version?
Already up-to-date You can find the download links for the new binaries here:
spine-godot Runtime Documentation
Mario написавAlready up-to-date
You can find the download links for the new binaries here:
spine-godot Runtime Documentation
Nice thank you
Amazing software with amazing support!
It seems using the custom build Godot Spine version clashes with some plugins that also use JSON for data... Keeps saying error parsing JSON at line 0, which doesn't happen if I use the official build of Godot 3.5 (I use a bare new project with only that plugin for tests)
The big one I'm using is Dialogic, which is kinda essensial plugin if you want to have dialogs in the game. Any way to fix this or am I doing something wrong?
Aye, it's on my todo, see https://github.com/EsotericSoftware/spine-runtimes/issues/2134
Animating my character in Godot is working great.
As far as setting up the character controller, I know I can do something like:
if Input.is_action_just_pressed("ui_left"):
get_animation_state().set_animation("Run", true, 0)
velocity.x -= speed
...this moves the character, but since I'm not extending KinematicBody2D I don't have access to 'move_and_slide()' & 'is_on_floor()' like most controller examples use.
So what I'm doing is setting the 'SpineSprite' node as a child of 'KinematicBody2D' node.
Then I can apply the animation Spine code to the SprineSprite node & have a separate script on the KinematicBody2D node to process anything I want with is_on_floor() & move_and_slide().
But I'm not sure if this is the best way to do this, or if it's better I just build out all the custom control physics all in the 'SpineSprite' script. Curious what anyone else is doing...
jdowdy6 написавBut I'm not sure if this is the best way to do this, or if it's better I just build out all the custom control physics all in the 'SpineSprite' script. Curious what anyone else is doing...
I mean, you'd do this for a regular KinematicBody2D + Sprite setup, wouldn't you?
That's a reasonable setup imho.