[Possible Bug?] HElp with setting up a skeleton2D with

Godot Version

4.7

Question

Hello i’m trying to set up a skeleton2D to make animation for a character i followed this tutorial:

Which means i use RemoteTransfer2D node to propagate the transform of the bones to the sprites so maybe that’s an issue but i don’t know for certain
This is the character’s scene tree:


This is how the character look like right now:

Flipping the x scale of the skeleton Node and then loading the skeletonstackmodifier 2D with the mods in it makes the character look like this:

bb

The thing is this was a reported bug that was “fixed” according to this pull request:

but as you can see that’s all bogus, any idea to fix this, maybe my setup is wrong, i know of the SoupIK addon but you’d think such rudimentary features should work out of the box

Give the skeleton, Sprite2D’s and everything else that needs to flip direction one extra parent Node2D and apply your negative x scale on only that! That should fix it.

Are you setting negative x scale on only charactercontainer already?

I uploaded an asset to the store that does it successfully exactly like this this in an example scene:

See also: 2D Inverse Kinematics do not work when parent node has negative X Scale · Issue #75224 · godotengine/godot · GitHub

So the fix I proposed will work, but may not work with inverse kinematics. Then again, maybe it will :person_shrugging:(someone should really check, but I’m not sure you’re going to iuse the IK stuff… Are you?)

@athousandships , do you know about the status of 2D IK, and fixing skeleton2d negative scaling issues?

Myself I only just delved into it while adding rigging for Bézier curves to Scalable Vector Shapes 2D. I haven’t tried any IK stuff yet, but could it simply be true that stuff may just work if you don’t flip the skeleton but a common parent Node2D of the skeleton and the nodes rigged by it?

If the ik handling uses global transforms I don’t really see why it wouldn’t work. :person_shrugging:

I am planning to use the IK for procedural animation, but that looks like a pipe dream now
without the modification, setting the skeleton x scale to -1 make flips it normally but then resetting it back to 1 messes up the placement again
I’m trying soupIK plugin i hope i won’t run into trouble there as well
for context this bug is still a thing for 4 years now so it’s safe to assume they’re not planning to fix it

I understand. Yes, reading up on it does seem like the built in IK bit won’t work either way. Good luck!

Not my area unfortunately so can’t speak to that

could you mention it to them? i mean if this was a niche feature that’s rarely used then yea i kinda get it but it’s an expected feature of any engine out there

Leaving this for anyone in the future
The solution is: the current ik system is straight ass use this plugin instead:

Be aware though as it has it’s own problems, when setting a limit to rotation for the SoupBone2D that limit won’t apply unless you enable and add easing resources (look in the inspector) also the two bone IK node is kinda jank and don’t work properly.