资源是您在 Unity 项目中用于创建游戏或应用程序的任何项目。资源可以表示项目中的可视或音频元素,如 3D 模型、纹理、精灵2D 图形对象。如果您习惯在 3D 中工作,则精灵本质上只是标准纹理,但在开发过程中可以采用特殊技术组合和管理精灵纹理以提高效率和便利性。 了解更多信息
在 术语表 中查看、音效或音乐。资源还可以表示更抽象的项目,如颜色渐变、动画蒙版或任何用途的任意文本或数字数据。
资源可能来自 Unity 之外创建的文件,如 3D 模型、音频文件或图像。您还可以在 Unity 编辑器中创建某些类型的资源,如 ProBuilder 网格Unity 的主图形基元。网格构成了 3D 世界的大部分。Unity 支持三角形或四边形多边形网格。NURB、NURMS 和细分曲面必须转换为多边形。 了解更多信息
在 术语表 中查看、动画控制器通过动画图层(包括动画状态机和动画混合树)和受动画参数控制控制动画。同一动画控制器可以由具有动画组件的多个模型引用。 了解更多信息
在 术语表 中查看、音频混音器或渲染纹理一种特殊类型的纹理,在运行时创建和更新。要使用它们,请首先创建一个新的渲染纹理并将您的某一个摄像头指定为其中进行渲染。然后,您就可以像使用普通纹理一样在材质中使用渲染纹理。 了解更多信息
在 术语表 中查看。
上面的示意图显示了在 Unity 中处理资源时的典型工作流。每一列表示一个单独的步骤,如下所述
导入是将源文件导入 Unity Editor 以便开展工作。当将文件保存或复制到项目的“资产”文件夹时,Unity 会导入该文件,让你可以在 Editor 中对它开展工作。
有必要了解将资产导入 Unity 的一些基础知识,比如文件在项目的存储位置、如何调整每种资产的导入设置、元文件的作用以及资产数据库如何存储导入的数据。有关这些主题的更多详细信息,请参阅导入资产。
团队协作时,可以通过使用Unity Accelerator,加速 Unity 对资产的处理。
将一些资产导入项目后,你就可以开始创建游戏或应用程序了。这通常涉及将资产置于一个或多个场景场景包含游戏的环境和菜单。可以将每个独特的场景文件视为一个独特的关卡。在每个场景中,你要放置环境、障碍物和装饰品,基本上以部分形式设计和构建游戏。更多信息
参见词汇表中,作为游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、摄像机、路点等。游戏对象的功能由附加到其上的组件定义。更多信息
参见词汇表,并添加控制用户如何与其交互的脚本一种代码,让你可以创建自己的组件、触发游戏事件、修改组件属性并以你想要的方式响应该用户输入。更多信息
参见词汇表。
随着项目开发的深入,你可能需要将资产拆分为不同的组,以便在运行时使你的游戏增量式下载选定的额外内容。
在创建过程中,你可以决定如何将资产分组到不同的包中,并实现用于选择何时加载它们的代码。
将资产分组到包中,让你可以缩小初始下载文件的大小,并在运行时稍后加载一些资产。这有助于优化游戏的下载大小和内存使用情况。实现此目的的推荐方法是使用 Unity 的Addressable系统。
构建是指将已完成项目导出为二进制文件的过程,然后你可以在所选平台上分发和运行这些文件。例如,为 Windows 构建时,Unity 会生成一个 .EXE
文件,以及一些随附的数据文件供你分发。
如果你使用 Addressable 或 Asset Bundle 将你的资源分组为单独的可下载包,你也需要为分发构建这些包文件。
你可以在自己的计算机上构建你的项目,或者使用 Unity 的 构建自动化服务,它可为你的 Unity 项目提供自动构建生成和持续集成。
构建好你的游戏或应用及其内容包后,你的用户需要一种访问它们的方法。你选择的发布方式取决于你的目标平台。
例如,移动平台有自己的应用商店,你可以使用专业的发布商,或者你可以在你自己的服务器上自托管。
Unity 提供了自己的 云内容分发 服务,允许你托管和将你的游戏或应用及其内容提供给你的用户,并完全集成到 Unity 开发平台中。这可节省大量时间,对于内容丰富、需要定期内容更新的实时游戏或应用程序非常宝贵。
当用户加载并使用你的游戏或应用时,加载过程和体验由你设置的规则和编程以及分组和捆绑资源的方式定义。
通过结合此处描述的技术和服务,你可以提供快速的初始下载,以及持续的更新和额外内容,这些内容可以在项目的整个生命周期内推出。
Unity 的资源工作流程具有在 Unity 编辑器中直接编辑和设计的工具和功能
在 Unity 中使用资产时,您可以使用不同的策略。最适合您项目的策略取决于团队规模、项目规模、目标平台、这些平台上的可用内存以及在发布后是否要发布更新、补丁和 DLC 等因素。
例如,如果您在团队中工作,可以使用 缓存服务器 以及 版本控制用于管理文件更改的系统。您可以将 Unity 与大多数常用的版本控制工具结合使用,包括 Perforce、Git、Mercurial 和 PlasticSCM。 更多信息
参见 术语表 系统来缓存 Unity 的导入结果,以节省整个团队的时间。
如果您使用大量资产要作为单独的包发布,可能将部分这些资产组分离到不同的项目中有用,以便团队成员不必加载单个大项目来处理这些包。
如果您将所有资产保存在单个项目中,则当您运行构建时,Unity 会为当前选定平台自动以正确的格式构建它们。但是,如果您将资产拆分到多个项目中以分别构建包,则必须为每个您支持的平台进行构建。请参阅 Addressables 文档 Multiple Platforms(多平台构建) 以获取更多信息。
平台的特征还决定了组织运行时资产的限制和可能性。例如,在独立平台(PC 或 macOS)上,虚拟内存提供几乎无限制的内存池,因此使用 资源文件夹 或大型资产包通常不会构成内存挑战。相反,移动设备和控制台平台通常具有有限或不存在的虚拟内存,因此针对这些平台构建的应用程序必须更有效地管理资产的加载和卸载。
平台上的用户期望也是一个重要考虑因素。例如,在移动平台上,漫长的初始下载和安装过程可能导致用户放弃您的应用,甚至在他们玩游戏之前。因此,移动应用通常只在初始构建中包含最小的资源集,然后在用户首次运行您的应用时从远程服务器下载其余资源。