I would like to show you what we’ve been working on last months. What we have right now:
Bones:
2D Bones can be created easily from the context menu “2D Objects”. Bones have a length property and can be linked as chains. They can be rotated using the regular rotation tool or by dragging their body.
Sprite to Mesh conversion:
Sprites can be converted to Meshes with a single click from the Project View. It generates new asset files (mesh, default material and custom SpriteMesh asset).
SpriteMesh Editor:
Meshes can be fine tuned from a proper editor window. You can add and delete vertices, holes, edges and edge constraints to achieve the desired trangulation.
Automatic weights:
Automatic weights are calculated by complex state of the art algorithms. Calculated weights work out of the box in most of the situations. You can visualize the weights as a colored overlay in the editor window.
Weight Editor:
You can edit weights by setting the desired value or by selecting vertices and adding/subtracting influence of a bone. Weight painting will be implemented in a near future.
Inverse Kinematics:
Currently we have IK for limbs and arbitrary chain length (using CCD solver). Gizmos show the affected bones. Other algorithms and joint constraints will be implemented in the near future.
Looks great so far. Not sure if you noticed, but there are already a couple of 2D skeletal animation tools like Puppet2D and some other. If you want your tool to be popular, try to implement some features that the existing tools do not have.
I’m glad you liked it! We are working hard to release it as soon as possible.
Thanks Nicrom! Yes, I know there are other solutions on the market. It will be challenging to get popular but we believe our tools, quality and proposed workflow will make the difference. We have some unique ideas in mind but first we need to implement other common features like free form deformation to offer the full feature set.
Is it possible to set the bone positions and rotations programmatically? I want to give a 2D jointed physics systems complete control over the bones positions.
Imagine a simple 2D ragdoll made of hinge joints, etc… I want to update 2D bones from the ragdoll physics every frame and still get all the mesh deformation at the joints.
Short answer: You can use SVG Importer objects by parenting them with Anima2D’s bones, no problem.
Long answer: Enabling Skinning in SVG Importer objects using Anima2D is not currently supported. At the moment Anima2D doesn’t support importing from existing meshes or other plugin’s custom assets (although it would be a nice feature to include in the roadmap). About the specific case of SVG Importer, it generates new mesh information (vertices, indices, etc) every time the svg’s import settings change. That means it would be necessary to reimport to Anima2D’s format each time and recalculate weights.
You can set the bone’s position/rotation/scale programmatically by changing its transform values. Skinned meshes should deform properly after the physics engine updates the bone’s transform.
I own puppet2D, and the tool is not intuitive to use compared to spriter, and it has many flows ;i stopped trying to use it because i loosed too much time.
If you make it very simple and intuitive to use, with a simple workflow , i would be very interested.
What is the pricing ? considering there is other solutions like Puppet 2D, Spriter , Creatures.
We definitely focused on usability and workflow to be as intuitive and simple as possible. Please check the following videos so you can get an idea about the tools and the workflow:
You could swap T-Rex head by another skinned mesh by enabling and disabing the different SkinnedMeshRenderers. You could also set the other mesh in the skinned renderer if they share the same material/texture. Otherwise, if not skinned, you could enable a SpriteRenderer.
Yes, remove selected vertices is implemented by pressing the delete/backspace button. Could you describe the expected behaviour for merge?
The weights brush is in the roadmap too.
We will keep improving Anima2D until you find it cheap This is of course a first release that has to be done because we believe it can help developers at its current state. We got too much good feedback from our private testers that we couldn’t wait to share it with the community.
Nice, I am going to buy this asset plesae advise if this include UV mapping. I need to map this in a seperate texture. Ex I created this from few sperate sprite but for material uv mapping I would like to use by single texture. Is this support uv mapping. Thanks
Anima2D allows you to edit the geometry and map it to your sprite’s texture. I don’t know if I did get your question right. Please, send me an email to support@anima2d.com
Is it possible to set up a 2D puppet using Unity physics? I’m looking into rigging a 2D character with this tool and then have it interact with ragdoll physics and throw projectiles at it.
Yes this is possible. You can manually (from your physics objects) update the Anima2D bones. Look further up this thread. I asked a very similar question a while back.
It’s nice that we can update bone positions programmatically, maybe even simulating gravity and forces that way, but I was thinking of more utilizing bones with Rigidbodies and have the bone joints not break or deform when physics are applied to these rigidbodies, like a true ragdoll.
Maybe I’m not understanding the solution, could you give a concrete example on this?
For my game, I created a fully 2D physics rigid body character connected by 2D hinge and relative joints. It’s controlled by programmatically modifying joint parameters. I also created an Anima2D bone structure that matches up with the rigid body/joint system.
As the physics character is updated, I use it (the rigid bodies) to update the bone transforms of Anima2D. This all works pretty nicely.
Here’s a vid. The diver is controlled 100% by Unity 2D physics.