U3L17-1——Model模型页签
U3L17-1——Model模型页签
Model 模型页签
该页签主要是用于设置诸如:模型比例设置、是否使导入模型中的摄像机和光源、网格压缩方式 等等相关信息
修改模型中存储的各种元素和属性,最终会影响在 Unity 中使用模型时的一些表现
关于这部分参数,具体还可以参考:Model 选项卡 - Unity 手册
参数相关
Scene 场景相关设置
-
Scale Factor 缩放系数
当模型中的比例不符合项目中的预期比例时,
可以修改此值来改变该模型的全局比例,
Unity 的物理系统希望游戏世界中的1米在导入模型文件中为1个单位 -
Convert Units 转换单位
启用可将模型文件中定义的模型比例转换为 Unity 的比例,
其中,不同的格式的比例如下:- .fbx .max .jas = 0.01
- .3ds = 0.1
- .mb .ma .lxo .dxf .blend .dae = 1
-
Bake Axis Conversion 烘焙轴转换
如果启用此属性,当您导入使用与 Unity 不同的轴系统的模型时,可将轴转换的结果直接烘焙到应用程序的资源数据(例如,顶点或动画数据)中。
如果禁用此属性,将在运行时补偿根游戏对象的 Transform 组件以模拟轴转换。 -
Import BlendShapes 是否允许 Unity 随网格一起导入混合形状
当导入包含混合形状的网格时,将使用 SkinnedMeshRenderer 组件
注意:
-
导入混合形状法线需要在 FBX 文件中具有平滑组
-
如果想要导入具有法线的混合形状,由两种选择:
-
把下方的 Blend Shape Normals 属性设置为 Import
Unity 将使用 FBX 文件内的法线
-
把下方的 Blend Shape Normals 属性设置为 Calculate
Unity 将使用相同的逻辑来计算网格和混合形状上的法线
-
-
-
Import Visibility 是否导入可见性
开启后可以从 FBX 文件中读取可见性属性。
比如模型动作里,有些动作是要隐藏模型形象的,开启后才会生效
一些 3D 建模软件对可见性属性不支持或者有限制
比如 Maya 和 Blender 就对可见性有限制
所以一般这个选项要根据你使用的建模软件决定,一般可以不勾选 -
Import Cameras 是否导入摄像机
是否把 FBX 文件中的摄像机也导入,Unity 支持 FBX 中摄像机的部分属性,比如:正交或透视,是否支持动画,物理属性,远近裁剪面等等,
此项一般不勾选 -
Import Lights 是否导入光源
支持的光源类型:全局光、聚光灯、方向光、面光源
支持的光源属性:范围、颜色、强度、角度
此项一般不使用 -
Preserve Hierarchy 始终创建一个显示预制体根
通常在导入的时候,FBX 会将模型中的空根节点进行优化去掉它,但是如果多个 FBX 文件中包含同一层级的空根对象,可以勾选它来保留他们
主要作用是:
比如有两个 .fbx 文件,file1 包含骨骼和网格,file2 只包含骨骼动画。
如果不启用它就导入 file2 ,那么 Unity 将剥离根节点,会让层级不匹配,并且让动画不能正常播放 -
Sort Hierarchy By Name 在层级窗口中根据名字排序子物体
启用此属性可在层级视图中按字母顺序对游戏对象进行排序。
如果不启用,会保留 FBX 文件中定义的层级顺序
Meshes 网格相关设置
-
Mesh Compression 网格压缩
设置压缩比级减小网格的文件大小,提高压缩比会降低网格的精度,调整该参数可以优化游戏包的大小。
- Off:不使用压缩
- Low:低压缩比
- Medium:中等压缩比
- High:高压缩比
-
Read/Write Enabled 是否开启读写网格信息
如果开启,Unity 将网格数据传给 GPU 后,在 CPU 中还会保留可寻址内存,意味着我们可以通过代码访问网格数据进行处理
如果不开启,Unity 将网格数据传给 GPU 后,会将 CPU 中的可寻址内存中网格数据删除,我们无法再得到网格数据
开启时,会增加内存占用,关闭时,可以节约运行时内存使用量
何时开启?
- 需要在代码中读取或写入网格数据
- 需要运行时合并网格
- 需要使用网格碰撞器时
- 需要运行时使用 NavMesh 构建组件来烘焙
NavMesh
时
等等
-
Optimize Mesh 确定三角形在网格中列出的顺序以提高GPU性能
- Nothing:无优化
- Everything:对顶点以及多边形顶点索引进行重新排序
- Polygon Order:仅对多边形重新排序
- Vertex Order:仅对顶点重新排序
-
Generate Colliders 生成碰撞器(需要移动的几何体不应开启此选项)
启用后会自动附加网格碰撞器的情况下导入你的网格
建议不移动的环境几何体可以开启它
但是需要移动的几何体建议不要开启它
Geometry 几何体相关设置
-
Keep Quads 保留四边形(仅在使用曲面细分着色器时可能需要开启)
启用后,Unity 不会将 4 个顶点的多边形转为三角形,当使用曲面细分着色器时可能需要启用此选项,因为四边形的曲面细分着色器比多边形的效率更高。
Unity 可以导入任意类型的多边形(三角形到 N 边形),顶点数量超过四个的多边形将始终转换为三角形,无论此设置如何。
如果一个网格有四边形和三角形(或者转换为三角形的 N 边形)
那么 Unity 会创建两个子网格来分离四边形和三角形。
每个子网格要么只包含三角形,要么只包含四边形。 -
Weld Vertices 合并顶点
合并在空间中共享相同位置的顶点,
前提是这些顶点总体上共享相同的属性(UV,法线,切线等等)
开启后相当于会通过减少网格的总数量来优化网格的顶点计数一般都开启,除非你想有意保留这些重复顶点,之后想通过代码去获取他们来进行处理
-
Index Format 网格索引缓冲区的大小
一般都选择 16bits,Auto可以会默认选择 16bits
只有在必要时使用 32bit,16bits 即通用又节约内存- Auto
- 16 bits
- 32 bits
-
Legacy Blend Shape Normals 传统混合变形法线
启用后会基于 Smoothing Angle 值来计算法线
-
Normals 定义如何计算法线
-
- Import:从文件中导入法线
如果文件中不包含发现信息,将使用 Calculate 模式计算法线 - Calculate:根据 Normals Mode、Smoothness Source 和Smoothing Angle 属性来计算发现
- None:不计算法线
-
-
Blend Shape Normals 定义如何为混合形状计算法线
只有当 Legacy Blend Shape Normals 禁用时出现
-
Normals Mode 计算法线的模式
只有当上方的 Normals 设置为 Import 和 Calculate 才会出现
- Unweighted Legacy:2017.1版本之前计算法线的方式
如果是在该版本之前导入的所有FBX模型,默认设置为该模式 - Unweighted:法线不加权重
- Area Weighted:法线按照图面面积加权重
- Angle Weighted:法线按照每个图面上的顶角加权重
- Area And Angle Weighted:法线按照每个图面上的图面面积和顶角加权重,这是默认选项
- Unweighted Legacy:2017.1版本之前计算法线的方式
-
Smoothness Source 如何确定平滑
哪些边应该平滑,哪些应该粗糙
只有当 Legacy Blend Shape Normals 属性禁用时出现-
- Prefer Smoothing Groups:尽可能使用模型文件中的平滑组
- From Smoothing Groups:仅使用模型文件中的平滑组
- From Angle:使用Smoothing Angle值来确定哪些边应该是平滑的
- None:不拆分硬边的任何顶点
-
-
Smoothing Angle 控制是否为硬边拆分顶点
通常,值越大,产生的顶点越少,
仅当 Normals 设置为 Calculate 时才可用注意:此设置仅用于非常光滑的或者非常复杂的模型,
否则,最好在 3D 建模软件中手动平滑然后导入,
始终建议建模的时候就做好,更加准确 -
Tangents 定义如何导入或计算顶点切线
仅当Normals设置为Calculate或Import时,此属性才可用
- Import:如果 Normals 设置为 Import,则从FBX文件中导入顶点切线,如果网格没有切线,那么将无法使用法线贴图着色器
- Calculate Legacy:使用旧版算法计算切线
- Calculate Legacy With Split Tangents:使用旧版算法计算切线,并在UV图表上进行拆分。如果网格上的接缝碰坏了法线贴图光照,请使用此属性
- Calculate Mikktspace:使用米克特空间计算切线
- None:不导入顶点切线,网格没有切线,则无法使用法线贴图着色器
-
Swap UVs:在网格中交换UV通道
如果漫反射纹理使用光照贴图中的 UV,请使用此选项
-
Generate Lightmap UVs:为光照贴图创建第二个UV通道