βš™οΈAnimate

AnythingWorld.AnythingAnimate.Animate

Declaration

public static void Animate(GameObject model, string modelName, string modelType, string authorName, string license, bool symmetrical, bool allowSystemImprovement, Action<string> onExport, Action<string, UnityWebRequest> onError)
public static void Animate(GameObject model, string modelName, string modelType, string authorName, string license, bool symmetrical, bool allowSystemImprovement, Action<string> onExport, Action<string, UnityWebRequest> onError, string additionalAssetsPath = "")

Parameters

model

Reference to the model that should be rigged through Animate Anything.

modelName

The name of the model when accessed through My World.

modelType

The type of the model, as used when determining what skeleton to rig the model as (see the FAQ for more details on what types are currently supported).

authorName

The name of the original author of the model.

license

The license attributed to the model.

symmetrical

Flag for determining if the model is symmetrical or not.

allowSystemImprovement

Flag asking if the user allows Anything World to use the model for internal improvements.

onExport

Function asking the user what to do once the model has been sent to be processed. String parameter outputs the ID of the model.

onError

Function to be executed if an error occurs in sending the model to be processed. String parameter outputs the ID of the model if one has been supplied, UnityWebRequest parameter contains the request details such as error codes and messages.

(additionalAssetsPath)

Path to a folder containing any additional assets separate from the original model. If no additional assets are necessary, this can be left empty.

Description

Allows you to send a model to be rigged and animated through Animate Anything directly through Unity. If the model is sent to be animated without error, an ID will be generated that can be used to poll the current progress of the model's animation process. This function is Editor only.

This function works from a direct reference to a game object. Please note that the model needs to be of a valid file type (.obj, .fbx, .dae, .gltf, or .glb). Any additional assets uploaded similarly need to be of a valid asset file type (a list of these valid file types, as well as additional constraints can be found here). The additional assets path must lead to a folder which contains the assets. Ensure that any paths used are relative paths to the Assets folder.

Example

public class MyTestScript : MonoBehaviour 
{
    public GameObject myModel;
    
    string myModelName = "My Model";
    string myModelType = "Human";
    string authorName = "Model Author";
    string myModelLicense = "MIT";
    bool myModelSymmetry = true;
    bool myModelUsedForImprovement = false;

    public void AnimateMyModel()
    {
        AnythingAnimate.Animate(
            myModel,
            myModelName,
            myModelType,
            authorName,
            myModelLicense,
            myModelSymmetry,
            myModelUsedForImprovement,
            PrintDebugWhenSuccessful,
            PrintDebugWhenFail)
    }
    // This function will be invoked if the model has successfully been sent to Animate Anything
    public void PrintDebugWhenSuccessful(string ID)
    {
        Debug.Log("Successfully sent my model to be animated!");
    }
    // This function will be invoked if an error was encountered in sending the file to Animate Anything
    public void PrintDebugWhenFail(string ID, UnityWebRequest error)
    {
        Debug.Log("Could not send my model to be animated!");
    }
}

Declaration

public static void Animate(string modelPath, string additionalAssetsPath, string modelName, string modelType, string authorName, string license, bool symmetrical, bool allowSystemImprovement, Action<string> onExport, Action<string, UnityWebRequest> onError)

Parameters

modelPath

Path to the model that should be rigged through Animate Anything.

additionalAssetsPath

Path to a folder containing any additional assets separate from the original model. If no additional assets are necessary, this can be left empty.

modelName

The name of the model when accessed through My World.

modelType

The type of the model, as used when determining what skeleton to rig the model as (see the FAQ for more details on what types are currently supported).

authorName

The name of the original author of the model.

license

The license attributed to the model.

symmetrical

Flag for determining if the model is symmetrical or not.

allowSystemImprovement

Flag asking if the user allows Anything World to use the model for internal improvements.

onExport

Function asking the user what to do once the model has been sent to be processed. String parameter outputs the ID of the model.

onError

Function to be executed if an error occurs in sending the model to be processed. String parameter outputs the ID of the model if one has been supplied, UnityWebRequest parameter contains the request details such as error codes and messages.

Description

Allows you to send a model to be rigged and animated through Animate Anything directly through Unity. If the model is sent to be animated without error, an ID will be generated that can be used to poll the current progress of the model's animation process.

This function uses a path to reference the model. This path needs to be a direct path to the model, including its extension type. Please note that the model needs to be of a valid file type (.obj, .fbx, .dae, .gltf, or .glb). Any additional assets uploaded similarly need to be of a valid asset file type (a list of these valid file types, as well as additional constraints can be found here). The additional assets path, unlike the model path, must lead to a folder which contains the additional assets. Ensure that the paths used are absolute paths.

Example

public class MyTestScript : MonoBehaviour 
{
    string myModelPath = "C:\Users\User\Desktop\MyModel.fbx"
    string myExtraAssetsPath = "C:\Users\User\Desktop\MyModelAssets"

    string myModelName = "My Model";
    string myModelType = "Human";
    string authorName = "Model Author";
    string myModelLicense = "MIT";
    bool myModelSymmetry = true;
    bool myModelUsedForImprovement = false;

    public void AnimateMyModel()
    {
        AnythingAnimate.Animate(
            myModelPath, 
            myExtraAssetsPath,
            myModelName,
            myModelType,
            authorName,
            myModelLicense,
            myModelSymmetry,
            myModelUsedForImprovement,
            PrintDebugWhenSuccessful,
            PrintDebugWhenFail)
    }
    // This function will be invoked if the model has successfully been sent to Animate Anything
    public void PrintDebugWhenSuccessful(string ID)
    {
        Debug.Log("Successfully sent my model to be animated!");
    }
    // This function will be invoked if an error was encountered in sending the file to Animate Anything
    public void PrintDebugWhenFail(string ID, UnityWebRequest error)
    {
        Debug.Log("Could not send my model to be animated!");
    }
}

Last updated