Search Unity

  1. Unity Asset Manager is now available in public beta. Try it out now and join the conversation here in the forums.
    Dismiss Notice

Feature Request 2D Animations Package manual bone assignment

Discussion in 'Animation Previews' started by GamerXP, Sep 3, 2019.

  1. GamerXP

    GamerXP

    Joined:
    Mar 22, 2014
    Posts:
    78
    Hello, I've been using latest version of 2d animation tool and encountered one problem that don't have a good workaround.

    When I animated a single pose without that much movement - it was all fine. But when I tried doing some bigger moves - I thought I need some extra variants of some body parts.Problem is that new body parts' graphics don't match bones. I saw skeletal spritesheets from some games - they generally try to match graphics with bones. But this method don't really work for me and makes things a bit hard to navigate later as well.

    So, I think it should be possible to implement:
    Allow to manually assign EXISTING bones to any sprite at any position. Maybe not changing bone length, but at least change their relative positions. Looking at how PSB importer work, maybe make it available only in Spritesheet mode.

    Example:
    You have a straight arm sprite and bent arm sprite. They must use same bones, but their graphics do not match. Unbending that bent arm's graphics will make it look weird when you try to bend it again in game, so it will be much better if you make bones match graphics, not other way around.

    Also, another features, that, probably, require previous one:
    Full copy of mesh, assigned bones and weights from one sprite to another. Because making animated frames of some parts is really hard now if you manually edited weights.
    Also, allow to reorder Bone Influence list since they must match between sprite variants, and you have to delete everything and create again if order is different

    Edit:
    Actually, normal skinning, not PSB-based, can do what I requested, but it don't have that nice feature of using same bones for multiple overlapping sprites. It still possible to do same thing with PSB-based images, but it creates extra unnecessary bones
     
    Last edited: Sep 3, 2019
  2. ed_s

    ed_s

    Unity Technologies

    Joined:
    Apr 17, 2015
    Posts:
    165
    Thanks for the feedback!

    Have you looked into the Sprite Swap feature? It might be able to help you achieve this.

    https://docs.unity3d.com/Packages/com.unity.2d.animation@2.2/manual/SpriteSwapIntro.html
     
  3. GamerXP

    GamerXP

    Joined:
    Mar 22, 2014
    Posts:
    78
    Yes, I've been using it. I DID managed to achieve what I wanted, but it generates a lot of extra bones, that get in the way later. Also, it's really hard to setup correctly - I think it need something like "Poses" page, where you can setup some basic poses with different sprites, but same bones, moved to different positions

    Edit:
    Also, there is a bit of issue with method I had to use. I grouped sprite variants that used different bones in same categories. Issue was that final prefab used bones of the first sprite in category, but there were no way to change order of sprites in categories besides straight removing and adding them again (same problem as with bone order)
     
    Last edited: Sep 4, 2019