Cave:入门指南
Cave:入门指南
Lesson 14 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.
Logic Bricks 是 Cave 的可视化脚本系统。
它们让你通过连接节点来创建游戏玩法行为,而不是直接编写 Python 代码。

本课介绍 Logic Bricks 是什么,它们在哪里运行、如何运行以及何时使用它们。你将在后续更深入的课程中全面学习该系统,但本概览将帮助你理解 Logic Bricks 在 Cave 工作流程中的位置。
视频教程
我们有完整的 视频教程 来介绍如何开始使用 Logic Bricks。推荐你去观看。
在 YouTube 上观看
这将是一个更深入学习的好方法。
但如果你想继续在这里学习,那么我们做一个快速介绍:
什么是 Logic Bricks?
Logic Bricks 是可视化逻辑图,可让你快速以视觉方式创建逻辑,而无需编写实际代码。

如果你熟悉其他可视化脚本方法,如 Unreal Engine 的 Blueprints,每个砖块本质上是一个节点。但在 Cave 的命名规范中,它们被称为 Bricks(砖块)。砖块可以表示多种逻辑:
- 事件。
- 动作。
- 数值。
- 数学运算。
- 字符串。
- 引擎工具。
- 实体操作。
- 组件操作。
- 资源引用。
- 函数。
你通过连接这些砖块来构建行为。
如果你是编程新手,Logic Bricks 是一种友好的方式来开始创建交互,因为你可以以图形方式看到行为。
例如,一个简单的图形可以表示:
当玩家触发此触发器时:
打开门。
播放声音。
禁用该触发器。
对于初学者来说,这种视觉方式比长脚本更容易理解。
这不是完整的 Logic Bricks 课程
本课只是概览。Logic Bricks 还可以更深入:
- 函数。
- 流程控制。
- 数值插槽。
- 运行时调试。
- 注释。
- 资源处理砖。
- 可复用图。
- 状态机集成。
这些内容将在后续课程详细讲解。
现在的目标是理解 Logic Bricks 的作用:它们是一种可视化构建行为、连接系统、快速原型交互以及让游戏对象响应事件的方法。
如果你想要完整的 Logic Bricks 教程,请观看这个视频。
Logic Bricks 资产
Logic Bricks 图表是一种资产。你可以在 Asset Browser 中创建它,就像创建场景、Python 脚本、时间线、材质或实体模板一样。
作为一种资产,它可以:
- 被命名。
- 组织在文件夹中。
- 在 Asset Browser 中选择。
- 在属性标签中编辑。
- 被多个实体复用。
- 随项目保存。
这一点很重要:图表本身是项目内容。
例如,你可以创建一个名为 Door Logic 的资产,并将它用于多个门。之后,如果你改进了该图表,依据你的可复用设置,这些门可以共享更新后的行为。
Logic Bricks 组件
要在游戏中运行一个 Logic Bricks 资产,需要将它附加到带有 Logic Bricks Component 的实体上。

组件负责选择它应使用的 Logic Bricks 资产。运行时,组件会为其所属实体创建一个图的运行时实例。
这意味着:
- 资产定义共享行为。
- 每个实体拥有自己的运行实例。
- 同一图表可被多个实体复用。
这类似于一个可复用的 Python 脚本能被多实体分别运行。
可复用的 Logic Bricks
Logic Bricks 是可复用的,这是它们最大的优势之一。
例如,你可以创建一个名为 Open Door 的 Logic Bricks 资产,多个门实体都可以使用同一个图。
当以下情况发生时,可复用逻辑非常有效:
- 多个对象共享相同行为。
- 每个对象需要略有不同的局部数值。
- 你想在一个地方改进行为。
- 你想让项目保持井然有序。
这类似于:
| 可复用资产 | 被复用对象 |
|---|---|
| Python 脚本 | Python 组件 |
| 实体模板 | 场景实例 |
| 材质 | 网格实体 |
| Logic Bricks | Logic Bricks 组件 |
你不会将同一图复制到多个地方,而是维护一个行为资产,并根据需要配置每个实体。
Logic Bricks 属性
Logic Bricks 可公开属性。
这些属性会同步到 Logic Bricks 组件,且可以在本地覆盖。
例如,一个可复用的伤害图可以公开:
- 最大生命值。
- 伤害数值。
- 伤害冷却时间。
- 目标标签。
- 触发后是否销毁对象。
然后,每个使用该图的实体都可以有不同的数值。
例如,一个尖刺陷阱造成较低伤害,而熔岩区域使用相同逻辑则造成更高伤害。
流程事件
逻辑通常从事件开始。
常见流程事件包括:
| 事件 | 运行时机 |
|---|---|
On Start |
逻辑开始时 |
On First Update |
启动后首次更新时 |
On Update |
游戏持续更新时 |
On Paused Update |
暂停时允许更新时 |
On Late Update |
更新周期较晚时 |
On End |
逻辑结束时 |
事件是图的入口点。
没有事件或其他触发器,图不会开始执行。
逻辑流程
逻辑流程决定了事情发生的时间和顺序。流程插槽连接事件砖和动作砖。
例如:

这意味着打印动作会在图启动时执行。
初学者需要分清楚的是:
| 连接类型 | 目的 |
|---|---|
| 流程连接 | 定义动作执行时机 |
| 数值连接 | 提供数据给动作 |
理解这一点后,Logic Bricks 会变得更易读。
更复杂的图可以分支、延迟、调度、调用函数、读取数值、修改实体和与组件通信。
运行时调试
Logic Bricks 可以在测试时显示有用的运行时反馈。
当在播放模式中选中所属实体时,执行过的砖块和连接会高亮,帮你查看执行了什么:

运行时调试能帮助回答:
- 事件是否运行?
- 条件是否通过?
- 动作是否执行?
- 图表是否正确访问对象?
- 控制台是否打印错误?
如果门没打开,这些反馈能帮助你检查触发事件是否运行,条件是否通过,以及动作是否到达门。
测试游戏后,选择逻辑砖还会在屏幕左下角显示其执行次数和平均执行时间。
Logic Bricks 在状态机中的应用
Logic Bricks 不仅作为独立组件使用,也能用于状态机中。
例如:
- 状态机的某个状态可以用 Logic Bricks 实现其行为。
- 转换条件可以用 Logic Bricks 实现。
状态机将在后续课程详解,但你需要知道 Logic Bricks 可以作为更大结构化行为系统的一部分。
这意味着你既可用可视逻辑实现简单交互,也可用它实现有组织的行为,如敌人状态。
什么时候用 Logic Bricks
Logic Bricks 适合:
- 初学者学习游戏逻辑。
- 偏好可视逻辑的设计师。
- 快速原型。
- 简单交互。
- 触发器。
- UI 行为。
- 可复用的游戏事件。
- 系统间的连接。
一些好的初学者示例包括:
- 压力板打开门。
- 拾取物品增加生命值。
- 触发器启动时间线。
- UI 按钮切换场景。
- 危险物伤害玩家。
- 检查点保存位置。
对于非常大或复杂的系统,Python 可能更易于组织。对于很多游戏交互,Logic Bricks 快速,可视且易于检查。
一个简单的规则
Cave 引擎的可视化脚本与 Python API 一一对应,意味着所有通过代码可用的函数也应通过 Logic Bricks 可用。 这意味着你可以自由选择用哪种方式创建游戏逻辑。也就是说:
- 当你想以图形方式看到行为时,使用 Logic Bricks。
- 当行为更适合用代码表达时,使用 Python。
- 你也可以两者结合使用!
这两种方式都是 Cave 的一部分,很多项目在某些系统用可视逻辑,另一些用 Python。