BinaryCats

  • 10 сен 2017
  • Регистрация: 12 окт 2014

    I summon @BinaryCats. In Attack Mode!

    Hi guys,

    I'm trying to implement the bit of code that @BinaryCats (thank you a thousand times for that) wrote, but I'm struggling making it work because I'm a beginner on Spine and the Spine-Unity lib.

    I think I have an issue with the setup of the root bone animation maybe :/
    I firstly made the main animation on the static character, then I made the root bone moving on the Y axis (my game is a vertical scroller).

    Then I imported my character on Unity and in the hierarchy as a SkeletonAnimation. I Setted the default AnimationName as the one I created. And when I push Play I see that my character actually translate on the Y axis but the transform of my character GameObject doesn't have his y axis changing by some wizardry i'm not fimiliar with!

    I then added a SkeletonUtility and then spawned a Hierarchy (follow) to fill the RootBone public property with my actual root bone. I could then get a root bone gameobject with a SkeletonUtilityBone component already attached.

    I tried after to make the changes ahead on SkeletonUtilityBone and the TranslateTimeline.Apply method, but I still see my character moving up even if my bone get its ax and ay properties set to 0 in the DoUpdate function 🙁

    So I'm now looking for someone to help me pointing out my mistake(s) so I can finally get a static object that I can move programmatically by retrieving the StoredBonePos Vector2.

    Thank you in advance folks!

    @BinaryCats Not sure if I understand exactly what you mean? But I've animated a complete game by almost using only meshes transformation keyed animation.

    @BinaryCats:
    Yeah I know what you mean, it's such a useful feature it would be great if it was built into the editor, even if that would lock out users of older versions of the editor (due to 3rd party runtime compatibility etc).
    An external tool which allowed the user to choose a version of Spine from a dropdown list, and merge skeletons from that version would definitely have my money! (hint hint lol!)

    @Macguffin:
    Ahh that's interesting, hopefully someone "in the know" can comment on this thread soon and clear things up, but that looks promising.

    @BinaryCats It's a complicated feature? :giggle:

    @BinaryCats Not sure about renaming animations according to groups, but the GetAnimationGroup() API method you're suggesting would be handy.

    @Shiu Nice! There are no rush anyway, just glad if this happens eventually.


    As my animation list gets longer, my autistic needs for order gets stronger, so I can't help but wonder how far the feature is from release? 🙂

    :party: My best wishes to the Spine team for 2017! :party:

    Yes, I am using the modified animation state to avoid the dip.

    Also, I don't know which bone it is - or which animation is leaving it modified - or I wouldn't need to debug it. :rofl:

    The worst part is I can reproduce which in-game motions cause the bug 100% of the time - but in both cases, the same animation sequence is run... but with very slightly different timing, which makes this frustrating.


    26 Dec 2016, 23:11


    Yep, the checkbox helped - its a bone called the 'TranslateBone' - used to do root-motion type things. I sample the movement of this bone, subtract it out from the model, then apply it as a velocity to the character.

    It appears that if the transition (mix) from the jump rising to jump falling animation is occuring when I trigger the 'Grab Corner" animation, it correctly sets all of the bones to the right positions.

    If I trigger the Grab Corner animation while only one or the other is playing, the bone remains in the position it was in during the previous animation.

    I need to tweak @BinaryCats editor, but you can see here - the first "Mantle High Idle" is the scenario where it worked - while the second is the case where it was broken. Same animation sequence.


    27 Dec 2016, 08:28


    Yay.

    Fixed it by setting a key on the animation that was looping.

    Still not sure why its value was persisting, but this works for now 🙂

    @BinaryCats I saw in the other thread about Mecanim you said that you moved away from Mecanim right? Is root motion easier without it? I saw a few script in this forum about this. I decided to use Mecanim because we have a complex movement system and thought its easier do define this with Mecanim. If you say that its without easier, I'll give it a try to programm it.

    @BinaryCats How do you deal with different resolutions/densitiies in mobile? It seems this is tailored for a very specific aspect ratio and resolution.

    Thanks.

    @[удалено]

    Thank you for your detailed explanation. I already posted and described my situation at the following thread, but @BinaryCats pointed me this thread then I got confused after reading through all the comments 😃

    http://esotericsoftware.com/forum/Libgdx-Attachment-Bug-Fix-Proposal-6614

    Could you take a look at my comment in the above thread and give some advise please? :$

    Guessing this isn't a major priority still?: )

    • Just wondering if sound playback via events (or similar), within the editor is on the 'editor roadmap' somewhere in not too distant future? 😛
    • +1 for feature (for what it's worth)

    @BinaryCats
    "nade made a tool to do this, ill see if I can find it"

    • whats the tool or possible workaround to save exporting/updating contents/compiling build/project each time to check finer audio elements?

    thanks in advance.

    Hey @BinaryCats : Thanks for the feedback. What animation are you talking about specifically ?

    @jess.o.lopez : Thanks for the help, but we're good for now 🙂 Thanks anyway !

    Thanks @BinaryCats. Yes, it's free as the production was supported by NZ on Air. Enjoy 🙂

    spine-c (which spine-cocos2dx uses) is written in C.
    C doesn't have classes so you technically can't subclass anything from spine-c.

    Depending on what you're trying to do, what you could do is write separate C++ wrapper classes around the classes you need to extend the functionality. Or just modify the code.

    I guess actual Cocos2dx users may have more input.
    Or @BinaryCats?

    @BinaryCats. Yeah, it was pretty recent. Check your hotkeys.txt.

    Single-bone IKs are broken with flipX. This is a known bug.
    @BinaryCats had a trick to work around it.
    Basically, force a two-bone IK by adding a dummy parent bone that has the same position as your child bone, and add the constraint to those two bones instead of just the single bone.

    Handle that IK bug, and if flipX makes ragdoll work, that's probably the way to go.

    Single-bone IKs will be fixed in Spine v3, but it should be easy to undo the hack above if you're really disturbed by it and once v3 rolls out. But honestly, it's pretty harmless.

    Ohh! sorry!!! thanks you too @BinaryCats 😃

    Thank you, @BinaryCats. 😃

    @BinaryCats, what strips what flip data?

    @BinaryCats. This is Java.