About
- views · 17 posts
破魇

破魇

战斗设计关卡设计白盒AI 设计Unity

灵感来源

《破魇》是一段基于 Unity 制作的动作战斗关卡白盒。我把它作为一个可迭代的战斗遭遇样板:用状态机和连招建立玩家操作,用资源条和技能反馈塑造节奏,再用垂直爬塔关卡验证战斗空间与敌人行为。

Engine Unity / ProBuilder
Role 战斗关卡设计
Focus 连招、资源条、敌人 AI
Goal 构建可迭代的动作战斗遭遇

习武少女因家人变故遭受打击,心怀愧疚的她陷入沉睡之中,却意外发现梦魇正在吞食她的情感与记忆。本关卡截取她在梦境中逐渐找回能力、面对梦魇的部分章节。

本项目参考了 ARPG/ACT 游戏中的资源条、技能节奏和高速动作体验。资源条参考《怪物猎人》系列,角色机制与战斗反馈参考《尼尔:自动人形》和《鬼泣5》。项目使用修改版开源动作编辑器 PengFramework,部分美术资源来自商用素材,关卡白盒由 Unity ProBuilder 搭建。

游戏场景

游戏场景 1 游戏场景 2 游戏场景 3 游戏场景 4
Scene Preview

用垂直塔体承载战斗节奏

场景围绕“向上推进”的爬塔结构展开,同时通过内部战斗空间、外侧绕行路线和高差变化,避免白盒关卡只剩单一路径。

UI 设计

资源条 / 血条资源条

三个技能图标(Q / E / R)排列在 UI 中:

技能图标

技能正在冷却中,图标变灰。

技能冷却

操作方式

  • 移动W/A/S/D 键控制
  • 跳跃空格键
  • 普通攻击鼠标左键
  • 闪避:鼠标右键或 Shift 键
  • 技能QER 分别对应三个不同的技能

玩法介绍

游戏目标

击败每个区域的所有敌人,探索周围环境,向最终目的地推进。

游戏流程

探索区域 → 与敌人战斗 → 进入下一个区域 → 重复探索和战斗 → 迎战并击败区域 Boss

机制设计

完美闪避

闪避有使用次数限制:玩家在一段时间内只能闪避两次,之后进入冷却期,暂时无法闪避。大部分敌人攻击都可以闪避,在精确时机闪避会触发完美闪避。完美闪避会触发时间减速、重置闪避次数,屏幕会出现残影效果和径向模糊等视觉提示。这个设计鼓励玩家执行精准闪避,而不是无脑乱按闪避键。

完美闪避1

完美闪避2完美闪避3

攻击拼刀

当敌人在发动攻击前闪黄光时,这个特定攻击可以被打断或招架。成功拼刀会打断敌人的攻击并造成硬直。面对攻击频率高的敌人,善用这个机制可以有效减轻对方的进攻压力,让玩家在战斗中占据主动。

拼刀1

拼刀2

状态机与连招系统

状态机

角色的状态机大致如下:

状态机概览

状态编辑器
状态机概览状态编辑器

连招

地面状态
  1. 鼠标左键 → 鼠标左键 → 鼠标左键 → 鼠标左键 → 长按鼠标左键(将角色挑飞至空中,切换为空中状态)
  2. 长按鼠标左键可以在四段连招的任何时刻插入
  3. E → 鼠标左键 → 鼠标左键 → 长按鼠标左键(进入空中状态)
  4. Q 可以在连招中途插入
  5. R 可以在连招中途插入
空中状态
  1. 鼠标左键 → 鼠标左键 → 鼠标左键 → 长按鼠标左键(落地回到地面状态)
  2. E → 鼠标左键 → 鼠标左键 → 长按鼠标左键
  3. Q 可以在连招中途插入,然后落地

技能图标

Q 键图标
Q
E 键图标
E
R 键图标
R

资源条

主角拥有一个能量条,最大容量为 100 能量点,UI 上显示为四段蓝色能量。在地面连招的第 4 段或空中连招的第 3 段命中敌人时,恢复 25 能量点。

  • 能量条满时按 E 键激活 Skill_B(地面)或 Skill_B_InAir(空中),召唤四个能量分身攻击路径上的敌人。

能量条满

召唤能量球

召唤分身

  • 在地面按 Q 激活 Skill_A 可以召回所有已召唤的分身;在空中同样可以通过长按攻击键按 R 释放 Skill_C按 Q 释放 Skill_A / Skill_A_InAir召回分身分身在接近主角时爆炸,对周围敌人造成范围伤害。

召回分身

能量球爆炸
  • 如果分身没有被主动召回引爆,它们会在一定时间后自动爆炸,对附近敌人造成伤害。

自动爆炸

资源条的设计把战斗循环进一步划分为两个阶段:能量积攒阶段能量消耗阶段

能量积攒阶段:玩家使用基础连招(地面的 1-3 段,空中的 1-2 段)攻击敌人,目标是”命中敌人,每段积累 25 能量”。同时结合完美闪避来回避敌人攻击、拼刀来打断敌人连招,在”不被命中”的前提下逐步填满四段能量条。

能量消耗阶段是对玩家精准操作的奖励。能量条满后,玩家可以爆发输出、压制敌人的攻击节奏,甚至打断 Boss 的连招。这个设计鼓励玩家主动掌控战斗节奏,而不是无脑丢技能。

战斗循环示意
战斗循环示意:展示能量积攒、基础连招、能量消耗与爆发压制之间的循环关系。
Level Design

关卡设计

关卡采用线性爬塔框架,引导玩家从塔底推进到塔顶。为了避免“一直向上”的单调感,空间节奏被拆成垂直探索与水平战斗两个交替模块。

设计判断:垂直维度用于制造路线变化和探索动机,水平维度用于承载战斗遭遇。两者交替出现,让玩家在寻路、遭遇战和空间辨识之间不断切换。

关卡概览 - 侧视
关卡概览:侧视角度。
关卡概览 - 俯视
关卡概览:俯视角度。
第 4 层内部
第 4 层内部:封闭战斗空间
第 4 层外部
第 4 层外部:外侧绕行路线
塔内结构
塔内结构:展示垂直爬塔空间中的内部路线关系。
第 5 层
第 5 层:高层空间中的路线收束与战斗区域安排。
关卡总体结构侧视图
关卡总体结构侧视图。

关卡整体总览

战斗设计

战斗设计的核心是教玩家技巧,然后验证玩家的技巧。玩家需要仔细观察敌人的攻击模式和视觉提示,做出战术决策来击败敌人。

敌人设计

  • 近战敌人:攻击模式相对简单,引导玩家掌握基础的闪避和拼刀操作。

    • 行为逻辑:如果与目标的水平距离较近,敌人会立即发起攻击。如果距离较远,它会进行立回(通过向前移动或左右侧步调整位置)来接近或寻找进攻机会。

近战敌人1

近战敌人2

近战敌人行为1

近战敌人行为2
  • 远程敌人:能发动单体远程攻击和范围远程攻击,进一步磨练玩家的闪避反应。

    • 行为逻辑:与目标保持安全远程距离,优先使用远程攻击。当目标逼近至近身距离时,它会击退攻击者或后退重新建立立回距离。

远程敌人1

远程敌人2

远程敌人3

远程敌人4远程敌人5
  • Boss 战:Boss 具有高攻击侵略性,会快速逼近玩家。拼刀是核心应对手段(成功拼刀会打断 Boss 的攻击,减轻战斗压力),考验玩家对拼刀机制的掌握程度。

    • 行为逻辑:如果与目标的水平距离较近,Boss 会立即发起攻击。如果距离较远,它会用立回调整位置,或使用冲刺技能快速追击目标。

Boss 战1

Boss 战2

Boss 战3

Boss 战4

制作过程

编程

基于原始编辑器,增加了大量自定义节点。

生成投射物节点运行时

生成投射物节点编辑器
SpawnProjectile 节点运行脚本SpawnProjectile 节点编辑器脚本

增强打击感的方法

角色抖动

当攻击没有打断敌人的状态时,敌人的骨骼也会沿 X/Y/Z 轴产生模拟振动,表现为不同方向的抖动。

角色抖动

屏幕震动

使用 CinemachineImpulseSource(来自 Cinemachine 插件)为屏幕添加震动效果。震动方向与角色攻击动作的方向保持一致,以增强打击感。

屏幕震动

AI 设计

AI 有 4 种行为模式:巡逻返回出生点追击决策(基于行为树)。

  • 巡逻:AI 没有目标且有有效巡逻点时激活。在合适距离内发现目标时切换到追击/决策;没有巡逻点时切换到返回出生点。
  • 返回出生点:AI 没有目标且没有有效巡逻点时触发。如果在规定时间内没有回到出生点,AI 会传送回去。中途检测到目标会打断返回,切换到追击/决策;成功返回出生点且无目标时切回巡逻。
  • 追击:AI 在中远距离内有目标时启动。目标接近至近战范围时切换到决策;目标超出追击范围且有有效巡逻点时切回巡逻;无目标时切换到返回出生点。
  • 决策:AI 在近战范围内有目标时启动。目标退到中距离时切回追击;目标超出追击范围且有巡逻点时巡逻;无目标时返回出生点。

AI 行为模式

AI 使用行为树进行决策,发出战斗和移动指令,角色的状态机再处理这些指令来完成状态切换。

行为树

AI 寻路使用 Unity 的导航系统

导航网格1

导航网格2

编辑器改进

现在可以直接在关卡编辑器中配置出生点和巡逻点。

编辑器1

编辑器2

玩家反馈与优化方向

  • AI 在返回巡逻点时偶尔会卡住,需要进一步优化 AI 寻路逻辑。
  • 加入 QTE 机制(如处决、背刺)可以增强战斗的交互感和打击反馈。
  • 目前镜头的切换和移动比较单调,优化镜头控制、加入动态镜头运动可以改善视觉表现。
Resources

Links & Resources