unity 导入的模型设置详谈

文章目录

  • [1.Model 模型](#1.Model 模型)
    • [1.1 Scene:场景级属性,例如是否导入灯光和照相机,以及使用什么比例因子](#1.1 Scene:场景级属性,例如是否导入灯光和照相机,以及使用什么比例因子)
    • [1.2 Mesh:网格的属性](#1.2 Mesh:网格的属性)
    • [1.3 Generate :与几何相关的属性,用于处理拓扑,UV和法线](#1.3 Generate :与几何相关的属性,用于处理拓扑,UV和法线)
  • [2.Rig 骨骼](#2.Rig 骨骼)
  • [3.Animation 动画](#3.Animation 动画)
  • [4.Materials 材质](#4.Materials 材质)

1.Model 模型

1.1 Scene:场景级属性,例如是否导入灯光和照相机,以及使用什么比例因子

属性 功能
Scale Factor 缩放因子(也就是模型导入后大小如果小了或者大了在这里直接改是相当于该模型的大小的,而且在scale那栏里不会有缩放数值)
Convert Units 启用此选项可将模型文件中定义的模型比例转换为 Unity 的比例。
Import BlendShapes 是否导入BlendShape表情/混合形状。BlendShape表情,主要工作量在美术,美术制作好表情动画之后,导入Unity中按照下面设置播放即可。美术方面:美术额外导出一个FBX,带有蒙皮信息、骨骼动画只保留一个造型、单独面部的动画信息(Morphing),经过测试,只有美术网格、骨骼、蒙皮、Morphing动画一起导出来的Fbx才能保留表情动画信息。导入到Unity中,基础模型要开启Import BlendShape,对应的面部SkinnedMeshRenderer上会多出BlendShape的配置(调整这些值就可以看到表情变化了)。
Import Visibility 可见性是否导入(在编辑模型导出之前可以隐藏模型,隐藏模型选上他了还是可以导出来,勾选上这个在模型拖入场景时,她会显示为隐藏状态)
Import Cameras 摄像机是否导入(在3D软件打好摄像机了,摄像机的信息会存在fbx里)
Import Lights 灯光信息是否导入;(在3D软件打好灯光了,灯光的信息会存在fbx里)
Preserve Hierarchy 保留层次结构(即使此模型只有一个根,也要始终创建一个明确的预制根。通常,FBX 导入会从模型中剥离所有空的根节点作为优化策略。但是,如果您有多个FBX文件,且它们具有相同层次结构的某些部分,则可以使用此选项保留原始层次结构。例如,file1.fbx包含一个装备,而Mesh和file2.fbx包含相同的装备,但仅包含该装备的动画。如果在未启用此选项的情况下导入file2.fbx,则Unity会剥离根节点,层次结构不匹配,并且动画会中断。)

1.2 Mesh:网格的属性

属性 功能
Mesh Compression 设置压缩率级别以减小网格的文件大小。通过使用网格边界和每个组件较低的位深度来压缩网格数据,增加压缩率会降低网格的精度。最好将其调高到尽可能高的水平,而网格物体看起来与未压缩版本没有太大不同。这对于优化游戏大小很有用。(off:不使用压缩;Low:使用低压缩率;Medium:使用中等压缩比;High:使用高压缩比。)
Read/Write Enabled 启用此选项后,Unity会将Mesh数据上传到GPU可寻址的内存,但也将其保留在CPU可寻址的内存中。这意味着Unity可以在运行时访问Mesh数据,并且您可以从脚本中访问它。例如,如果您要按程序生成网格,或者要从网格复制某些数据,则可能要执行此操作。禁用此选项后,Unity会将Mesh数据上传到GPU可寻址的内存,然后将其从CPU可寻址的内存中删除。默认情况下,此选项是禁用的。在大多数情况下,要节省运行时内存使用量,请禁用此选项。
Optimize Mesh 确定网格中三角形的排列顺序,以提高GPU性能。(Nothing:没有优化;Everything:一切让Unity重排多边形和顶点的顶点和索引。这是默认值。Polygon Order:多边形排序仅对多边形重新排序。Vertex Order:顶点顺序仅对顶点重新排序。)
Generate Colliders 启用自动生成网格碰撞器(mesh collider)。

1.3 Generate :与几何相关的属性,用于处理拓扑,UV和法线

属性 功能
Keep Quads 启用此选项可阻止Unity将具有四个顶点的多边形转换为三角形。例如,如果您正在使用"镶嵌着色器"(Tessellation Shaders),则可能要启用此选项,因为镶嵌四边形可能比镶嵌多边形更有效。Unity可以导入任何类型的多边形(三角形到N-gon)。无论此设置如何,具有四个以上顶点的多边形始终会转换为三角形。但是,如果网格具有四边形和三角形(或将N形转换为三角形),则Unity会创建两个子网格来分隔四边形和三角形。每个子网格仅包含三角形或仅包含四边形。提示:如果要从3ds Max将四边形导入Unity,则必须将其导出为可编辑多边形。
Weld Vertices 合并在空间上具有相同位置的顶点,但前提是它们在整体上具有相同的属性(包括UV,法线,切线和顶点颜色)。通过减少网格的总数,可以优化网格上的顶点数。默认情况下启用此选项。在某些情况下,导入网格物体时可能需要关闭此优化。例如,如果您故意有重复的顶点在网格中占据相同位置,则您可能更喜欢使用脚本来读取或操纵单个顶点和三角形数据。
Index Format 定 义网格索引缓冲区的大小。注意:出于带宽和内存存储大小的原因,您通常希望将16位索引保留为默认值,并且在必要时仅使用32位,这是"自动"选项所使用的。(Auto:让Unity根据网格顶点数来决定在导入网格时是使用16位索引还是32位索引。这是在Unity 2017.3及更高版本中添加的资产的默认设置。16bit:导入网格时使用16位索引。如果网格较大,则将其划分为<64k个顶点块。这是Unity 2017.2或更早版本中创建的项目的默认设置。32bit:导入网格时使用32位索引。如果您使用的是基于GPU的渲染流水线(例如,使用计算着色器三角形剔除),使用32位索引可确保所有Mesh都使用相同的索引格式。这减少了着色器复杂性,因为它们只需要处理一种格式。)
Legacy Blend Shape Normals 计算法线的旧方法(版本2017.1之前)。在某些情况下,与当前实施方式相比,它给出的结果略有不同。这是所有FBX预制件的默认设置在将项目迁移到最新版本的Unity之前导入。
Blend Shape Normals(2019版本) 定义是否以及如何计算混合形状的法线。使用与"法线"属性相同的值。
Normals 定义是否以及如何计算法线。这对于优化游戏大小很有用。(Import:从文件导入法线''这是默认选项。如果文件不包含法线,则将对其进行计算。Calculate:计算根据法线模式,平滑度源和平滑角(如下)计算法线。None:禁用法线。如果网格既不是法线贴图也不是实时光照的影响,则使用此选项。)
Normals Mode 定义Unity如何计算法线。仅在将法线设置为计算或导入时可用。(Unweighted Legacy:计算法线的旧方法(版本2017.1之前)。在某些情况下,与当前实施方式相比,它给出的结果略有不同。这是所有FBX预制件的默认设置在将项目迁移到最新版本的Unity之前导入。Unweighted:法线不加权。Area Weighted:法线由面的面积大小加权。Angle Weighted:法线由每个面上的顶角大小加权。Area and Angle Weighted:法线由面的面积和每个面的顶角加权。这是默认选项。)
Smoothing Angle 控制是否为硬边分割顶点:通常,较高的值会减少顶点。注意:仅在非常光滑的物体或非常高的多边形模型上使用此设置。否则,最好在3D建模软件中手动进行平滑处理,然后将"法线"选项设置为"导入"(如上)进行导入。由于Unity的硬边仅基于一个角度,所以您可能会错误地对模型的某些部分进行平滑处理。仅在将法线设置为计算时可用。
Tangents 定义应如何导入或计算顶点切线。仅在将法线设置为计算或导入时可用。(Import:如果将法线设置为导入,则从FBX文件导入顶点切线。如果"网格"没有切线,则它不适用于法线贴图着色器。计算切线空间使用MikkTSpace计算切线。Calculate Tangent Space:如果"法线"设置为"计算",则这是默认选项。Calculate Legacy:使用传统算法计算切线。Calculate Legacy - Split Tangent:使用传统算法计算切线,并在UV图表上进行分割。如果法线贴图使用此网格上的接缝破坏了照明。这通常仅适用于字符。None:不导入顶点切线。网格没有切线,因此不适用于法线贴图着色器。)
Swap UVs 交换网格中的UV通道。如果漫反射纹理使用光照贴图中的UV,请使用此选项。Unity最多支持八个UV通道,但并非所有3D建模应用程序都导出两个以上的通道。
Generate Lightmap UVs 为光照贴图创建第二个UV通道。

2.Rig 骨骼

  • None: 没有骨骼(静态物件就选这个)
  • Legacy: 使用旧版动画系统。与Unity 3.x及更早版本一样,导入和使用动画。
属性 功能
Generation 选择动画导入方法
Don't Import 不导入动画
Store in Original Roots (Deprecated) 以原始根存储(已弃用)
Store in Nodes (Deprecated) 存储在节点中(已弃用)
Store in Root (Deprecated) 根存储(已弃用)
Store in Root (New) 根存储(新)
属性 功能
Skin Weights 设置可以影响单个顶点的最大骨骼数量。
  • Generic: 如果您的装备不是类人动物(四足动物或要进行动画处理的任何实体),请使用通用动画系统。Unity选择一个根节点,但是您可以标识另一个骨骼作为"根"节点代替。(用自己的骨骼系统分类)
  • Humanoid: 如果您的装备是类人动物(它有两条腿,两条手臂和一个头),请使用类人动物动画系统。Unity通常会检测骨架并将其正确映射到头像。在某些情况下,您可能需要更改"头像定义"并手动配置映射。(用unity通用的四足动物骨骼分类,可以动画通用。)

3.Animation 动画

https://blog.csdn.net/zhenghongzhi6/article/details/106316124
如果Rig页签中的Animation Type选择了None,则无法设置Animation相关的属性。

  • Import Constraints: 是否导入Constraints(约束)。美术同学可能知道在3D建模软件中有Constraints设置,用来添加一些约束。Unity支持5种约束的导入。目前用到的较少。

  • Import Animation: 是否导入动画,如果不勾选代表不导入动画,下面的选项也会隐藏。

  • Bake Animations: 该选项只对Maya、3dsMax 、Cinema4D文件可用,对fbx文件不可用。选中时,Unity在导入模型时会将IK或模拟动画转为正向动力学动画。

  • Anim. Compression: 动画压缩

    • Off:禁用压缩。Unity不会减少关键帧,这个选项能提高动画的精度,但是会降低运行时性能,存储空间和运行时内存占用都会变大。一般不建议禁用压缩,但如果你需要非常精准的动画,禁用后可以得到原始动画,不会有压缩精度误差。
    • Keyframe Reduction:根据设置的误差值移除关键帧。
    • Optimal:Unity自动决定如何压缩。根据设置的误差值移除关键帧并且压缩关键帧。这只会减小动画存储空间占用,运行时内存占用和 Keyframe Reduction 相同。
  • Anim. Compression 不选择Off时,会显示下面三个选项:

    • Rotation Error:旋转变化小于这个误差的关键帧会被删除。值越小动画越精确。
    • Position Error:位置变化小于这个误差的关键帧会被删除。值越小动画越精确。
    • Scale Error:缩放变化小于这个误差的关键帧会被删除。值越小动画越精确。
  • Animated Custom Properties: 是否导入自定义属性。在3D建模软件中可以设置一些自定义属性,这个选项可以将这些自定义属性导入进来。

  • Clips: 动画片段,Start和End分别代表了该段动画在整段动画中的起始帧和结束帧。下面详细学习。

4.Materials 材质

  • Material Creation Mode: 里面选项有None、Standard、Import via MaterialDescription (Experimental)
    • None:不导入材质
    • Standard:导入材质用标准材质球,也就是Standard
    • Import via MaterialDescription (Experimental):根据Fbx里面的材质信息分析用的什么材质,比如 Autodesk Interactive
  • Location:
    • Use External Materials (Legacy):使用外部材质,也就是她会直接导出材质到当前materials文件夹
    • Use Embedded Materials:嵌入材料,就和prefab似的,可以手动赋予。(默认选项。)
  • Extract Textures: 导出贴图
  • Extract Materials: 导出材质
    导出贴图就是在导出FBX时候勾选了 Embed Media 的时候会显示,直接从FBX里导出里面的贴图
  • Naming: 定义材质的命名策略
属性 功能
By Base Texture Name 使用主贴图命名
From Model's Material 使用原本的材质球命名
Model Name + Model's Material 使用模型命名+材质命名
  • Search: Search and Remap按钮查找以有材质自动挂到材质上的索引规则
属性 功能
Local Materials Folder 在本地 Materials 子文件夹(即模型文件所在的同一文件夹)中查找现有材质。
Recursive-Up 在所有父文件夹(一直向上追溯到 Assets 文件夹)中的所有 Materials 子文件夹中查找现有材质。
Project-Wide 在所有 Unity 项目文件夹中查找现有材质。
相关推荐
tealcwu2 小时前
【Unity基础】Unity中的UI系统
ui·unity·lucene
北冥没有鱼啊4 小时前
UE5 射线折射
游戏·ue5·游戏引擎·ue4
※※冰馨※※5 小时前
Unity3D 鼠标移动到按钮上显示信息
开发语言·unity·c#
云围8 小时前
Gitlab 官方推荐自动化cache服务器Minio的安装
git·unity·ci/cd·自动化·gitlab·devops
魔法自动机11 小时前
Unity3D学习FPS游戏(3)玩家第一人称视角转动和移动
unity·1024程序员节·fps
tealcwu12 小时前
【Unity基础】初识UI Toolkit - 运行时UI
ui·unity·编辑器·游戏引擎
我们一起学前端12 小时前
利用游戏引擎的优势
游戏引擎
无敌最俊朗@13 小时前
unity3d————三角函数练习题
开发语言·学习·unity·c#·游戏引擎
无敌最俊朗@1 天前
unity3d——单例模式,加载单例模式类问题
开发语言·学习·unity·单例模式·c#·游戏引擎
未来牛马之星1 天前
学习虚幻C++开发日志——基础案例(持续更新中)
学习·游戏引擎·虚幻