When I import a .fbx from, say, Fuse or the asset store, does this character contain a rig from 3Ds max (or the program that they were modelled in) and is Unity simply picking up this rig, or is Unity literally rigging the entire character instantly? (I’m an old 3ds max dog and technology does change quite quickly so I don’t know, lol).
I’ve noticed that some animations work with my characters, namely those that I import with them, however people are selling animation packs. How would I use such animation pack if the animations are not “set to my model”? Would I need to go into a third party software and add them to the model before adding them to unity?
I got some knowledge on this so I might be able to point you in the right direction.
A character model typically needs to have a skeleton and is skinned to it. Once you import an .fbx that is setup like this, Unity will utilize said skeleton with any animations that are made with it to animate the model.
When you look at the import settings for an .fbx file, there are two tabs that deal with how animations are applied to the model’s skeleton. The Rig tab lets you tell Unity what kind of skeleton you’re working with and what system to use with it. For biped (two-legged) characters, you may want to choose Humanoid as the rig type. For other non-biped skeletons, you’ll want to choose Generic.
The Humanoid option that I just mention in the Rig tab allows you to use a system that can retarget animations from one skeleton to another. It does this by creating an Avatar for the model which assigns bones in a skeleton to predefined slots. For example, the bone representing the left hand should be assigned to the left hand slot in the Avatar file.
Once two characters models are set to Humanoid and have their Avatars configured correctly, any animation that exists on one model can be retargetted to the other. What is essentially happening here is that, say, the animation on the bone assigned to the right arm slot in one Avatar is being transferred onto the bone assigned to the same slot defined in the other Avatar.
If I need to elaborate on anything, let me know. Hope this helps you out.
Hey Eses, thanks for taking the time to write your response.
Yes I read through that manual and created a model that works with Standard Mecanim Humanoid animations. That requires skinning the model and importing it to Unity as a whole.
However, if I do this and say I want to switch out only the arms of my character, then I would have to reskin the arms and import that as a new model for Unity to use. (Correct me if I’m wrong)
I was wondering what is the correct way to modularize body parts, so that I can switch out different parts of the character but have the animations still function.
For example, I was thinking something like this:
My character would have separate Head, Body, Arms and Legs, all rigged and skinned. Then when I click Configure as a Humanoid in the Rig tab of Unity, I could drag in the individual bones from each part.
However here’s the problem, Unity requires some specific hierarchy to the bones, and since each part is individually skinned, would it be possible to alter their hierarchy after importing them into Unity?
andysctu: there are many threads discussing topic of character customization and interchangeable parts (above my skills) - and I don’t want to hijack this thread, I answered with that link because your question was related to OP’s question.