Unity3D的Model Import Settings window - Model tab

请尊重原作者的工作,转载时请务必注明转载自:www.xionggf.com

1 Model tab

当选中模型文件时,Inspector窗口就会显现出Import Settings窗口,且定位到Model页。可以通过在此页中调整参数控制模型导入的细节。

Model页上的各种属性可以分为三个区,分别是:

分区 细节
(A) Scene 和关卡场景相关的,比如光源和摄像机的导入,还有scale factor的设置
(B) Meshes. 和网格导入相关的属性
(C) Geometry 和网格拓扑相关的户型,比如的顶点的纹理UV,法线等等

2 Scene分区的属性描述表格

属性 功能
Scale Factor 在导入的原始模型文件的比例值,不适合项目中的预期比例时,设置此值,可作为一个全局的对原始模型的缩放比例值。 Unity的物理系统,期望游戏世界中的1米,就对应于原始模型文件的1个单位。
Convert Units 启用此选项,可将导入的原始模型文件的比例值。转换为Unity的比例。导入BlendShapes时,启用此属性可允许Unity导入网格物体的混合形状。
Import BlendShapes Enable this property to allow Unity to import blend shapes with your Mesh. See Importing blend shapes below for details.Note: Importing blend shape normals requires smoothing groups in the FBX file
Import Visibility 导入FBX设置,这些设置将会确定是否启用MeshRenderer组件,当启用时改mesh可见
Import Cameras 从.FBX文件中导入在这些文件中定义的camera
Import Lights 从.FBX文件中导入在这些文件中定义的光源
Preserve Hierarchy 即使此模型只有一个根节点,也要始终创建一个显式的prefab的根节点。通常,FBX Importer会从模型中剥离所有空的根节点作为优化策略。但是,如果您有多个FBX文件,且它们具有相同层次结构的某些部分,则可以使用此选项保留原始层次结构。
Sort Hierarchy By Name 在导入.FBX文件中节点为unity的game object时,是否按照节点名字按字母表排序,如果不启用此项的话,原来是怎样的一个节点顺序就保持原顺序导入

Preserver Hierarchy属性选项的举例说明:
例如,file1.fbx包含一个rig和mesh,而file2.fbx包含相同的rig,但仅包含的动画而没有mesh。如果这时候导入file2.fbx的时候不启用此项的话,Unity会裁切(stript)掉它的这个无mesh的根节点,从而导致层次结构不匹配,动画会被毁坏。

2.1 Import BlendShapes

Unity支持blend shape(morphing),并且可以从3D建模应用程序导出的FBX和DAE文件中导入blend shape。您也可以从FBX文件导入动画。 Unity支持顶点级动画(vertex-level animation),这些顶点级动画可以通过顶点,法线和切线进行blend shape。

蒙皮(skin)blend shape可以同时影响mesh。 Unity导入包含blend shape的mesh时,它将使用SkinnedMeshRender组件(而不是MeshRenderer组件),无论其是否具有蒙皮。

Unity导入blend shape动画作为常规动画的一部分:通过SkinnedMeshRenderers组件可以设置blend shape动画的权重

选择以下两种方法之一来导入具有法线的混合形状:

  1. Blend Shape Normals选项设置为Import选项。以便Unity使用FBX文件中的法线。有关更多信息,请参见下面的Blend Shape Normals属性的文档。
  2. Blend Shape Normals选项设置为Calculate选项。,以便Unity使用相同的逻辑来计算网格物体上的法线和 blend shape

2.2 Importing visibility

通过Import Visibility属性,Unity可以从FBX文件中读取visibility properties。通过控制Renderer.enabled属性,这个可见性(visibility)值animation curves能启用和禁用MeshRenderer组件。

可见性在继承体系下,默认情况下为true,但可以覆盖。例如,如果父网格物体的可见性设置为0,则其子物体上的所有渲染器也会被禁用。 在这种情况下,将为每个子物体的Renderer.enabled属性创建一个动画曲线。

一些3D建模应用程序不支持可视性属性或在可视性属性方面有限制。有关更多信息,请参见:

  1. Limitations on importing Models into Unity from Autodesk® Maya®
  2. Limitations on importing Models into Unity from Blender

2.2 Importing cameras

从.FBX文件导入相机时,Unity支持以下属性:

属性 功能
Projection Mode 正交(Orthographic)或者透视(perspective),不支持动画效果
Field of View 支持动画效果
All Physical Camera properties 如果从FBX文件中导入一个带有Physical Properties的Camera。Unity会创建一个物理化摄像机(physical camera)。这种摄像机启用了Focal Length, Sensor Type,Sensor Size,Lens Shift,和Gate Fit。另外不是所有的3D建模软件都支持Gate Fit属性,如果不支持,Unity3D会将其设置为None
Near and Far Clipping Plane distance Unity不导入此属性的任何动画数据
Target Cameras 如果导入一个Target Camera,Unity将会创建一个带有LookAt约束的摄像机。

2.3 Importing lights

2.3.1 支持的光源类型

Unity支持以下光源类型:

  1. Omni
  2. Spot
  3. Directional
  4. Area

2.3.2 支持的光源属性

Unity支持以下光源属性:

属性 功能
Range 使用如果UseFarAttenuation属性被启动的话,FarAttenuationEndValue属性启用。此属性不支持动画效果
Color 支持动画效果
Intensity 支持动画效果
Spot Angle 支持动画效果,且只对spot光源有效

2.3.2 Limitations

一些3D建模应用程序将缩放比例应用于灯光属性。例如,您可以按其层次结构缩放聚光灯并影响光锥。Unity不会这样做,这可能导致灯光在Unity中看起来有所不同。

FBX格式未定义区域灯的宽度和高度。某些3D建模应用程序不具有此属性,而仅允许您使用缩放比例来定义矩形区域。因此,导入时区域光的大小始终为1。

除非烘焙目标动画,否则不支持目标光源动画。

3 Meshes property section

属性 功能
Mesh Compression 设置压缩率级别以减小mesh的文件大小。 通过使用mesh bound降低存储顶点的浮点数的位深度来压缩网格数据,增加压缩率会降低网格的精度调整原则是:把压缩率尽可能调得高一些,但又看起来和不压缩没有太大的精度损失。压缩率级别分为LowMediumHigh三档,分别对应于低中高三种程度的压缩率
Read/Write Enabled 当启用了此标志之后,在使用这些数据渲染时,Unity将会把这些mesh数据上传到GPU能访问的存储器中,但在CPU访问的存储器中依然保留一份这个数据。如果关闭此选项时,Unity将这些数据上传到GPU能访问的存储器之后,会将其从CPU能访问的存储器中删除掉。默认地该项时关闭的,这样子可以省下不少运行期内存。Mesh类的Mesh.isReadable属性有这方面更详细的信息
Optimize Mesh 此选项将会决定。在导入mesh时,对mesh的三角形以何种方式进行排列,使得渲染时GPU的性能更好更优化
Generate Colliders 启用此项时,将会自动地对导入的mesh,对应生成mesh collider

3.1 Optimize Mesh的子选项列表

选项名 功能
Nothing 不启用优化
Everything 让Unity全部重排mesh中的多边形中的顶点,重排顶点的对应的索引
Polygon Order 仅重排mesh中的多边形信息,不处理顶点
Vertex Order 仅重排mesh中的顶点信息,不重排多边形

4 Geometry properties section

属性 功能
Keep Quads 启用此选项,可阻止Unity将具有四个顶点的多边形转换为三角形。 如果正在使用细分表面着色器Tessellation Shaders)的话,则可能要启用此选项,因为细分四边形可能比细分三角形更有效。Unity可以导入任何类型的多边形(三角形到任意多边形)。无论此设置如何,具有多于4条边的多边形。始终会转换为三角形。但是,如果网格具有四边形和三角形(或由大于4边的多边形转换而来的三角形),则Unity会创建两个子网格来分隔四边形和三角形。 每个子网格仅包含三角形或仅包含四边形。如果要从3ds Max将四边形导入Unity,则必须将其导出为"Editable Poly."
Weld Vertices 合并在空间上具有相同位置的顶点,前提是它们在整体上具有相同的属性(包括UV,法线,切线和顶点颜色),这将可以顶点的总数来优化网格。默认情况下启用此选项。当在设计上,故意在相同位置设置相同的的顶点以达到某种效果时。导入FBX时可能需要关闭此优化。
Index Format 指定存储每一个顶点索引值的整数位数。出于内存带宽等原因,最好一直都是用16位整数
Legacy Blend Shape Normals 当启用此项时,导入网格时会根据Smoothing Angle的值计算法线。
Normals 决定如何计算出mesh中个顶点的法线

5.1

5.2 Normals属性的三个选项

选项名 功能
Import 从.FBX文件中导入法线。如果文件中不包含法线信息,导入时将会计算出这些信息来。
Calculate Unity导入.FBX时,根据给定的Normals ModeSmoothness SourceSmoothing Angle计算法线。
None 不使用法线

5.3 Blend Shape Normals属性的三个选项

选项名 功能
Import 从.FBX文件中导入法线。 如果blend shape不包含法线,则FBX SDK将使用其自己的方法来计算法线,这些法线的值,和使用下面的Calculate选项所产生的法线值不同。
Calculate Unity导入.FBX时,根据给定的Normals ModeSmoothness SourceSmoothing Angle计算法线。
None blend shape的法线不会参与对base shape的计算。

5.4

5.5 Prefer Smoothing Groups

参考网页

https://docs.unity3d.com/2020.1/Documentation/Manual/class-FBXImporter.html

https://docs.unity3d.com/2020.1/Documentation/Manual/FBXImporter-Model.html