Version: 2021.1
资源工作流程
支持的资源类型

导入

若要将在 Unity 外部创建的资源导入 Unity 项目,可以将文件直接导出到项目下的 Assets 文件夹中,或将其复制到该文件夹中。对于许多常见格式,可以将源文件直接保存到项目的 Assets 文件夹中,Unity 可以读取它。Unity会检测到被更新的文件并重新导入。

创建 Unity 项目时将创建一个文件夹(以项目命名),其中包含以下子文件夹:

Unity 项目的基本文件结构
Unity 项目的基本文件结构

您可以将需要在项目中使用的文件保存或复制到 Assets 文件夹中。可以使用 Unity 内的 Project 窗口来查看 Assets 文件夹的内容。因此,如果将文件保存或复制到 Assets 文件夹,Unity 将导入该文件并显示在 Project 窗口中。

虽然在 Unity 中可以选择各种方式来压缩、修改或以其他方式处理资源,但在任何情况下,Unity 都不会修改原始的源文件。导入过程会读取源文件,并在内部创建一个可直接用于游戏的资源表示,与所选的导入设置相匹配。如果修改资源的导入设置,或者对 Assets 文件夹中的源文件进行更改,则会导致 Unity 再次重新导入资源以反映这些更改。

Unity 会在文件添加到 Assets 文件夹时自动检测到这些文件,或在修改文件时检测到修改。将任何资源放入 Assets 文件夹时,该资源将显示在 Project 视图中。

Project 窗口显示 Unity 导入到项目中的资源
Project 窗口显示 Unity 导入到项目中的资源

将计算机中(从 Mac 上的 Finder 或 Windows 上的资源管理器)的文件拖入 Unity 的 Project 窗口,Unity 会将该文件复制到 Assets 文件夹中,然后它将显示在 Project 窗口中。

Project 窗口中显示的项(在大多数情况下)表示计算机上的实际文件,如果在 Unity 中删除它们,则也会从计算机中删除它们。

如果要将资源集合从另一个 Unity 项目带入您的项目中,可使用资源包

资源导入设置

如果要将资源集合带入项目中,可使用资源包。如果从 Unity Asset Store 购买或下载资源,可以通过 Package Manager 窗口导入资源

Unity 支持的每种类型的资源都有一组导入设置,这些设置会影响资源的显示或行为方式。要查看资源的导入设置,请在 Project 视图中选择该资源。该资源的导入设置将显示在 Inspector 中。显示的选项因所选资源的类型而异。

例如,在 Unity 图像的导入设置中,可选择将其导入为纹理、2D 精灵还是法线贴图。在 FBX 文件的导入设置中,可调整比例、生成法线或光照贴图坐标以及拆分和修剪文件中定义的动画剪辑。

单击 Project 窗口中的图像资源时在 Inspector 中显示该资源的导入设置
单击 Project 窗口中的图像资源时在 Inspector 中显示该资源的导入设置

对于其他资源类型,导入设置不同。具体显示的各种设置与所选资源的类型相关。以下是音频资源的示例,其相关的导入设置显示在 Inspector 中:

Project 窗口中选择的音频资源在 Inspector 中显示了该资源的音频导入设置
Project 窗口中选择的音频资源在 Inspector 中显示了该资源的音频导入设置

对于正在开发的跨平台项目,可以覆盖“默认”设置并根据每个具体平台分配不同的导入设置。

资源处理

Unity 读取并处理您添加到 Assets 文件夹的任何文件,将文件内容转换为可直接用于游戏的内部数据。资源文件本身保持不变,内部数据存储在项目的 Library 文件夹中。此数据是 Unity 编辑器的资源数据库的组成部分。

通过使用资源的内部格式,Unity 可以准备好可直接用于游戏的资源版本,以便在 Editor 中在运行时使用,同时将未修改的源文件保留在 Assets 文件夹中。使内部格式与资源文件分开,意味着您可以快速编辑它们并让 Editor 自动获取更改。例如,Photoshop 文件格式很方便,可以将 .psd 文件直接保存到 Assets 文件夹中,但移动设备和 PC 显卡等硬件不能直接处理该格式来渲染为纹理。

Unity 将资源的内部表示形式存储在 Library 文件夹中,该文件夹类似于缓存文件夹。作为用户,切勿手动更改 Library 文件夹,尝试这样做可能会给 Unity Editor 中的项目带来负面影响。但是,只要该项目未在 Unity 中打开,就可以安全删除 Library 文件夹,因为 Unity 可以通过 AssetsProjectSettings 文件夹重新生成其所有数据。这也意味着不应将 Library 文件夹纳入版本控制。

复杂资源

在某些情况下,Unity 在导入单个资源文件时可能会创建多个资源。例如,在以下情况下可能会这样做:

导入情形: Unity 处理文件的方式:
3D 文件(例如 FBX 文件)定义材质或包含嵌入的纹理时。 Unity 将材质和嵌入的纹理提取为单独的资源。
需要将图像文件导入为多个 2D 精灵时。 使用 2D 精灵编辑器 (Sprite Editor) 从单个图形图像定义多个精灵。在此情况下,Editor 中定义的每个精灵将在 Project 窗口中显示为单独的精灵资源。
一个 3D 文件包含多个动画时间轴或多个剪辑时。 Unity 会根据其动画导入设置来自动定义单独的动画时间轴或剪辑。生成的多个动画剪辑将在 Project 窗口中显示为单独的动画剪辑资源。

另请参阅

资源工作流程
支持的资源类型