Model files that are placed in the Assets folder in your Unity project are automatically imported and stored as Unity Assets.
A model file can contain a 3D model, such as a character, a building, or a piece of furniture. The model is imported as multiple Assets. In the Project window, the main imported object is a model Prefab. Usually there are also several Mesh objects that are referenced by the model Prefab.
A model file can also contain animation data, which can be used to animate this model or other models. The animation data is imported as one or more Animation Clips.
The Import Settings for a model file is displayed in the Model tab of the FBX importer’s Inspector window when the model is selected. These affect the Mesh and its Normals. Settings are applied per Asset on disk, so if you need Assets with different settings, make (and rename accordingly) a duplicate file.
|Scale Factor||Unity’s physics system expects 1 meter in the game world to be 1 unit in the imported file. If you prefer to model at a different scale then you can compensate for it here. Defaults for different 3D packages are as follows:
.fbx, .max, .jas, .c4d = 0.01
.mb, .ma, .lxo, .dxf, .blend, .dae = 1
.3ds = 0.1
|Use File Scale||Use the default model scaling, or uncheck to set a custom File Scale value for your model. Unity’s physics system expects 1 meter in the game world to be 1 unit in the imported file. If you prefer to model at a different scale then you can compensate for it here.|
|File Scale||Set a custom scale for your model. Only available when Use File Scale is checked.|
|Mesh Compression||Increasing this value reduces the file size of the Mesh, but might introduce irregularities. It’s best to turn it up as high as possible without the Mesh looking too different from the uncompressed version. This is useful for optimizing game size.|
|Read/Write Enabled||If enabled, Mesh data is kept in memory so that a custom script can read and change it. Disabling this option saves memory, because Unity can unload a copy of Mesh data in the game. However, in certain cases when the Mesh is used with a Mesh Collider or Particle System, this option must be enabled. These cases include:
- Negative scaling (for example, (–1, 1, 1)).
- Shear transform (for example, when a rotated Mesh has a scaled parent transform).
|Optimize Mesh||让 Unity 确定三角形在网格中列出的顺序。Unity 会对顶点和索引重新排序以改善 GPU 性能。|
|Import BlendShapes||Allow Unity to import BlendShapes with your Mesh.|
|Generate Colliders||If this is enabled, your Meshes are imported with Mesh Colliders automatically attached. This is useful for quickly generating a collision Mesh for environment geometry, but should be avoided for geometry you are moving.|
|Keep Quads||Unity can import any type of polygon ( triangle to N-gon ). Polygons that have more than 4 vertices are always converted to triangles. Quads are only converted to triangles if “Keep Quads” is off. Quads might be preferable over polygons when using Tessellation shaders. See documentation on Surface Shader Tessellation for more information.|
|Index Format||Defines the size of the Mesh index buffer. Note: For bandwidth and memory storage size reasons, you generally want to keep 16 bit indices as default, and only use 32 bit when necessary.|
|Auto||Allows Unity to choose whether to use 16 or 32 bit indices when importing a Mesh, depending on the Mesh vertex count. This is the default for assets added in Unity 2017.3 and onwards.|
|16 bit||Makes Unity always use 16 bit indices when importing a Mesh. If the Mesh is larger, then it is split into <64k vertex chunks. Assets that already exist in projects made in Unity 2017.2 or previous versions will use this setting.|
|32 bit||Makes Unity always use 32 bit indices when importing a Mesh. This might be useful if you are doing GPU-based rendering pipelines (for example with compute shader triangle culling). This ensures that all Meshes use the same index format and allows you to have simpler compute shaders, because they only need to handle one format.|
|Weld Vertices||Combine vertices that share the same position in space. This optimizes the vertex count on Meshes by reducing their overall number. This option is enabled by default.
In some cases, you might need to switch this optimization off when importing your Meshes. For example, if you intentionally have duplicate vertices which occupy the same position in your Mesh, you may prefer to use scripting to read or manipulate the individual vertex or triangle data.
|Import Visibility||导入 FBX 设置，这些设置定义了是否启用 MeshRenderer 组件（可见）。有关详细信息，请参阅下面的导入可见性。|
|Import Cameras||从 .FBX 文件导入摄像机。有关详细信息，请参阅下面的导入摄像机。|
|Import Lights||从 .FBX 文件导入光源。有关详细信息，请参阅下面的导入光源。|
|Preserve Hierarchy||Always create an explicit prefab root, even if this model only has a single root. Normally, the FBX Importer strips any empty root nodes from the model as an optimization strategy. However, if you have multiple FBX files with portions of the same hierarchy you can use this option to preserve the original hierarchy.
For example, file1.fbx contains a rig and a Mesh and file2.fbx contains the same rig but only the animation for that Mesh. If you import file2.fbx without enabling this option, the animation is imported without its rig, the hierarchies don’t match, and the animation breaks.
|Swap UVs||Swaps the primary and secondary UV channels in your Meshes. Use this option if your diffuse texture uses UVs from the lightmap.|
|Generate Lightmap UVs||为光照贴图创建第二个 UV 通道。请参阅有关光照贴图的文档以了解更多信息。|
|Normals & Tangents|
|Import||Default option. Imports normals from the file.|
|Calculate||Calculates normals based on Smoothing angle. If selected, the Smoothing Angle becomes enabled.|
|None||Disables normals. Use this option if the Mesh is neither normal mapped nor affected by realtime lighting.|
|Normals Mode||Define how the normals are calculated by Unity. This is only available when Normals is set to Calculate.|
|Unweighted Legacy||The legacy method of computing the normals (prior to version 2017.1). In some cases it gives slightly different results compared to the current implementation. It is the default for all FBX prefabs imported before the migration of the project to the latest version of Unity.|
|Area and Angle Weighted||法线按照每个图面上的图面面积和顶角加权。这是默认选项。|
|Tangents||Defines how vertex tangents should be imported or calculated. This is only available when Normals is set to Calculate or Import.|
|Import||Imports vertex tangents from FBX files if Normals is set to Import. If the Mesh has no tangents, it won’t work with normal-mapped shaders.|
|Calculate Tangent Space||Calculates tangents using MikkTSpace. This is the default option if Normals is set to Calculate.|
|Calculate Legacy||Calculates tangents with legacy algorithm.|
|Calculate Legacy - Split Tangent||Calculates tangents with legacy algorithm, with splits across UV charts. Use this if normal map lighting is broken by seams on your Mesh. This usually only applies to characters.|
|None||Does not import vertex tangents. The Mesh has no tangents, so won’t work with normal-mapped shaders.|
|Smoothing Angle||Sets how sharp an edge has to be in order to be treated as a hard edge. It is also used to split normal map tangents.|
Unity can read visibility properties from FBX files with the Import Visibility property.
Values and animation curves can enable or disable MeshRenderer components by controlling the Renderer.enabled property.
默认情况下，可见性是可以继承的（设置为 true），但可以覆盖。例如，如果父网格上的可见性设置为 0，那么其子网格上的所有渲染器也将被禁用。在此情况下，将为每个子项的
Some 3D modelling applications either do not support or have limitations regarding visibility properties. For more information, see:
The following Camera properties are supported when importing Cameras from an .FBX file:
|Field of View||支持动画。|
|Near 和 Far Clipping Plane 距离||Does not support animation. When exporting from 3DSMax, enable the Clip Manually setting; otherwise the default values are applied on import.|
Note: Targeted cameras are not supported.
|Range||如果启用 UseFarAttenuation__，则使用 FarAttenuationEndValue。FarAttenuationEndValue__ 不支持动画。|
Note: In 3DSMax, 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 modelling applications apply scaling on light properties. For instance, you can scale a spot light by its hierarchy and affect the light cone. Unity does not do this, which may cause lights to look different in Unity.
The FBX format does not define the width and height of area lights. Some 3D modelling applications don’t have this property and only allow you to use scaling to define the rectangle area. Because of this, area lights always have a size of 1 when imported.