敌人创作
定义敌人的身份、HP 范围,以及先选意图再行动的行为图。
适合在 Workbench Enemy 模式中制作对手的开发者。敌人是可复用的战斗单位。一个敌人定义控制身份、HP 范围、阶级、表现,以及用于选择意图和结算行动的 FlowGraph。在 Workbench > Enemy 中创作敌人;Demo 的 16 个敌人,从 Strawman 到 Mire Reaper,全部使用该模式制作。

创作顺序
- 填写 Name、Description、Tier 和 Tags。
- 如果表现资源已存在,设置 Icon 和 Template。
- 设置 HP Min 和 HP Max。
- 打开 Edit FlowGraph,先做一个可预测的初版行为。
- 把敌人加进一个遭遇战,测试完整回合循环。
先制作可预测版本。一个每回合固定造成 6 点伤害的确定性敌人,比行为复杂且难以复现的敌人更适合作为测试目标。
基础字段
| 字段 | 作用 |
|---|---|
| Name | 游戏内显示名称。非空时 Workbench 会同步重命名资产;为空时校验报错。 |
| Description | 显示在敌人信息上的风味或定位文本。 |
| Tier | 难度分组。默认 Normal;下拉提供 Normal、Elite、Boss,外加已经用过的标签,输入新标签即创建。 |
| Tags | 用于过滤和目标选择的自由标签。 |
Tier 是标签,不是行为。一个 Boss 敌人仍需要通过 HP、意图和行为图体现难度。当项目存在明确分组时,可以使用自定义 tier;Demo 为 Stitched Hound 这类中途入场单位添加了 Summon 阶级。
视觉字段
Icon 是 UI 和 Workbench 列表行使用的头像 sprite。Template 是战斗中生成、代表该单位的 prefab。预览列会实时渲染指定 Template,支持旋转、平移和缩放;prefab 缺失或比例异常时,可以在进入 Play Mode 前发现。最终美术未完成时,可以先复用 Demo prefab 测试机制,避免表现资源阻塞行为开发。
属性字段
| 字段 | 作用 |
|---|---|
| HP Min | 初始 HP 随机范围的下限。编辑器会保持它不低于 1。 |
| HP Max | 随机范围的上限,包含该值。编辑器会保持它不低于 HP Min。 |
初始 HP 在单位生成时随机一次,结果落在包含上下限的范围内;例如 Demo 的 Strawman 出场时为 14 到 18 HP。测试期间建议收窄范围。范围过宽时,不利于判断卡牌伤害、状态伤害和死亡行为是否正确。

行为图
在 Behavior 区域点击 Edit FlowGraph。敌人图有两个职责:
| 职责 | 玩家看到的结果 |
|---|---|
| 选择意图 | 战斗 UI 显示敌人下回合计划执行的行动。 |
| 结算行动 | 敌人在敌人阶段执行行动。 |

图中有内容后,Behavior 折叠面板会显示摘要,例如 Strawman 的 Patterns 1 · LeafIntents 3 · Actions 4。该摘要只能说明图具有结构,不能替代 Play Mode 测试,也不能证明行为正确。

预览列的 Intents 折叠面板会读取行为图并显示意图分布(Strawman 是 Attack 1 · Defend 1 · Special 1)。这可以在进入 Play Mode 前检查敌人的行动构成。

玩家能看到多少意图,不由敌人资产决定。遭遇战的战斗规则设置意图显示模式(Hidden、IconOnly 或 Full),因此同一个敌人在不同遭遇战中可以使用不同显示等级。
遭遇战放置
只有当遭遇战引用敌人时,它才会出现在战斗中。打开 Workbench > Encounter,选中一个遭遇战,在 Enemy Units 下添加敌人。没有敌方单位的遭遇战会触发校验 Error。反向查找时,可以使用敌人预览列的 Used By 面板,它会列出引用该敌人的所有遭遇战。
首次测试只添加一个敌人。确认单个敌人可以生成、显示意图、行动并死亡后,再配置多敌人阵容。
校验
Enemy 模式报告:
- Name 为空是错误。
- HP Min 大于 HP Max 是错误。
- FlowGraph 校验器的发现是警告。
校验只能证明定义在结构上可以进入测试。敌人的节奏、难度和可读性仍需要在 Play Mode 中验证。
常见错误
| 症状 | 可能原因 |
|---|---|
| 敌人从不出现 | 没有启用的遭遇战引用它,或敌人数据库未启用。 |
| 敌人没有意图显示 | 图从未设置意图,或遭遇战的意图显示模式是 Hidden。 |
| 敌人回合没有行动 | 图选出了意图,但没有连接对应行动路径。 |
| 每次运行 HP 不同 | HP Min 和 HP Max 定义的是包含上下限的随机范围。受控测试请收窄它。 |
| 缺模型或头像 | Template 或 Icon 没有指定。 |