Unity supports importing skinned Meshes from any tool that supports the FBX format.
For performance reasons, Unity supports linear blend skinningThe process of binding bone joints to the vertices of a character’s mesh or ‘skin’. Performed with an external tool, such as Blender or Autodesk Maya. More info
See in Glossary with a default of four influences per vertex maximum. If your character uses more than four, follow these instructions when you import the Model into Unity:
Note: If you choose to keep the default maximum and you have a MeshThe main graphics primitive of Unity. Meshes make up a large part of your 3D worlds. Unity supports triangulated or Quadrangulated polygon meshes. Nurbs, Nurms, Subdiv surfaces must be converted to polygons. More info
See in Glossary with more than four influences, the animation may appear choppy or distorted. Or if you are using deformation other than clusters, the animation may be completely absent. To resolve this, bake the deformation jointsA physics component allowing a dynamic connection between rigidbodies, usually allowing some degree of movement such as a hinge. More info
See in Glossary before exporting the Model from your 3D modeling software.
On mobile devices, Unity handles skinning on the CPU with hand-coded NEON/VFP assembly. However, normals and tangents are not normalized, so if you are writing your own ShadersA small script that contains the mathematical calculations and algorithms for calculating the Color of each pixel rendered, based on the lighting input and the Material configuration. More info
See in Glossary, you should handle the normalization yourself. However, if you are using Surface ShadersUnity’s code generation approach that makes it much easier to write lit shaders than using low level vertex/pixel shader programs. More info
See in Glossary, Unity automatically handles the normalization.
Optimized Meshes sort bones differently from non-optimized Meshes, and this results in potentially significant animation problems. This is because non-optimized Meshes rely on bone order to animate, while optimized Meshes use the bone names and do not rely on bone order.
If you import the FBX file and use it, Unity takes care of the order of the transforms.
If you are using the Scripting API and you want to change SkinnedMeshRenderer.sharedMesh: