unity 导入的模型设置详谈

news/2024/10/23 22:31:15/

文章目录

  • 1.Model 模型
    • 1.1 Scene:场景级属性,例如是否导入灯光和照相机,以及使用什么比例因子
    • 1.2 Mesh:网格的属性
    • 1.3 Generate :与几何相关的属性,用于处理拓扑,UV和法线
  • 2.Rig 骨骼
  • 3.Animation 动画
  • 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 OriginalRoots (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 项目文件夹中查找现有材质。

http://www.ppmy.cn/news/1541455.html

相关文章

洛谷 [语言月赛 202410] 题解(C++)

本文为洛谷 [语言月赛 202410] 的全部题解(最后一题太麻烦暂时给不出完整代码)目录 题一: 题目大意和解答思路: 代码(C): 题二: 题目大意和解答思路: 代码(C): 题三: 题目大意和解答思路: 代码(C): 题四: 题目大意和解答思路: 代码(C): 题五: 题目大意和解答思路…

《整洁代码最佳实践》阅读心得

《整洁代码最佳实践》心得 阅读《整洁代码最佳实践》这篇文章后&#xff0c;我深感共鸣。作者通过自身经历分享了许多宝贵的观点&#xff0c;不仅强调了整洁代码的重要性&#xff0c;而且还提供了一些具体的实践建议。以下是我在阅读后的几点体会&#xff1a; 1. 命名的重要性…

插入排序(Python)

插入排序是一种简单直观的排序算法&#xff0c;其工作原理类似于我们平时整理扑克牌或书籍的方式。它的核心思想是将数组分为已排序和未排序两部分&#xff0c;每次从未排序部分取出一个元素&#xff0c;将其插入到已排序部分的适当位置&#xff0c;从而保持已排序部分的有序性…

MySQL的并行复制原理

1. 并行复制的概念 并行复制&#xff08;Parallel Replication&#xff09;是一种通过同时处理多个复制任务来加速数据复制的技术。它与并发复制的区别在于&#xff0c;并行复制更多关注的是数据块或事务之间的并行执行&#xff0c;而不是单纯的任务并发。在数据库主从复制中&…

Element Plus的el-tree-v2 组件实现仅叶子节点显示勾选框,并且只能单选

实现代码 <template><el-tree-v2:data"treeData":props"defaultProps"node-key"id"ref"treeRef"show-checkbox:check-strictly"true":expand-on-click-node"false"node-click"handleNodeClick&quo…

Docker容器间链路管理

Docker容器是一个轻量级的、可移植的软件打包技术&#xff0c;它允许开发者将应用程序及其依赖项打包到一个独立的容器中&#xff0c;然后发布到任何支持Docker的环境中运行。容器是完全使用沙箱机制&#xff0c;相互之间不会有任何接口&#xff0c;容器性能开销极低。 可以将…

赋值 浅拷贝 深拷贝

赋值操作 赋值操作&#xff08;如 b a&#xff09;只是将变量 b 指向变量 a 当前指向的对象。这意味着 b 和 a 引用同一个对象。如果对象是可变的&#xff08;如列表、字典&#xff09;&#xff0c;对对象的修改会反映在所有引用该对象的变量上。 a [1, 2, 3] b a a[0] 9…

计算机毕业设计 | vue+springboot 在线花店后台管理系统(附源码)

1&#xff0c;绪论 1.1 项目背景 随着社会发展&#xff0c;网上购物已经成为我们日常生活的一部分。但是&#xff0c;至今为止大部分电商平台都是从人们日常生活出发&#xff0c;出售都是一些日常用品比如&#xff1a;食物、服装等等&#xff0c;并未发现一个专注于鲜花的电商…