Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[DEPRECATED] Anima2D - Advanced 2D Skeletal Animation Plugin

Discussion in 'Assets and Asset Store' started by sergi_mandarina, Nov 21, 2015.

Thread Status:
Not open for further replies.
  1. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I understand stability is priority, about vertex deformation it is alreay available in plugins like Pupetter and it is a must have to get a lot better 2D animations not looking as paper and not as rigid bringing dynamism.
     
  2. vx.mark

    vx.mark

    Joined:
    Nov 21, 2015
    Posts:
    1
    Which files would we need to export/import if we wanted to reuse a 2D animation that has been created with Anima2D at another Unity development workstation?
     
  3. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    I know, we will continue the vertex deformation development soon.

    You would need to install Anima2D in the other workstation, create a prefab of your character and export it next to your SpriteMeshes and animations. I am thinking to add an option to export your character as a prefab without any dependence on Anima2D so people can create clean assets and distribute them in the Assetstore for instance.
     
    zenGarden likes this.
  4. Kale

    Kale

    Joined:
    Aug 25, 2011
    Posts:
    103
    Will you make more tutorials with the updated plugin. I tried to follow your vid but was stuck at the getgo. It may be because I hae zero experience with unity2d, but it just didn't work the same as the vid.

    EDIT: You know what, after posting that... I think I might've figured some of it out.
     
    Last edited: Jun 6, 2016
  5. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    I am glad you figured it out. Definitely tutorials and videos are on the way.
     
  6. xcube

    xcube

    Joined:
    Nov 27, 2011
    Posts:
    45
    Can you tell when a new version is released?
    I look forward to)
     
  7. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    I am working hard to release it as soon as Unity 5.4 gets out of the beta. Still I cannot promise an exact date.
     
  8. wladm

    wladm

    Joined:
    Oct 4, 2015
    Posts:
    7
    Just purchased the asset and I'm very happy with it, EXCEPT for one thing: although IK CCD2D works perfectly in the scene view, it's very jumpy in the run mode. The bones reset to their original position every second if any of the bones or the IK CCD2D object are being moved, after which they try to return to the position forced by the IK object - this repeats in a loop. Any idea why? IK is unusable in the play mode as it is now - am I missing something?
     
  9. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    IK should be usable at runtime. If you want to use them at runtime add an IK Group component to specify the update order of the IK objects. Maybe that fix your problem. Otherwise could you send me a small project reproducing the problem (support@anima2d.com)? Thanks.
     
  10. wladm

    wladm

    Joined:
    Oct 4, 2015
    Posts:
    7
    This fixed it! Thank you! Really loving your asset - can't wait for you to implement Free Form Deformation!

    A word of feedback: I would have loved to see more detailed documentation (especially explaining IK components). A video tutorial would have been so helpful - the one you have is sped up and has no commentary. Other than that, Anima 2d is just amazing. This is my first purchase from the asset store and I couldn't be happier - it saves me so much time and takes my animation to the next level.

    Thank you!
     
  11. Kale

    Kale

    Joined:
    Aug 25, 2011
    Posts:
    103
    Is there a way to have IK affect the knees separately from the feet or elbows and hands?
     
  12. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    Do you mean having individual weights per bone?
     
  13. Kale

    Kale

    Joined:
    Aug 25, 2011
    Posts:
    103
    No, I mean having an IK on the elbow. I was playing around with it a bit, and when I put the affected bone to the elbow or something in between, and not the end bone, it didn't seem to affect anything.
     
  14. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    Yes, you should be able to set the target to any bone. Do you have more than one IK operating to the same chain?
     
  15. Kale

    Kale

    Joined:
    Aug 25, 2011
    Posts:
    103
    Nope. When I set it to the knee, it doesn't seem to affect it, but when i move it down to the feet, it works fine.

    Just double checked to be sure. Though, my original question was to ask about separate IK on the same chain, though that stemmed from this issue.

    EDIT: upload pics of it.
     

    Attached Files:

    • nop.png
      nop.png
      File size:
      643 KB
      Views:
      1,062
    • yep.png
      yep.png
      File size:
      476.1 KB
      Views:
      1,142
    Last edited: Jun 16, 2016
  16. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    Ok, I see what happens. Your rightLeg bone does not have the child property set to rightKnee. By setting a child bone to a bone you create a chain of bones. IKs can only operate in bone chains.
     
  17. Kale

    Kale

    Joined:
    Aug 25, 2011
    Posts:
    103
    Oh, that fixed it. Huh, I wonder how that happened.

    Thanks.
     
  18. Amonsat

    Amonsat

    Joined:
    Mar 26, 2015
    Posts:
    8
    I have Warning "Anima2D: spriteMesh has invalid vertices". How can i fix it?
     
  19. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    You may have vertices placed outside the texture. Could you double-check that?
     
  20. mrleon

    mrleon

    Joined:
    Sep 27, 2014
    Posts:
    18
    Just wanted to say that this is a great asset, it's so much better (easier to use, less buggy) than other's that are similar — I hope development continues far into the future. Thanks!
     
  21. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    I've found the root of the problem and I am working in a solution.

    Thank you!
     
  22. Amonsat

    Amonsat

    Joined:
    Mar 26, 2015
    Posts:
    8
    Thanks. Warning fixed.
     
  23. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    About the next version:

    Next has been submitted and is waiting for review. This version fixes a bug caused by SpriteMeshes created from textures larger than the 'max size' in the Texture Import Settings. That was causing the sprite override to fail.

    This version works using the real size of the texture instead. That means if your texture was scaled down by the importer before editing your SpriteMesh, your SpriteMeshes will have incorrect vertices.

    This version will automatically fix your SpriteMeshes by detecting if the original texture is larger than the import settings 'max size' and will remap the vertices for you.

    What do you have to do to have a successful upgrade:
    Set the import settings 'max size' of the textures used by your SpriteMeshes to a value that makes your SpriteMeshes look OK in the SpriteMesh Editor.

    Change log:
    - Unity 5.4 beta compatible.
    - Added SpriteMesh Animation component.
    - IKs will update during Animation Mode.
    - IKs will not record bone keyframes by default.
    - New IK properties: Record, Restore Default Pose, Orient Child.
    - Bake Animations.
    - Create Avatar Masks.
    - Onion Skin
    - Added sortingLayerName property to SpriteMeshInstance.
    - Added alpha, zoom and mipmap GUI to SpriteMesh Editor.
    - Combiner now works on characters not placed in 0,0,0.
    - Fixed slice tool rect.
    - Fixed invalid vertices bug.
    - Fixed frequent reimport of textures.
    - Fixed texture import settings max size bug.
    - Fixed bone outline on scaled bones.
    - Rolled back linked parent bone update system.
     
  24. jeffweber

    jeffweber

    Joined:
    Dec 17, 2009
    Posts:
    616
    Hey Sergi,

    Did you get a chance to look at the project I sent you.
     
  25. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    I need some more time, I will jump into it as soon as possible.
     
  26. bundy2k6

    bundy2k6

    Joined:
    Feb 27, 2013
    Posts:
    7
    Hey Sergi,

    I updated to the new version but now I have 32 errors of invalid vertex array. In the old version there was only two, just wondering how I can fix this or am I better off staying on the old version?

    Cheers!
     
  27. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    Please, send me an email to sergi@mandarinagames.com to see how we can fix them.

    Edit: Please try this patch: https://www.dropbox.com/s/4mma7imhmoqd4n5/Anima2D_1.1.1_hotfix.unitypackage?dl=0

    Edit 2: The store version already includes the fix now.
     
    Last edited: Jul 2, 2016
  28. bundy2k6

    bundy2k6

    Joined:
    Feb 27, 2013
    Posts:
    7
  29. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    Phew! Glad it worked!

    This patch is already submitted in a new package but will not increment the release version.

    Thanks for reporting!
     
  30. michael_c85

    michael_c85

    Joined:
    Jul 26, 2015
    Posts:
    6
    Hi Sergi,

    do you know anyone using Anima2D with 2DxFx: 2D Sprite FX?

    thank you

    * I tried and I can't make them work together
     
    Last edited: Jul 1, 2016
  31. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    Hi Michael, it will not work out of the box unfortunately. You will need to modify the 2D FX components in order to set/get the material to/from SpriteMeshInstance.sharedMaterial property instead of a GetComponent<Renderer>().sharedMaterial.
     
  32. jasonMcintosh

    jasonMcintosh

    Joined:
    Jul 4, 2012
    Posts:
    74
    @sergi_mandarina +1 for SVG Importer support.

    But, can we not parent any GameObject to a bone and allow it to animate that way?

    I haven't bought this yet, but I'm considering it, if I can get it to work with SVG Importer objects. I'm just looking for a good way to make simple animations, not so much the mesh deformation stuff right now.
     
  33. Rothana

    Rothana

    Joined:
    Jan 22, 2016
    Posts:
    11
    Hi..I need some Help Please!!! When i packed sprite of my character(body, hair, ...) together with the same Packing Tag in Unity Sprite Packer and there are more than one page Anima2d didn't map them correctly when i run the game(sometime leg became pieces of eyes with hair...). I use the Latest Version of anima2d. This Urgent please help me. Thanks
    Screenshot (4).png
     
  34. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    Yes, you can parent any GameObject to a bone and animate the bones.

    To be able to combine properly all your sprites should use the same texture (or sprite packer atlas page). If that is not your case, just don't combine. The combiner included in the examples is very simple. I will try to improve it in the future to be able to manage multiple pages.
     
  35. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    Hi everyone,

    Let me share with you some news about free form deformation. We developed a system to allow Vertex Animation directly from the Animation Window. The system does not require any extra components to allow that, it works using the recent BlendShapes API introduced in 5.3.

    The system consists in creating a new BlendShape per animation. That BlendShape stores several frames that are synced with the keyframes of the Animation Window curve. The keyframes in the animation curve are forced to have the value of the corresponding weight of the frame in the BlendShape (you can't adjust its value but you can change the tangents for easing and wavy effects).

    Good thing about this system is that it mixes with skinning naturally. You can have an animated skinned SpriteMeshInstance with several bones and, in the middle of the animation, start adjusting its vertices to improve that particular deformation.

    With all this set and working you just need to start record mode, select your SpriteMeshInstance and start creating keyframes by dragging its vertices:



    You can drag keyframes back and forth, overlap them, copy and paste them, even while multi-selected. Deleting the curve will delete the BlendShape. Of course full undo support and Unity 5.4 beta compatible!

    With a bit of patience you can achieve effects like this:



    Now I just need to figure out a way to multi-edit the vertices and fix some edge cases. I am working to have it fully working and tested as fast as I can :)

    Cheers
     
    Kale and chiapet1021 like this.
  36. jeffweber

    jeffweber

    Joined:
    Dec 17, 2009
    Posts:
    616
    Looks awesome! Keep up the great work!
     
  37. Kale

    Kale

    Joined:
    Aug 25, 2011
    Posts:
    103
    Slightly confused at how you're making that shaking face animation... is that just through stretching due to vertex movement? Because if it is, that's pretty amazing, if I just saw that picture randomly, I'd have thought it was 3d.
     
  38. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    Thanks!

    Yes, it is just vertex movement :)

    Another advantage of using BlendShapes over other solutions is taking advantage of its additive nature:



    This was done by creating just another single framed BlendShape responsible of deforming the face and playing the same old face tilt at the same time.
     
    chiapet1021 likes this.
  39. mrleon

    mrleon

    Joined:
    Sep 27, 2014
    Posts:
    18
    I'll like to request the ability to replace the Sprite in an existing SpriteMesh. Is this possible? The reason I ask is that I plan on packing all my sprites in my project into one image and just realized that when I replace a SpriteMesh's Sprite there's no way to move the vertices/bones into the correct position on the new sprite which ruins my plan (doh!)

    Thank you very much
     
  40. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    Could you send me those particular sprites so I can find a solution?
     
  41. mrleon

    mrleon

    Joined:
    Sep 27, 2014
    Posts:
    18
    Sure, I emailed test sprites to the info@ email address on your website. Also another question/issue — I noticed a hole in a Sprite Mesh aren't actual holes in the mesh. The editor correctly detects holes but it looks like the faces are still there. I bring this up because there are some meshes I want to use with non transparent shaders but the holes no longer are transparent when I use such shaders.

    Thanks again
     
  42. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    Thanks, I will take a look and give you an answer.
    About the holes, the slice tool will detect the hole regions, but you need to place a hole in the region manually using the hole button.
     
  43. Rothana

    Rothana

    Joined:
    Jan 22, 2016
    Posts:
    11
    Is it only me or Unity will crash when move a bone and undo while animating.
    if we use move that bone with control object it'll be okay, but if move it directly it'll crash, but rotating it is okay.
     
  44. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    Which Unity version? Can you send me a scene reproducing the problem?
     
  45. Rothana

    Rothana

    Joined:
    Jan 22, 2016
    Posts:
    11
    I'm using Unity5.3.5f1

    MoveAndCrush.gif
     

    Attached Files:

  46. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    Thanks, I found the problem. I am already working in a fix. It crashes because the character is a prefab and there are certain things I cannot do in this case. I will find a workaround.

    I will also fix that loops that shouldn't be there when moving the bone.
     
  47. Rothana

    Rothana

    Joined:
    Jan 22, 2016
    Posts:
    11
    Thanks.
    Also 1 more problem, Sometime Sprites that attached to bones (put as a child of bone) will disappear for some reason(sometime saving the scene), but it will reappear when when i click play game.
     
  48. nosajtevol

    nosajtevol

    Joined:
    Jun 28, 2012
    Posts:
    219
    Is there a way to change the sorting layer at runtime? I'm trying to access the spritemeshinstance script via getcomponent but it's not picking it up.
     
  49. sergi_mandarina

    sergi_mandarina

    Joined:
    Aug 9, 2015
    Posts:
    77
    I have no idea about what could cause that. It should not be related to Anima2D.

    Yes, you should be able to do that. Could you send me the code you are using?
     
  50. Deleted User

    Deleted User

    Guest

    Hi Sergi, thanks for creating such a useful tool!
    One question: is the use of IK portions when animating and inverting the scale at runtime supported? Using the robot example it seems to not do it correctly. I was planning on saving the number of animations required by flipping the x-scale at runtime depending on the direction you face. Example below:


    Thanks again.

    Edit: I'm on Unity 5.3.5f1, Anima2D version 1.1.1
     
Thread Status:
Not open for further replies.