Separating animation from characters

Hi,

I am quite new to Unity so I apologize for any newbie behavior.

We are looking for the best way to achieve the following:

We have a set of 3 3D characters, skinned skeletals models.

We have a wide variety of skeleton animations for these characters in which all or some participate.

To save memory, we would like to only import the characters once,then on-the-fly apply an animation “file” to the relevant character(s) and play it.

Our assets are Maya based.

When we import it into Unity it comes in as an asset including the characters and animation.

Importing the models only seems fairly simple but how and in what format can we bring in the “pack” of animations to select from in a way they can be applied to the chars.
Any insight would be greatly appreciated.

Thanks!

When you import a maya file, its animation clips appear as individual files if you expand the maya file’s contents in your asset browser. If you haven’t named the clip anything, it will show up as something generic like “Take001”, but if you’ve named your animations via the import options dialog you will see each of your clips represented there with their corresponding names.

If you were to then drag this animation clip from your asset list onto a model in your scene that has an animation component, you’d add that clip to the other model. In this manner, you can copy animations from one character to another if your characters share an identical skeleton.

Thank you for the quick reply!

I tried dragging another clip from a different assets and it does work.Thank you.

Now, the question is, what type of animation-only file does Unity expect to get from Maya. (so far I was importing an entire Maya scene that included the animation and referenced models/rigs.

The importer from the Unity side doesn’t seem to allow me to make any selections (i.e. Animation only, no meshes etc) and once imported, the animation clip sits under the asset so none of it can be deleted.

Thanks!

Well, just because a model exists in your asset directory doesn’t mean its wasting resources or memory in your game. You could have 100 maya files, each with the full character rig but a different animation clip, instantiate one in your scene, and attach all 100 animation clips to that single model with no additional overhead.

Personally, I end up just animating all of my animations for a particular character in a single file and splitting it up on import, to keep from filling up my drive with dozens of separate maya files.

Ok, thats good to know!
So you mean if I do so, the additional (not used) models and rigs will not be added into the final runtime build?

This is crucial as I am doing this for the iPhone so resources must be tights…

Regardless, we tried exporting our Maya based scenes into an animation only file (clip) but could not get Unity to recognize it as clips.

Is there a trick, or better yet some documented process to doing so?

Thanks!

All of my stuff looks like this:

CharacterFile (model that is rigged, unwrapped, and used to make prefab)
CharacterFile@anim1 (a duplicate of CharacterFile that is animated to perform some action)
CharacterFile@anim2
CharacterFile@anim3

CharacterFile@animN

Even though all of those animation files contain the model and rig, the only thing that Unity is using is the animation clip that is generated by using the @ naming convention. So, in short, you don’t need to do a separate export of animation only. Just duplicate your rigged model file (mb, ma, fbx, or whatever) and animate it.

I’m trying to do this in the editor on Windows, but I keep being told I can’t move it. It seems to think I’m trying to move it to and from the same folder (because both actors are in the same folder) and paying no attention to the fact that I’m dragging it into an actor in that folder. I tried moving the (receiving) actor out of the folder too, but it still won’t let me do it.

Am I missing something here?