Animate Anything AI Tools:AI-Powered 3D Rigging
About Animate Anything Tool
Animate Anything is an AI animation tool that lets you rig and animate your 3D models. Simply upload your static 3D models and the AI will automatically rig and animate them, ready for games, VR, and metaverse worlds. The tool supports multiple 3D formats (FBX, GLB, GLTF+BIN) and rigged models can be imported into Unity, Unreal, Blender, Maya and more. Animate Anything is free for students and personal use.
Animate Anything promises to rig and animate your 3D assets in moments.
Animate your static 3D models with AI
Animate 3D Models with AI
Let our superfly AI take care of all your 3D animation rigging in moments.
Able to animate your 3D models, Animate Anything brings cool relief to everyone working in 3D animation and game development.
Game-ready models in mere moments
Don’t bug out over your animation rigging.Let AI take the strain so you can focus on all the fun, creative stuff in bringing your virtual worlds to life.
Upload
Upload any model and materials and we’ll get onto it
Rig
We’ll automatically generate a skeleton
Animate
You can view and save your model’s new animations
Build
Get cracking on creating your 3D world
Use your models anywhere
Download your model animations in all standard 3D formats ready to import into Unreal, Unity, Blender, Maya and more.
Animate Anything Codebase intro
The plugin uses Unreal Blueprints for UI and C++ classes for the rest of the logic, including the dynamic loading of meshes and related assets (textures, materials, animations) and actors and characters, as well as their behaviours. The Unreal coding conventions are followed and every class is well documented in code, but it is a good idea to start by having a look at some of the main classes in the following class diagram, followed by a brief explanation of their purpose.
Simplified class diagram of the Anything World plugin for Unreal Engine 5.
A logged in user interacts with the Search Panel to browse for models, connecting to the Anything World web API via the AW API Manager singleton. The information from models is stored in a model entry map, where values are of the Model Entry struct, containing basic information and metadata of 3D models, as well as URLs pointing to their asset files. This information is visualised in the UI as Model Buttons, depicting a thumbnail of the model and some additional information.
If the user then clicks the button of a certain model, it triggers the downloading of its files and the model spawning and setup into the world. This process is done with the help of another singleton class, the AW Mesh Manager, which is added to the map unless you had one already there. The AW Mesh Manager checks the type of model that is present (static, animated or vehicle) to select the suitable loader (with Mesh Loader as abstract parent), that will create the actual actor that is placed into the world in a grid fashion:
- Static models for which the FBX file is available are loaded using the Fbx Mesh Loader (which internally uses Unreal Engine’s Fbx Factory). The resulting actor is a AW Static Mesh Actor, having a Static Mesh Component.
- Static models for which only an OBJ file is available are loaded using the Obj Mesh Loader, which also yields an AW Static Mesh Actor. OBJ support may be deprecated in the future and requires the parsing of a material file. Here the Fbx Factory is also used, but support for OBJ has less coverage so the Fbx Mesh Loader should be preferred when possible.
- Rigged animated models are loaded using the Anim Fbx Mesh Loader, which inherits from the Fbx Mesh Loader but loads a skeleton and animations in addition to the mesh. The resulting actor is an AW Character, a type of Character that gets an animation Blueprint automatically created by default, as well as a simple random movement behaviour assigned (which requires a navigation mesh to work).
- Vehicle models are loaded using the Vehicle Mesh Loader, also based on the Fbx Mesh Loader, but in charge of importing and setting up a hierarchy of multiple static meshes that form the parts of a vehicle, such as the chassis (main part or “body”) and each individual wheel (children components).
Animate Anything Tool FAQ
How does API billing work?
You will have a monthly free API call limit depending on the tier. This limit includes all requests made from the model browser in editor (eg. clicking on a model and bringing it into the scene in Unity) and during the runtime of the project (eg. calling a model through the scripting API in engine, making a request directly to our API).
You will be notified via email when you are 100 requests away from reaching your free allowance in the month, after the free requests have been reached the API calls will be paid on a per request basis.
For more information on tiers and to calculate usage fees visit our website.
What platforms do you support?
Anything World works on any device capable of WebGL rendering, that is all modern web browsers.
For developers, we provide integration guidelines & SDKs for integrating Anything World into the web and Unity.
Can I add custom models?
We’re working towards opening Anything World for 3D model submission from the community.
We’re open to discussing custom content with select partners!
Are dynamically loaded assets saved?
The content of 3D models are loaded to the “DynamicAssets” folder under the plugin’s “Content” directory. By default these Unreal assets are not persisted, but to do so you just need to select them in the content drawer and save them, like you would do for any regular asset that you imported manually. This way, they will be persisted if you restart the editor, meaning you can also save maps containing the assets. Note that the only assets that do not fully support saving options at this time are those loaded from OBJ meshes.
How to load Anything World models by code?
Ok, so you want to use our models without using our UI. That’s fine (just note there’s support for editor-time spawning only for now), you can follow this process:
- 1.Create an AW API Manager, to be able to request models. If you don’t want to use the login UI, pass your AW API key (available in your account page in Anything World’s website) to the function “GetAWAPIManagerInstance”.
- 2.Make a query to the AW API. You can use the function “StartModelSearch” from AW API Manager to make a search for all the models matching the query and fill the “ModelEntryMap” with the search results. If you are only interested in one model at a time, consider switching to using the “name” parameter of the “anything” endpoint of our web API, by implementing your custom function following the web API documentation.
- 3.Use the “StartLoadingMesh” function of AW Mesh Manager with the name of the mesh that you want to load, which should be one of the keys of the “ModelEntryMap” of AW API Manager resulting from the most recent search. “StartLoadingMesh” in AW Mesh Manager shows how the functions to load a mesh from URL need to be called, selecting the right loader and leading to spawn the right type of actor. If you don’t want to use the AW Mesh Manager, you can call these loaders in the way you see fit, as long as you provide them with the Model Entry struct obtained from a previous search to the API, or if you also modify how that is handled, to match your particular preferences.
- 4.Note that a “Callback” is passed to the loaders to decide how to set up the actor once the loader has spawned it. The AW Mesh Manager adjusts its pivot and position in a grid fashion, but you could potentially override that or pass an arbitrary function if you want to place the actor in a specific position or add any custom logic.
Can I load Anything World models at run-time?
Not yet, but this is planned for a future update.
Do you support Unreal Engine 4?
No.
Why are some models loaded as static even if they could be animated?
The models that are animated have a play icon in the top left corner of their thumbnails in their Model Button on the Search Panel. The others simply don’t have animations at this point. Some of them (for example some animals which aren’t animated yet) will be animated in the future, but others (for instance static objects) are likely to remain static.
Animate Anything Tool Download SDK
Unity SDK is here!
Download Anything World’s Unity SDK and start building limitless 3D experiences today!
Anything World’s Unity SDK is supported and tested with Unity Version 2020/2021 LTS with URP.
Anything World Early Access
https://anything-world.gitbook.io/anything-world/changelog/anything-world-for-unity-v1.0.2.4
Known Issues
Some of the commonly known issues and bugs you might encounter.
Models can fail to import to Unity scene due to “calculated bound was infinity”
This is caused by a conflict with out OBJ loader and a specific version of the Maya exporter in some of the unprocessed models we serve. If you encounter this issue with a model please let us know in the help channel in discord or [email protected].
Textures or materials missing from imported model
This occurs in some of our unprocessed OBJ models in their pre-QA’d state. if you encounter this issue with a model please let us know in the help channel in discord or [email protected].
Errors thrown disconnecting or connecting microphones during recording (Natural Language Creator)
This is a limitation of the current microphone API that we’re attempting to work around, in the mean time you can close and open the panel again to reset the creator.
Users can receive error “Cert verify failed” when logging into Anything World Unity SDK
This appears infrequently on slower connections or if the connection is intermittent when logging in. If you observe this error wait 15 seconds, close and open the login window and try again.