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

Official Discontinuing Anima2D: Consider 2D Animation for skeletal animation in Unity

Discussion in '2D' started by rustum, Jan 12, 2021.

  1. rustum

    rustum

    Unity Technologies

    Joined:
    Feb 14, 2015
    Posts:
    190
    Anima2D is no longer under development and will be removed from the Unity Asset Store in early February. We no longer support it for use with versions of Unity that use AssetDatabase v2 by default (2019.3 and newer) and using Anima2D with those versions will result in errors.

    If you are currently using Anima2D you can remain at a version of Unity 2019.x where AssetDatabase v1 is still available.

    We strongly recommend that users make the switch to using Unity 2D Animation tooling to help us consolidate our efforts and make it better.


    2D Animation is the current solution for creating 2D skeletal animation in Unity. It natively supports the latest Unity features such as Asset Database v2, PSD Importer and includes 2D IK (Inverse Kinematics). It is available via the Package Manager and is installed by default when creating a new 2D Project in Unity.

    Let us know if you have more questions and we will do what we can to help.
     
    chebe123 and mcroswell like this.
  2. mcroswell

    mcroswell

    Joined:
    Jan 6, 2010
    Posts:
    79
    Tools/ideas to convert?

    I'm working on a project where the company has invested years in creating animations done in Anima2d. Now, they want to update their development version to 2019 or 2020.

    I'm very familiar with Unity's 2D system but only have little knowledge of Anima2D.

    So, are there techniques, best practices, or tools to help convert from Anima2d to Unity's 2D?
     
    codegasm and LilGames like this.
  3. Ted_Wikman

    Ted_Wikman

    Unity Technologies

    Joined:
    Oct 7, 2019
    Posts:
    906
    Hello @mcroswell,

    We currently do not have any plans to create conversion tools to help the conversion from Anima2D to 2D Animation. Do note that if you have previously downloaded Anima2D, you will still be able to download the package from the Asset Store after it has been removed from the store. Also note both Anima2D and 2D Animation packages has its C# source included, so you can easily access all parts to see how it works.

    What kind of information would be useful for you when converting from Anima2D to 2D Animation?
     
  4. mcroswell

    mcroswell

    Joined:
    Jan 6, 2010
    Posts:
    79
    Thank you for the reply, Ted!

    Well I did a little test, where I brought the Anima2D examples into a 2020 project and when you run it some very strange anomalies happen to the Sprite images. Only at runtime.

    I did a brief examination of the code and I can't figure out what's going on - yet.

    As far as what would be nice for conversion I guess either 1) updated/fixed Anima2D source code that works with 2020 so you could have legacy anima2D working in side by side with unity, or better 2) a complete conversion system which would include the ability to read the positions of the bones and corresponding Sprite layout data from anima2D into Unity's system. I guess if I was going to do that I would need help from you as to where the data is kept for both Unity 2D and Anima2d. This would involve both systems editor scripts since that's where the conversion would be done - not at runtime. Yes?
    I could probably code this with a little help from you.
     
  5. Sergi_Valls

    Sergi_Valls

    Unity Technologies

    Joined:
    Dec 2, 2016
    Posts:
    212
    https://forum.unity.com/threads/dep...-animation-plugin.369291/page-14#post-6599971
    You can find here a version that upgrades your SpriteMesh assets to be compatible with 2DAnimation.
    • Remove your Anima2D folder before installing this one.
    • It has a dependency on the 2DSprite package.
    • You will have to manually upgrade the IK / Sprite Renderer / Sprite Skin from your prefabs.
    After reimporting you should be able to see weights and bones from the 2DAnimation's Skinning Editor.
     
    maxonpops and mcroswell_unity like this.
  6. jrmgx

    jrmgx

    Joined:
    Oct 21, 2016
    Posts:
    41
    Please make a convert tool, I have multiple characters with each multiple bone based animation using Anima2D...
    (note: I did get the 1.1.8-b2 version but no specific instruction for migrating is given).
    Also, I remember that in Unity Animation 2D, they were no support for sorting layer, is that fixed?
     
    mcroswell_unity likes this.
  7. Ted_Wikman

    Ted_Wikman

    Unity Technologies

    Joined:
    Oct 7, 2019
    Posts:
    906
    Hello @jrmgx
    Follow the steps given by @Sergi_Valls to see if this can solve your issues.
    Regarding sorting layers, these work on a per Sprite basis with 2D Animation.
     
    mcroswell_unity likes this.
  8. codegasm

    codegasm

    Joined:
    May 3, 2015
    Posts:
    38
    I am trying to follow the steps outlined above, but unfortunately there are too many details missing it seems. So far I have removed the old version of Anima2D (1.1.8) and replaced it with the 1.1.8b2 version linked above. I have installed the 2D animation package and I had the 2D sprite package installed already. My current Anima2D animations still work as expected, but now I have no clue as to how to convert these into 2D animation instead. I have tried re-importing one of my Sprite/SpriteMesh combinations but I still don't see my weights in the Skinning Editor. I'm seeing changes in the SpriteMesh file so I presume the automatic conversion of that file has worked.

    I believe this step needs clarification: "You will have to manually upgrade the IK / Sprite Renderer / Sprite Skin from your prefabs." From what I have been able to guess the SpriteMeshInstance and SkinnedMeshRenderer need to be replaced with something the 2D Animation package. The documentation doesn't go into any detail on this, but my guess is that the SpriteSkin component replaces the SpriteMeshInstance and SpriteRenderer replaces the SkinnedMeshRenderer.

    After replacing those two components and setting up their references to the sprite and bones the animation works, I can move the bones and my SpriteRenderer is updated accordingly. But at this point I'm even more confused, the new system appears to be working together with Anima2D since I'm still using the Bone2D class from Anima2D. I also still don't see weights or bones in the Skinning Editor, I need to use the Anima2D SpriteMesh Editor window still.

    What are the remaining steps to migrate all my animations to the 2D Animation package @Sergi_Valls? I would like to get to a point where I can remove Anima2D and solely rely on the 2D Animation package.

    Any information at all really. I think my post has clearly outlined the total lack of information on this topic, I've had to guess my way to most of my conclusions here and I still don't have a working conversion process that I can apply manually even.
     
    mcroswell_unity likes this.
  9. codegasm

    codegasm

    Joined:
    May 3, 2015
    Posts:
    38
    As I suspected the data migration done by Anima2D 1.1.8b2 was working as expected. I was just not aware of the fact that you have to double click in the "Skinning Editor" in order to see the bones and weights. Once I did that I could see the weights and bones as expected.

    Thanks a lot to @Sergi_Valls for taking the time to look at my issue directly!

    For anyone visiting in the future the steps to migrate are as follows:
    * Add the 2D animation package.
    * Remove the current version of Anima2D
    * Add the 1.1.8b2 version of Anima2D.
    * Reimport all `SpriteMesh` assets. This will copy the bones and weights data into the sprites .meta file. Your data should now be compatible with the 2D Animation package.
    * Open your sprites in the Sprite editor and switch to the Skinning editor using the dropdown in the top left corner.
    * Double click inside the sprite area in order to confirm that your bones/weights are visible in the new system.

    Now that the data is migrated you can update your prefabs as follows:
    * Replace `SkinnedMeshRenderer` with `SpriteRenderer` and set the sprite reference.
    * Replace `SpriteMeshInstance` components with `SpriteSkin` and set the Root bone reference.
    * Remove `Bone2D` components.
     
  10. mcroswell_unity

    mcroswell_unity

    Joined:
    Feb 21, 2021
    Posts:
    1
    Thank you all for this discussion.

    @codegasm - Your remark about the double click in the Skinning Editor is priceless. Really appreciated! Also, your steps. Nice!

    @Sergi_Valls and @Ted_Wilkman thank you for your continued input.

    PS: I still think we [ well, you (Unity)?! ] could make a little automation script, if you desired.
     
    codegasm likes this.
  11. stickylab

    stickylab

    Joined:
    Mar 16, 2016
    Posts:
    92
    i need anima2d somuch , i hate unity , 2018 till aboove ,somuch errorrs
     
  12. chebe123

    chebe123

    Joined:
    Jan 24, 2020
    Posts:
    18
    Hey guys

    We migrated from 2018.4.36f -> 2020.3.26f

    We had some issues with assets and sprites, but after adding the newest anima2D linked in comments above those issues seems to have been solved.

    Thanks for all of this info i got a question @Sergi_Valls .

    Is using Anima2D an option for the old animations, since doing the migration above seems to break our implementation, and we would need to go through multiple years of work and rebind all of the iks and bones?

    As far aas i can see on 2020.3 there is no option to go to asset database v1, so is using anima2d, the latest update, ok with 2020.3? We dont seem to have any issues after the anima2d update.
     
  13. Sergi_Valls

    Sergi_Valls

    Unity Technologies

    Joined:
    Dec 2, 2016
    Posts:
    212
    Hi chebe123,
    The version mentioned above is compatible with asset database v2. Upgrading to the new 2D Animation tools is the way to go. If for some reason it is not possible, continue using it. It should work for 2020.x, but compatibility for newer releases is not guaranteed.
     
    Last edited: Feb 1, 2022
  14. chebe123

    chebe123

    Joined:
    Jan 24, 2020
    Posts:
    18
    Thanks man, we will switch to unity 2d animations, and we will try to port all of our animations, we just dont have time to do it now.
     
  15. LilGames

    LilGames

    Joined:
    Mar 30, 2015
    Posts:
    565
    Does anyone have any guides, tools or tips on how to quickly convert animations from Anima2D to the 2D Animation package? Worst case scenario is an animator (person) having two projects open and re-creating animations by eye but are there any shortcuts to make this easier?

    EDIT: Codegasm posted steps above
     
    Last edited: Mar 21, 2024
  16. kkl888

    kkl888

    Joined:
    Dec 6, 2014
    Posts:
    55
    Tried using 1.1.8b2 and had this error

    Mesh.uv is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.
    UnityEngine.Mesh:set_uv (UnityEngine.Vector2[])
    SkinnedMeshCombiner:Start () (at Assets/Anima2D/Examples/Scripts/SkinnedMeshCombiner.cs:110)

    This happens when I load a sprite that is used for Anima2D SpriteMesh from asset bundle. The sprite is in Multiple Sprite Mode. However, it works fine when it references the sprite via Serialized Field in Monobehavior. How can we fix this?

    Updated:
    Found out the root cause. I'm using asset bundle variants with 1x and 2x variants (1x is regular image, 2x is higher resolution image). Currently my SpriteMesh is referencing at 1x variant sprite. Hence, Anima2D only updated the 1x sprite metadata. However, pointing it to larger sprite size (e.g. 2x variant) in existing SpriteMesh seems to break the uv mapping. My only option left is reverting this code
    Code (CSharp):
    1. mesh.uv = spriteMeshInstance.spriteMesh.sprite.uv;
    to the older version
    Code (CSharp):
    1. mesh.uv = spriteMeshInstance.spriteMesh.sharedMesh.uv;
    in SkinnedMeshCombiner class. Is it safe to do so?
     
    Last edited: Apr 28, 2022
  17. Gushmeister

    Gushmeister

    Joined:
    Apr 30, 2018
    Posts:
    50
    Hi guys,

    as I bought a new M1 Macbook and have to switch from Unity 2019 to 2021, Anima 2D isn't supported anymore. I'm willing to change to the new system, but I need to know, if I can put on a similar system to the Sprite Mesh Animations, and if there are probably some examples on how to achieve this.

    My System works so that the user buys a full character-skin in the shop. Every character has an internal number from 0-41 (42 different skins). Every skin consists of 5 Parts (head, body, upper arm left, upper arm right, lower arm left, lower arm right). After the user bought the skin, he can now combine every skin he owns with each other, means he can take the head from Skin1, body from Skin 2, arms from other skins and so on. I don't have like "sub skins" from a character, I just have full skins that are all combinable with each other.

    My old system worked so that I have a Sprite Mesh for every body part and just change the AnimationNumber in the Sprite Mesh Animation. How will I achieve the same with the new Animation system?

    Also: I have two sprite atlases 2x4096 x 4096 (20 skins in one atlas, 22 skins in the second one). In Animat2D I had the problem, that every skin will take 5 draw calls for each body-part, no matter if the skin-sprites were in an atlas before or not. Has that changed with the new system? Cuz in the worst part, it would cost only two drawcalls, since one part can be in the first atlas and the second one in the second (just an example).

    Hope to read your answers soon, thank you guys!
     
  18. Ted_Wikman

    Ted_Wikman

    Unity Technologies

    Joined:
    Oct 7, 2019
    Posts:
    906
    Hello @Gushmeister
    For your first question, my recommendation would be to use 2D Animation's Sprite Swap feature. We also ship samples to showcase this feature, that you can have a look at and play with.

    Since 2D Animation is using Sprite Renderers to render each Sprite, batching/draw call count will be the same with or without the 2D Animation components.
     
  19. LilGames

    LilGames

    Joined:
    Mar 30, 2015
    Posts:
    565
    I'm just curious what is the relationship between buying a new macbook and Unity versions? Does last version of Unity that supports Anima2D not run on your Mac? Or did you just not think to look in the downloads archive for that version? https://unity3d.com/get-unity/download/archive
     
  20. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    2,049
    M1 Mac has a novel CPU based on ARM architecture (as opposed to x86-64 ie Intel and AMD). Since it's a new thing (for Desktop at least), only newer Unity versions support it which I assume is the problem in this case.
     
  21. Gushmeister

    Gushmeister

    Joined:
    Apr 30, 2018
    Posts:
    50
    Yes, it's exactly how @PanthenEye says, Unity 2019 isn't supported on the new M1-Macs, Silicon Versions start with Unity 2021 I think. And Anima2d, which I have used since I started making my game for animation, also isn't supported on any higher Unity Version then 2019.4. So I have to redo all animations + everything that was related to code for swapping sprites :/. Also I don't know what will happen, when I switch to Unity 2021, how much redoing all the other stuff will cost time-wise, I'm totally desperate and it's really stressful, I'm wasting half of my time since the 5 years of development in just updating stuff that isn't supported anymore.
     
  22. LilGames

    LilGames

    Joined:
    Mar 30, 2015
    Posts:
    565
    Well, this is part of game dev. Tech advances and changes so much even in "just" 5 years. Some would say you need to work faster ;) But if you are a solo dev, I get it.

    We have a game "frozen" to 2018.4 for exactly the same reasons you do (Anima2D). It's been released for over a year though. We won't be ditching any dev hardware that supports 2018.4 until we consider that game dead and unsupported.

    NOTE: Have you tried running your project version of Unity with Rosetta? https://support.apple.com/en-ca/HT211861
     
  23. tessellation

    tessellation

    Joined:
    Aug 11, 2015
    Posts:
    390
    Anima2D working with Unity 2020/2021?:
    Anima2D is working for us with the latest Unity 2020.3 LTS and I think we also did a test with 2021 and it was working as well. We might have modified the code slightly to get it to work with newer APIs, I can't recall it's been a while since we upgraded from 2018 LTS. We're running both M1 (2021) and Intel (2020) versions of Unity.

    Regarding the conversion and upgrade to 2D Animation:
    Whenever an Anima Bone2D component exists in the character's object hierarchy, it will corrupt the display of all the bones in the new 2D Animation system. All bones, even those in a different Sprite Skin child will need to be deleted.

    When Bone2D component exists (left) and once deleted (right):
    BonesCorrupted.png BonesScratch.png
     
    LilGames likes this.
  24. LilGames

    LilGames

    Joined:
    Mar 30, 2015
    Posts:
    565
    OH? I am very intrigued by how you made it stay functional :)

    EDIT: Codegasm's post earlier with the steps works! Take manual intervention here and there but the end results are a full conversion.
     
    Last edited: Mar 26, 2024 at 8:59 PM
  25. tessellation

    tessellation

    Joined:
    Aug 11, 2015
    Posts:
    390
    I don't think I did much to get it working. What issues are you having with it when you upgrade? Make sure you are using the latest version of Anima2D before upgrading to Unity 2020.
     
  26. PBKitty

    PBKitty

    Joined:
    Dec 23, 2021
    Posts:
    45
    Are there any plans to bring the remaining features of Anima2d into 2d animation? Spring bones and mesh renderers in particular.
     
  27. tessellation

    tessellation

    Joined:
    Aug 11, 2015
    Posts:
    390
    SpringBones was not really part of Anima2D, but was an example script. It shouldn't be too hard to port that script to the 2D animation System, you can just make it act on the Sprite Skin and Transform instead of being dependent on Bone2D components. Another way to do it would be to use Unity's 2D physics system (using joints and RigidBody2D).

    Not sure what you mean by Mesh Renderers, the 2D animation system uses the SpriteRenderer component now and the mesh data is stored in the Sprite meta files. Anima2D version 1.1.8b2 will automatically convert the old mesh/bone data to this new meta-based format.
     
  28. PBKitty

    PBKitty

    Joined:
    Dec 23, 2021
    Posts:
    45
    Doing the conversion was pretty trivial(and that's in fact what I did) but it seems silly that there is no included solution for such a basic feature. I figured that the original script's being off of a defunct Japanese blog was why it wasn't distributed anymore, but is a strange thing not to have.

    Also, unity's 2d physics doesn't work well at all with animation.

    I know that. This isn't always ideal, though; being able to use a proper skinned mesh renderer is useful. There are a lot of tools that work with skinned mesh renderers that don't work with sprites.
     
  29. Ted_Wikman

    Ted_Wikman

    Unity Technologies

    Joined:
    Oct 7, 2019
    Posts:
    906
    Thank you for sharing your upgrading experience and helping others, @tessellation.

    @PBKitty could you be more specific on the areas of 2D Physics that doesn't work well with 2D Animation?
    Regarding support for Skinned Mesh Renderers, we do not have any plans right now to support them. Again, giving us specifics on what you are trying to do and where it would benefit you would help us understand your request better.
     
  30. PBKitty

    PBKitty

    Joined:
    Dec 23, 2021
    Posts:
    45
    This is, in particular, using 2d physics joints to add secondary motion to 2d rigged characters. 2d physics works just fine in general, but I've had a devil of a time with attaching joints to animated characters, even when the actual attached bodies had no keyframes(the usual caveat for attaching joints to 3d bodies). Joints disconnecting or vibrating before going flying, etc. I'm sure that there is a way to do it, but I found it easier to use faked physics for that type of interaction as a general rule.

    Well, there are a LOT of tools that work with skinned meshes that do not work with skinned sprites- from unity's own preview window to stuff like blendshapes, the Deform library, unity cloth, and importing/exporting with software outside of unity. The sprite meshes just aren't really compatible with anything- including most of unity's own tools, and they are also more difficult to manipulate via script(though a lot of that is the documentation perhaps).
     
  31. Ted_Wikman

    Ted_Wikman

    Unity Technologies

    Joined:
    Oct 7, 2019
    Posts:
    906
    If you have examples of when Physics2D and 2D Animation does not play well together, do file a bug report so we can take a closer look.

    The current focus for 2D Animation is to make sure that its foundation is solid, and that its features integrates well with the rest of Unity's eco system. Examples of our more recent work:
    • Support Sprite deformation, Sprite Swap and IK Solvers in Animation preview windows.
    • Removed the need to set Broken and Constant tangent on each key when animating a SpriteResolver.
    • Updated the Animation Window to support larger integer values, making SpriteResolver.spriteHash safe to use for all hashes generated.
    • Enabling bursted and multithreaded Sprite Skin deformation, by default.
    • Simplifying and improving the Sprite Skin's Auto Rebind feature, so that it can quickly find all bones under the root bone.
    • Introducing a Sprite Library Editor to more easily work with Sprite Library Assets.
    If you notice that an outcome you are trying to achieve is blocked by a lack of support from the 2D Animation feature set, do let us know so we can take it into consideration. But the important thing to note here is that we want to know what you are trying to achieve/create, not just highlighting that X does not work with Y.
     
    PBKitty and LilGames like this.
  32. PBKitty

    PBKitty

    Joined:
    Dec 23, 2021
    Posts:
    45
    I don't know if it would even count as 'bugs' because I am not sure what the 'correct' behavior really is- just that even with interpolation on the physics objects the results are very loose at best and very vibrate-y at worst.

    Very quick example with some hinge jointed rigidbidies(which work just fine attached to a moving object that isn't attached to an animator)

    Like I said, bug might be the wrong word, but it doesn't work terribly well. A basic spring bone setup(either the anima2d one or any of several other methods that don't use built-in physics) often takes a lot less work to set up and works better for 2d. Of course, by the same token full physics simulation is often not needed, either. In fact, unless the secondary motion needs to react to gameplay I usually bake it to animation anyway(and unity physics2d also can react strangely to being recorded using the unity recorder.)

    These are all important, for sure, and I think that several of those should even be listed more prominently.
     
  33. MelvMay

    MelvMay

    Unity Technologies

    Joined:
    May 24, 2013
    Posts:
    11,316
    Animation and Dynamic physics cannot coexist because they are opposing things. In the same way that you don't modify the Transform and undermine what the Rigidbody2D is doing which is ultimately writing to the transform. They are competing.

    A joint adds impulses to the bodies, the bodies simulate and write to the Transform then Animation comes along and modifies the Transform and completely adjust the Rigidbody2D next simulation step which will cause the joint to be out of constraints so it starts again and then the cycle starts all over again.

    The only time animation should be combined with physics is when using Kinematic body-types.
     
    LilGames likes this.
  34. PBKitty

    PBKitty

    Joined:
    Dec 23, 2021
    Posts:
    45
    I know- that's why I said it isn't a bug, but rather that the systems don't work well together(and I'm also not saying that they should)- I was initially replying to @tessellation above where they suggested using the 2d physics system for secondary motion on a 2d character, and was explaining why I don't do that and why simple approximated physics like springbones are useful.

    (Though I have been told that the 3d physics system handles similar setups much better.)

    The example I showed was using a kinematic rigidbody as the connected body.
     
  35. LilGames

    LilGames

    Joined:
    Mar 30, 2015
    Posts:
    565
    @PBKitty
    Sometimes animators (the people) create keyframes for things that are just redundant and unnecessary (eg: objects that aren't even being animated). For example they select everything and then click the "create keyframe" button that makes initial keyframes for all the selected objects. So then you have Animation fighting to control the same object as the physics. Deleting such redundant keyframes might be the solution to what you describe.
     
  36. PBKitty

    PBKitty

    Joined:
    Dec 23, 2021
    Posts:
    45
    Who is the 'they' you are talking about? I am the animator for the example I showed, and the animation was not created the way you describe. In particular, the object that is used to attach the dynamic rigidbodies is kinematic and has no keyframes on it at all. If there were, it would be very obvious, because the attached bodies would be completely freaking out rather than just slightly freaking out.

    That seems really out of the blue to just say 'you are animating badly and that is causing your problems.'

    Most of the time when you see animations with absurd keyframes like you describe that is either from importing animations, baking dynamics, or following a very bad tutorial. Still, those are still valid animations and certainly no worse than you'll see in 3d animation or especially motion capture.

    Even if you were correct, that would still not change that the 2d physics system isn't working well with the animation system.

    But you are incorrect.
     
  37. LilGames

    LilGames

    Joined:
    Mar 30, 2015
    Posts:
    565
    @PBKitty yeah, I'm not looking for a fight. If the setup I described doesn't apply to you, then it doesn't apply to you. It may still be helpful bit of info for someone else happening onto this thread. Have good day.
     
  38. MelvMay

    MelvMay

    Unity Technologies

    Joined:
    May 24, 2013
    Posts:
    11,316
    The systems act the same. A Rigidbody(2D) is in charge of the pose, it is the authority. Modifying the Transform upsets this and causes the body to be instantly transported to that position the next simulation step. Any component like joints are then out of constraint and have to then figure out how to get back into constraint. Also, the colliders can be placed into overlap which needs to be solved too. If animation comes along and changes it again, joints/colliders can never do what they're there for. This works the same in both physics systems. A Kinematic body is there to be controlled via external systems such as your script, animation etc. These are not affected by forces such as those applied by joints. Again, the same on 2D/3D because this is how they are designed to work.
     
  39. PBKitty

    PBKitty

    Joined:
    Dec 23, 2021
    Posts:
    45
    That's good to know; like I said I mostly use 2d so was going off of what others have said there.

    My example was using a kinematic body(with interpolation).

    Anyway, all I was saying is that a simplified system like spring bones(damped oscillators), verlet solvers, etc. work better in a scenario like this, and that isn't necessarily an unexpected thing. Obviously it would be nice if you could just attach joints willy nilly to an animated object and have it work without difficulties, but I very rarely need the full power of the physics system anyway if all I want is a bit of jiggle. :D
     
  40. MelvMay

    MelvMay

    Unity Technologies

    Joined:
    May 24, 2013
    Posts:
    11,316
    It wouldn't ever work though. The whole point of Kinematic is that it's not affected by forces. Creating a simple (non rigidbody) constraint though is a few lines of code TBH and doesn't even require physics, only access to Transforms; something like a verlet-based constraint as you hinted at. Those kinds of things are far more suited to the abrupt changes that Animation can cause.
     
  41. PBKitty

    PBKitty

    Joined:
    Dec 23, 2021
    Posts:
    45
    So you're... agreeing with me, right...?
     
  42. Brockoala

    Brockoala

    Joined:
    Feb 18, 2013
    Posts:
    13
    Thanks for the detailed steps! But it seems Anima2D is removed everywhere, I can't find it to download. Would be great if you can reupload this version. Thanks a lot!
     
  43. Gushmeister

    Gushmeister

    Joined:
    Apr 30, 2018
    Posts:
    50
    I don't know if you guys are using Unity IAP, but with Google Billing V4 you can't use Unity 2019 anymore. So still investing time into Anima2d (if having a mobile-store with Android on it) is for nothing.
     
    LilGames likes this.
  44. Gushmeister

    Gushmeister

    Joined:
    Apr 30, 2018
    Posts:
    50
    Okay, I must call back what I've said. When I had to update to Unity 2019, I had to change some lines of code - I don't know anymore which lines it was, but somehow, everything works as usual on Unity 2021? How can this be? I mean my whole animations are still working normal?
     
  45. LilGames

    LilGames

    Joined:
    Mar 30, 2015
    Posts:
    565
    Is there any way we could DIFF your Anima classes against mine? Please DM me.
     
  46. kkl888

    kkl888

    Joined:
    Dec 6, 2014
    Posts:
    55
    Hi is there a place where we can get the Anima2D license type? We are working on a legal contract and we need to know the plugin's license type. The plugin is no longer available in asset store. We also browsed through source code to look for license related documents, but only found the license of the plugins that Anima2D uses.
     
  47. LilGames

    LilGames

    Joined:
    Mar 30, 2015
    Posts:
    565
    It was bought and owned by Unity, so presumably same terms as any of their other Unity-owned packages.

    Have you taken over a legacy project? Anima2D won't work in Unity 2019 or later.
     
  48. kkl888

    kkl888

    Joined:
    Dec 6, 2014
    Posts:
    55
    I used the edited version 1.1.8-b2 mentioned in other comment, so it still works on Unity 2019 or later. I noticed there're few different licenses Unity provides such as
    "Unity Companion License" and "Unity Package Distribution License". Not sure which one we should go for this plugin.
     
  49. LilGames

    LilGames

    Joined:
    Mar 30, 2015
    Posts:
    565
    If I remember correctly, skinning or sprite mesh deformation (one of those extra things added on to Anima2D called AnimaSkin) still won't work. So test that out thoroughly before you get too far.

    That said, why not use the 2D Animation package?
     
  50. kkl888

    kkl888

    Joined:
    Dec 6, 2014
    Posts:
    55
    I vaguely remember I was having some compile errors and I attempted to fix it. No issue after that.

    It was a legacy project and we didn't have the time to upgrade it. So we just reuse what we already have.