在 Unity 中工作
使用游戏对象
模型
将模型导入 Unity
导入模型
将模型导入 Unity
导入具有类人动画的模型
导入模型
模型文件可以包含各种数据,例如网格、动画骨骼和剪辑、材质和纹理。您的文件可能不包含所有这些元素,但您可以按照您需要的任何工作流程部分进行操作
在项目视图中选择文件以查看导入设置窗口
设置任何特定于模型或常规导入程序选项
设置导入骨骼和动画的选项(SpeedTree 模型不可用)
处理材质和纹理
将文件拖到 Unity 中
有关如何从 3D 建模软件导出类人动画的指南,请参阅准备类人模型以供导出。
注意:Unity 主要支持模型文件包含 3D 数据的文件,可能包括网格、骨骼、动画、材质和纹理的定义。更多信息请参阅词汇表是 FBX 格式。但是,您可以将 3D 文件从大多数常见的 3D 建模软件以其原生格式(例如 .max、.blend、.mb、.ma)保存。当 Unity 在您的Assets文件夹中找到这些文件类型时,它会调用您的 3D 建模软件的 FBX 导出插件在 Unity 之外创建的一组代码,用于在 Unity 中创建功能。您可以在 Unity 中使用两种类型的插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和原生插件(特定于平台的原生代码库)。更多信息请参阅词汇表,并导入文件。3D 建模软件必须安装在与 Unity 相同的计算机上,因此在大多数情况下,最佳实践是直接从您的应用程序导出为 FBX 到您的Assets文件夹。
访问导入设置窗口
无论您想要从模型文件提取哪种数据,您始终都以相同的方式开始
打开项目在 Unity 中,您使用项目来设计和开发游戏。项目存储与游戏相关的所有文件,例如资源和场景文件。更多信息请参阅词汇表窗口和检查器一个 Unity 窗口,显示有关当前选定的游戏对象、资源或项目设置的信息,允许您检查和编辑值。更多信息请参阅词汇表,以便您可以同时查看两者。
从项目窗口中的资源文件夹中选择要导入的模型对象的 3D 模型表示,例如角色、建筑物或家具。更多信息请参阅词汇表文件。
导入设置窗口在检查器中打开,默认情况下显示模型选项卡。
设置特定于模型和常规导入程序选项
SpeedTree 模型与其他模型可用的选项非常不同。有关更多信息,请参阅SpeedTree 模型选项卡。
角色和动画模型在其模型选项卡上提供多种选项,允许您
使用缩放因子和转换单位属性来调整 Unity 如何解释单位。例如,3ds Max 使用 1 个单位表示 10 厘米,而 Unity 使用 1 个单位表示 1 米。
使用网格压缩、启用读写、优化网格、保留四边形、索引格式或焊接顶点属性来减少资源并节省内存。
如果模型文件来自 Maya 或 3ds Max 或任何其他支持变形目标动画的 3d 建模应用程序,则可以启用导入混合形状选项。
您可以为环境几何体启用生成碰撞体选项。
您可以启用特定的 FBX 设置,例如导入可见性或导入摄像机和导入灯光。
对于仅包含动画的模型文件,您可以启用保留层次结构选项以防止骨骼中的层次结构不匹配。
如果您使用的是光照贴图预渲染的纹理,包含场景中静态对象上的光源效果。光照贴图覆盖在场景几何体上以创建照明效果。更多信息请参阅词汇表,您可以设置交换 UV和生成光照贴图 UV。
您可以使用法线垂直于网格表面的方向,由向量表示。Unity 使用法线来确定对象方向并应用阴影。更多信息请参阅词汇表、法线模式、切线或平滑角度选项来控制 Unity 如何处理模型中的法线和切线。
设置导入骨骼和动画的选项
如果您的文件包含动画数据,您可以按照使用骨骼选项卡设置骨骼的指南,然后使用动画选项卡提取或定义动画剪辑可用于动画角色或简单动画的动画数据。它是一个简单的“单元”运动片段,例如(一个特定的实例)“空闲”、“行走”或“跑步”。更多信息请参阅词汇表。类人动画类型和通用(非类人)动画类型的工作流程有所不同,因为 Unity 需要类人骨骼结构非常具体,但只需要知道哪个骨骼是通用类型的根节点动画层次结构中的变换,允许 Unity 在通用模型的动画剪辑之间建立一致性。它还使 Unity 能够在未“就地”创作的动画之间正确混合(即,整个模型在动画时移动其世界位置)。更多信息请参阅词汇表
类人类型工作流程
通用类型工作流程
注意:SpeedTree 模型既没有骨骼也没有动画选项卡。
处理材质和纹理
如果您的文件包含材质和纹理,您可以定义您希望如何处理它们
在导入设置窗口中点击材质选项卡。
从材质创建模式下拉菜单中,选择您希望如何从 FBX 文件导入材质。除非您选择无,否则材质选项卡中会出现几个选项,包括位置选项,其值决定了其他选项是什么。
选择使用嵌入材质选项以将材质保留在导入的资源中。
完成设置选项后,点击导入设置窗口底部的应用按钮保存它们,或点击恢复按钮取消。
查找纹理
Unity 遵循特定的搜索计划以在导入时自动查找纹理。首先,导入程序会在与网格Unity 的主要图形基元。网格构成 3D 世界的很大一部分。Unity 支持三角形或四边形多边形网格。Nurbs、Nurms、细分曲面必须转换为多边形。更多信息请参阅词汇表相同的文件夹或任何父文件夹中查找名为 Textures 的子文件夹。如果失败,Unity 会对项目中的所有纹理执行详尽搜索。虽然速度稍慢,但详尽搜索的主要缺点是项目中可能存在两个或多个同名的纹理。在这种情况下,不能保证 Unity 可以找到正确的纹理。
将您的纹理放在资源级别或上方的纹理文件夹中
(A) 查找纹理的可能位置
(B) 正在导入的网格
法线贴图
如果您有一个角色,其法线贴图一种凹凸贴图纹理类型,允许您向模型添加表面细节,例如凸起、凹槽和划痕,这些细节会像由真实几何体表示一样捕捉光线。请参阅词汇表是从模型的高多边形版本生成的,您应该使用 180 度的平滑角度导入游戏质量版本。这可以防止由于切线分割导致的照明中出现奇怪的接缝。如果这些设置下仍然存在接缝,请从切线下拉菜单中选择计算具有分割切线的旧版。如果您将灰度图像转换为法线贴图,则无需担心此问题。
将文件拖到 Unity 中
最后,您可以将文件导入场景
如果它包含网格,则将文件拖到场景场景包含游戏环境和菜单。将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置环境、障碍物和装饰,本质上是分段设计和构建游戏。更多信息请参阅词汇表视图中以将其实例化为预制件一种资源类型,允许您存储包含组件和属性的游戏对象。预制件充当模板,您可以从中在场景中创建新的对象实例。更多信息请参阅词汇表以获取游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、摄像机、路点等。游戏对象的函数由附加到它的组件定义。更多信息请参阅词汇表。
如果文件包含动画片段,您可以将其拖放到动画窗口中,以在状态机中使用。您还可以将动画片段直接拖放到场景视图中的已实例化预制体上。场景视图您正在创建的世界中的交互式视图。您可以使用场景视图选择和放置场景、角色、摄像机、灯光以及所有其他类型的游戏对象。更多信息参见术语表。这会自动创建一个动画控制器,并将动画连接到模型。
将模型导入 Unity
导入具有类人动画的模型