Model files can contain a variety of data, such as meshes, animation rigs and clips, materials, and textures.
Unity’s primary support for model filesA file containing a 3D data, which may include definitions for meshes, bones, animation, materials and textures. More info
See in Glossary is the FBX format. However, you can save your 3D files from most common 3D modeling software in their native format (for example, .max, .blend, .mb, .ma). When Unity finds these file types in your Assets
folder, it calls your 3D modeling software’s FBX export plug-inA set of code created outside of Unity that creates functionality in Unity. There are two kinds of plug-ins you can use in Unity: Managed plug-ins (managed .NET assemblies created with tools like Visual Studio) and Native plug-ins (platform-specific native code libraries). More info
See in Glossary, and imports the file. The 3D modeling software must be installed on the same computer as Unity, so in most cases it’s best practice to directly export as FBX from your application into your Assets
folder.
To open a model’s Import Settings, select the model from the Project windowA window that shows the contents of your Assets
folder (Project tab) More info
See in Glossary. The InspectorA Unity window that displays information about the currently selected GameObject, asset or project settings, allowing you to inspect and edit the values. More info
See in Glossary then displays the Import Settings for the selected model.
Note: A SpeedTree model has different importing settings. For more information, refer to SpeedTree Model tab reference.
If your file contains animation data, you can set up the rig with the Rig tab and then extract or define Animation ClipsAnimation data that can be used for animated characters or simple animations. It is a simple “unit” piece of motion, such as (one specific instance of) “Idle”, “Walk” or “Run”. More info
See in Glossary with the Animation tab. The workflow differs between humanoid and generic animation types because Unity needs the humanoid’s bone structure to be specific, but only needs to know which bone is the root nodeA transform in an animation hierarchy that allows Unity to establish consistency between Animation clips for a generic model. It also enables Unity to properly blend between Animations that have not been authored “in place” (that is, where the whole Model moves its world position while animating). More info
See in Glossary for the generic type. For more information, refer to Importing a model with humanoid animations and Importing a model with non-humanoid (generic) animations.
If your file contains materials and textures, you can define how you want to deal with them:
Unity follows a specific search pattern to automatically look for textures on import. First, the importer looks for a subfolder called Textures
within the same folder as the 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, or in any parent folder. If this fails, Unity performs an exhaustive search of all textures in the project. Although slightly slower, the main disadvantage of the exhaustive search is that there might be two or more textures in the project with the same name. In this case, it’s not guaranteed that Unity can find the right one.
If you have a character with a normal mapA type of Bump Map texture that allows you to add surface detail such as bumps, grooves, and scratches to a model which catch the light as if they are represented by real geometry.
See in Glossary that was generated from a high-polygon version of the model, import the game-quality version with the Smoothing Angle property set to 180°. This prevents odd-looking seams in lighting due to tangent splitting. If the seams are still present with these settings, choose the Calculate Legacy With Split Tangents setting from the Tangents drop-down menu. If you’re converting a grayscale image into a normal map, you don’t need to do this.
Unity supports blend shapes (morphing) and can import blend shapes from FBX and DAE files exported from 3D modeling applications. You can also import animation from FBX files. Unity supports vertex-level animation for blend shapes on vertices, normals and tangents.
Skin and blend shapes can affect meshes at the same time. When Unity imports meshes containing blend shapes, it uses the SkinnedMeshRenderer
component instead of the MeshRendere
r component, regardless of whether it has skin or not.
Unity imports blend shape animation as part of regular animation and animates blend shape weights on skinned mesh renderersA mesh component that takes the geometry from the Mesh Filter and renders it at the position defined by the object’s Transform component. More info
See in Glossary.
To import blend shapes with normals perform one of the following:
Note: If you want tangents on your blend shapes then set the Tangents import setting to Calculate.
Unity can read visibility properties from FBX files with the Import Visibility property. Values and animation curvesAllows you to add data to an imported clip so you can animate the timings of other items based on the state of an animator. For example, for a game set in icy conditions, you could use an extra animation curve to control the emission rate of a particle system to show the player’s condensing breath in the cold air. More info
See in Glossary can enable or disable MeshRenderer components by controlling the Renderer.enabled
property.
Visibility inheritance is true by default but can be overridden. For example, if the visibility on a parent mesh is set to 0, all the renderers on its children are also disabled. In this case, one animation curve is created for each child’s Renderer.enabled
property.
Some 3D modeling applications either don’t support or have limitations with visibility properties. For more information refer to Support for proprietary model file formats.
The following properties are supported when importing camerasA component which creates an image of a particular viewpoint in your scene. The output is either drawn to the screen or captured as a texture. More info
See in Glossary from an FBX file:
Property | Description |
---|---|
Projection mode | Orthographic or perspective. Doesn’t support animation. |
Field of View | Supports animation. |
All Physical Camera properties | If you import a Camera with Physical Properties (for example, from Maya), Unity creates a Camera with the Physical Camera property enabled and the Focal Length, Sensor Type, Sensor Size, Lens Shift, and Gate Fit values from the FBX file. Note: Not all 3D modeling applications have a concept of Gate Fit. When not supported by the 3D modeling application, the default value in Unity is None. |
Near and Far Clipping PlaneA plane that limits how far or close a camera can see from its current position. A camera’s viewable range is between the far and near clipping planes. See far clipping plane and near clipping plane. More info See in Glossary distance |
Unity doesn’t import any animation on these properties. When exporting from 3ds Max, enable the Clip Manually setting; otherwise the default values are applied on import. |
Target Cameras | If you import a Target Camera, Unity creates a camera with a LookAt constraint using the target object as the source. |
For more information, refer to Camera Inspector window reference.
The following light types are supported:
The following light properties are supported:
Property | Description |
---|---|
Range | The FarAttenuationEndValue is used if UseFarAttenuation is enabled. FarAttenuationEndValue does not support animation. |
Color | Supports animation. |
Intensity | Supports animation. |
Spot Angle | Supports animation. Only available for Spot Lights. |
Note: In 3ds Max, the exported default value is the value of the property at the current selected frame. To avoid confusion, move the playhead to frame 0 when exporting.
Some 3D modeling applications apply scaling on light properties. For instance, you can scale a spotlight by its hierarchy and affect the light cone. Unity doesn’t do this, which can cause lights to look different in Unity.
The FBX format doesn’t define the width and height of area lights. Some 3D modeling applications don’t have this property and only allow you to use scaling to define the rectangle or disc area. Because of this, area lights always have a size of 1 when imported.
Targeted light animations aren’t supported unless their animation is baked.
To add a model file to your sceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary perform one of the following actions: