Cave:入门指南
资源和项目内容
Lesson 6 of 19 • 10 XP
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 脚本资产。
- 一个 "关卡" 可以存储为一个场景资产。
- 一个可重用的对象设置可以存储为一个实体模板资产。
这意味着资产不仅仅是放在文件夹中的文件。它们是你的游戏所使用的构建模块。
资产浏览器
资产浏览器 是管理资产的主要地方。

使用它来:
- 浏览项目文件夹。
- 选择资产。
- 打开文件夹。
- 查看缩略图。
- 导入文件。
- 重命名资产。
- 复制资产。
- 在文件夹之间移动资产。
- 删除资产。
- 将资产导出为 Cave 包。
资产浏览器有一个文件夹区域和一个内容区域。文件夹区域帮助你在项目结构中移动。内容区域显示当前文件夹中的资产。
当你选择一个资产时,它的设置会出现在 属性 选项卡中。
常见资产类型
在使用 Cave 时,你会看到几种资产类型。
| 资产类型 | 用途 |
|---|---|
| 场景 | 关卡、菜单、测试区域或可玩空间。 |
| 实体模板 | 可重用的实体层次结构,类似于预制体。 |
| 网格 | 3D 模型数据。 |
| 材质 | 网格和地形使用的表面设置。 |
| 纹理 | 材质、UI 或其他系统使用的图像数据。 |
| 音频 | 声音或音乐内容。 |
| 骨架 | 网格通常在动画时所引用的骨骼结构。 |
| 动画 | 骨骼动画数据。 |
| Python 脚本 | 由 Python 组件或工具使用的代码。 |
| 逻辑砖 | 可视化游戏逻辑。 |
| 状态机 | 基于状态的行为逻辑。 |
| 时间线 | 作者创作的序列,如过场动画或脚本事件。 |
| 着色器程序 | 自定义渲染行为。 |
| 后处理 | 全屏渲染效果。 |
| 文档 | 存储在项目中的文本文档。 |
| --- |
你不需要立即掌握所有资产类型。初期你可能最常使用场景、实体模板、网格、材质、纹理、脚本和逻辑资产。
组织资产
当资产清晰地组织时,项目变得更容易操作。
一个简单的项目结构可能看起来像这样:
场景
角色
道具
材质
纹理
脚本
逻辑
UI
音频
时间线
如果另有更适合你的项目的结构,你可以选择不同的结构。重要的是你能够在之后找到东西。
好的命名也很重要。优先选择描述资产目的的名称。
Cave 允许资产名称中包含空格,资产浏览器已经以类型样式显示资产。因此,通常不需要在名称中添加前缀,如 材质、纹理 或简短类型代码。
使用可读的名称。如果你倾向于简洁的名称,PascalCase 也是可以的。
例如:
| 不佳名称 | 较好名称 |
|---|---|
材质 |
湿岩石 |
纹理 |
木箱漫反射 |
场景 |
洞穴入口 |
脚本 |
门控制器 |
实体模板 |
敌对蝙蝠 |
目标不是强迫每个项目采用一种命名风格。目标是避免模糊名称,并保持相关资产易于找到。
导入新资产
你可以通过将受支持的文件从计算机拖放到资产浏览器中进行导入。Cave 将尝试导入文件并创建正确的资产类型。
常见的导入内容包括:
- 3D 模型。
- 图像。
- 音频文件。
你也可以使用编辑器菜单在需要时重新导入资产。
导入仅是第一步。在资产存在于项目中后,你可以选择它、在属性中编辑其设置,并在场景或其他资产中使用它。
我们将在后面学习更多关于导入资产的内容。
网格、材质和纹理
网格、材质和纹理一起工作。
- 一个
网格是形状。 - 一个
材质控制表面的外观。 - 一个
纹理是由材质或其他系统使用的图像数据。
例如,一个木箱可能使用:
- 一个箱体网格。
- 一个木材材质。
- 一个或多个木材纹理图像。
场景中的实体不是网格资产本身。实体有一个使用网格资产和材质资产的组件。这种分离是有用的,因为相同的网格或材质可以被多次重用。如果你编辑一个共享的材质,使用该材质的每个对象都可以随之更新。
场景和实体模板
在构建游戏玩法时,有两种资产类型特别重要:
- 一个
场景存储一个关卡或可玩空间。 - 一个
实体模板存储一个可重用的实体设置。
使用场景来处理大空间、菜单、测试地图和关卡。
使用实体模板处理希望多次放置的对象,如:
- 道具。
- 敌人。
- 门。
- 道具。
- 车辆。
- UI 小部件。
场景说明了特定地点中存在的内容,而实体模板说明了可重用对象的构建方式。
资产引用
实体和组件可以引用资产。
例如:
- 一个网格组件引用一个网格。
- 一个网格组件可以引用一个材质。
- 一个材质引用纹理。
- 一个 Python 组件引用一个 Python 脚本。
- 一个时间线可以引用其需要动画或触发的实体或数据。
这种引用系统使得一个资产能够在许多地方重用。在删除资产时要小心。如果项目的另一部分依赖于一个资产,删除它可能会导致缺少引用。
如果你不确定某个资产是否仍在使用,通常更安全的方法是先将其移动到临时文件夹中,测试项目,然后再删除。
保存项目内容
Cave 跟踪项目内容的更改。当资产被更改但未保存时,它被视为 "脏"。
鉴于此,使用:
| 快捷键 | 操作 |
|---|---|
Ctrl + S |
保存脏项目内容。 |
Ctrl + Shift + S |
保存所有内容。 |
| --- |
你也可以从 文件 菜单保存。
大部分时间里,保存脏内容是你想要的。它保存更改的资产,而不是重写所有内容。
在以 Play 模式测试之前,Cave 会自动保存脏项目内容。
稍后查找资产
随着项目的扩展,快速找到内容变得尤为重要。
使用:
- 清晰的文件夹组织。
- 一致的名称。
- 资产浏览器。
- 查找者选项卡。
- 选择资产后在属性选项卡中查看。
- 在需要时使用文件菜单选项在系统文件浏览器中打开项目。
最快的项目并不总是最小的项目。它们是那些内容易于查找的项目。
一个有用的习惯
当你创建或导入新的东西时,执行以下三件事:
- 将其放在正确的文件夹中。
- 给它一个有用的名称。
- 保存项目。
这一小习惯能避免今后的很多混乱。