Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

在 Cave 中,你的项目是由资产构成的。

资产是可重用的内容片段,存储在资产浏览器中:场景、实体模板、网格、材质、纹理、音频、脚本、逻辑文件、时间线等。

你对资产的理解越深入,构建、组织和重用你的工作就会变得越容易。

什么是资产?

资产是由 Cave 存储的项目内容片段。

资产可以是某种视觉内容,比如纹理或网格。它也可以是某种功能性内容,比如 Python 脚本、逻辑砖文件、场景或时间线。资产存储在项目中,以便 Cave 可以从实体、组件、编辑器工具和运行时系统中引用它们。

> 在幕后,Cave 将一切需要序列化(写入和读取磁盘)或在编辑器中显示的内容视为资产。

例如:

  • 一个 "网格实体" 可以使用一个网格资产。
  • 一个网格组件可以使用一个材质资产。
  • 一个材质可以使用纹理资产。
  • 一个 Python 组件可以使用一个 Python 脚本资产。
  • 一个 "关卡" 可以存储为一个场景资产。
  • 一个可重用的对象设置可以存储为一个实体模板资产。

这意味着资产不仅仅是放在文件夹中的文件。它们是你的游戏所使用的构建模块。

资产浏览器

资产浏览器 是管理资产的主要地方。

image.png

使用它来:

  • 浏览项目文件夹。
  • 选择资产。
  • 打开文件夹。
  • 查看缩略图。
  • 导入文件。
  • 重命名资产。
  • 复制资产。
  • 在文件夹之间移动资产。
  • 删除资产。
  • 将资产导出为 Cave 包。

资产浏览器有一个文件夹区域和一个内容区域。文件夹区域帮助你在项目结构中移动。内容区域显示当前文件夹中的资产。

当你选择一个资产时,它的设置会出现在 属性 选项卡中。

常见资产类型

在使用 Cave 时,你会看到几种资产类型。

资产类型 用途
场景 关卡、菜单、测试区域或可玩空间。
实体模板 可重用的实体层次结构,类似于预制体。
网格 3D 模型数据。
材质 网格和地形使用的表面设置。
纹理 材质、UI 或其他系统使用的图像数据。
音频 声音或音乐内容。
骨架 网格通常在动画时所引用的骨骼结构。
动画 骨骼动画数据。
Python 脚本 由 Python 组件或工具使用的代码。
逻辑砖 可视化游戏逻辑。
状态机 基于状态的行为逻辑。
时间线 作者创作的序列,如过场动画或脚本事件。
着色器程序 自定义渲染行为。
后处理 全屏渲染效果。
文档 存储在项目中的文本文档。
---

你不需要立即掌握所有资产类型。初期你可能最常使用场景、实体模板、网格、材质、纹理、脚本和逻辑资产。

组织资产

当资产清晰地组织时,项目变得更容易操作。

一个简单的项目结构可能看起来像这样:

场景
角色
道具
材质
纹理
脚本
逻辑
UI
音频
时间线

如果另有更适合你的项目的结构,你可以选择不同的结构。重要的是你能够在之后找到东西。

好的命名也很重要。优先选择描述资产目的的名称。

Cave 允许资产名称中包含空格,资产浏览器已经以类型样式显示资产。因此,通常不需要在名称中添加前缀,如 材质纹理 或简短类型代码。

使用可读的名称。如果你倾向于简洁的名称,PascalCase 也是可以的。

例如:

不佳名称 较好名称
材质 湿岩石
纹理 木箱漫反射
场景 洞穴入口
脚本 门控制器
实体模板 敌对蝙蝠

目标不是强迫每个项目采用一种命名风格。目标是避免模糊名称,并保持相关资产易于找到。

导入新资产

你可以通过将受支持的文件从计算机拖放到资产浏览器中进行导入。Cave 将尝试导入文件并创建正确的资产类型。

常见的导入内容包括:

  • 3D 模型。
  • 图像。
  • 音频文件。

你也可以使用编辑器菜单在需要时重新导入资产。

导入仅是第一步。在资产存在于项目中后,你可以选择它、在属性中编辑其设置,并在场景或其他资产中使用它。

我们将在后面学习更多关于导入资产的内容。

网格、材质和纹理

网格、材质和纹理一起工作。

  • 一个 网格 是形状。
  • 一个 材质 控制表面的外观。
  • 一个 纹理 是由材质或其他系统使用的图像数据。

例如,一个木箱可能使用:

  • 一个箱体网格。
  • 一个木材材质。
  • 一个或多个木材纹理图像。

场景中的实体不是网格资产本身。实体有一个使用网格资产和材质资产的组件。这种分离是有用的,因为相同的网格或材质可以被多次重用。如果你编辑一个共享的材质,使用该材质的每个对象都可以随之更新。

场景和实体模板

在构建游戏玩法时,有两种资产类型特别重要:

  • 一个 场景 存储一个关卡或可玩空间。
  • 一个 实体模板 存储一个可重用的实体设置。

使用场景来处理大空间、菜单、测试地图和关卡。

使用实体模板处理希望多次放置的对象,如:

  • 道具。
  • 敌人。
  • 门。
  • 道具。
  • 车辆。
  • UI 小部件。

场景说明了特定地点中存在的内容,而实体模板说明了可重用对象的构建方式。

资产引用

实体和组件可以引用资产。

例如:

  • 一个网格组件引用一个网格。
  • 一个网格组件可以引用一个材质。
  • 一个材质引用纹理。
  • 一个 Python 组件引用一个 Python 脚本。
  • 一个时间线可以引用其需要动画或触发的实体或数据。

这种引用系统使得一个资产能够在许多地方重用。在删除资产时要小心。如果项目的另一部分依赖于一个资产,删除它可能会导致缺少引用。

如果你不确定某个资产是否仍在使用,通常更安全的方法是先将其移动到临时文件夹中,测试项目,然后再删除。

保存项目内容

Cave 跟踪项目内容的更改。当资产被更改但未保存时,它被视为 "脏"

鉴于此,使用:

快捷键 操作
Ctrl + S 保存脏项目内容。
Ctrl + Shift + S 保存所有内容。
---

你也可以从 文件 菜单保存。

大部分时间里,保存脏内容是你想要的。它保存更改的资产,而不是重写所有内容。

在以 Play 模式测试之前,Cave 会自动保存脏项目内容。

稍后查找资产

随着项目的扩展,快速找到内容变得尤为重要。

使用:

  • 清晰的文件夹组织。
  • 一致的名称。
  • 资产浏览器。
  • 查找者选项卡。
  • 选择资产后在属性选项卡中查看。
  • 在需要时使用文件菜单选项在系统文件浏览器中打开项目。

最快的项目并不总是最小的项目。它们是那些内容易于查找的项目。

一个有用的习惯

当你创建或导入新的东西时,执行以下三件事:

  1. 将其放在正确的文件夹中。
  2. 给它一个有用的名称。
  3. 保存项目。

这一小习惯能避免今后的很多混乱。