PART 1 · 总论

技能数据分布规范

消除 DataTableGAS 的双源冲突,建立四层单一权威数据源(SSOT)。通过多层默认配置体系将策划创建一个新技能的初版时间从 20-30 分钟缩短到 3-5 分钟。

4
数据层级
15
技能类别模板
15
标准 Phase GE
6
打击感预设

四层架构

每条技能数据只回答三个问题:谁写、谁读、何时写。四层按职责严格隔离,通过 ID/路径引用关联。

L0 技能注册表 纯索引层 — ID、名称、图标、分类、解锁条件 注册 · 索引 · UI
L1 GAS Ability 唯一运行时权威源 — 距离、区域、状态、权限、阶段 逻辑 · 权威 · SSOT
L2 Timeline 纯时序表现 — 动画、特效、音效、碰撞帧、阶段标记 表现 · 时间 · 标记
L3 FlowCanvas 效果分发中心 — 命中后伤害、Buff、受击反馈逻辑 效果 · 事件 · 分支

技能生命周期

四层数据在技能释放的不同阶段介入,形成流水线式协作。

按下技能键
L1
目标选择距离筛选
攻击距离确定瞄准
技能播放
L2 L1
Phase标记→阶段规则
播放动画/特效/音效
命中帧
L2 L3
碰撞检测命中
FlowCanvas执行效果
取消窗口/后摇
L2 L1
阶段标记触发
允许移动/打断
技能结束
L1
清理阶段状态
冷却开始计时

核心设计原则

单一权威源
每个字段有且只有一个写入点。GAS 为运行时唯一权威。DataTable 收窄为纯注册索引。
多层默认继承
代码约定 → 武器默认 → 类别模板 → 实例覆盖。策划只需配置"与默认不同的"字段。
模板驱动创建
15 类技能模板 + 6 种 Timeline 模板 + 5 种 Flow 模板 + 7 种 GE 模板,覆盖 95% 场景。
约定优于配置
资产路径由命名约定自动推导。~90% 路径字段免填,消除拼写错误和不一致。
命中反馈统一
Hit Feel Profile 归拢所有打击感参数。顿帧、震屏、受击反应、击退一站式配置。
变体优于复制
相似技能通过变体继承只存差异字段。强化版、NPC版技能创建从 20 分钟降到 2 分钟。
PART 2 · 四层数据规范

四层数据详览

选择一个数据层查看字段定义、职责边界和编辑方式。

L0

技能注册表 — "这个技能是什么"

纯索引层,不包含任何影响运行时战斗行为的参数。仅回答"技能面板上显示什么"。

✓ 属于 L0
  • 技能 ID(主键)
  • 显示名称、图标、描述
  • 分类(15 类技能类别枚举)
  • 所属武器标识
  • GAS 资产路径引用
  • 预加载标记
✗ 不属于 L0
  • Timeline / Flow 资产路径 → L1
  • 消耗/冷却/优先级 → L1
  • 任何运行时战斗参数 → L1
  • 碰撞体配置 → L2
字段定义
字段类型说明来源
idint技能唯一标识(主键)原 ResSpellNew
display_namestring技能显示名称新增
iconstring技能图标路径新增
descriptionstring技能说明文本新增
categoryenum技能类别(对应 15 类模板)查看枚举新增
weapon_idstring所属武器标识 归属标签新增
tip_idint提示文本 ID原 ResSpellNew
preloadint资源预加载标记原 ResSpellNew
ga_asset_pathstringGAS 资产路径 加载钥匙SkillDataConfigs
命名约定自动推导

策划只需填写 id + weapon_id + category,其余路径自动推导:

字段推导规则示例
ga_asset_pathSkills/{weapon}/GA_{weapon}_{id}.assetSkills/Longsword/GA_Longsword_10001.asset
timeline_nameTL_{weapon}_{id}TL_Longsword_10001
flow_pathSkills/{weapon}/Flow_{weapon}_{id}.assetSkills/Longsword/Flow_Longsword_10001.asset
iconUI/Icons/Skills/{weapon}/skill_{id}.pngUI/Icons/Skills/Longsword/skill_10001.png
L1

GAS Ability — "这个技能做什么"

所有运行时逻辑参数的单一权威源。字段按默认值来源分为三类:必须逐技能配、类别模板可继承、武器/角色可继承。

✓ 属于 L1
  • 优先级、类型、冷却、消耗
  • 目标选择距离和攻击距离
  • 碰撞体筛选区域配置
  • Tag 激活/阻止/取消条件
  • Phase GE 阶段映射
  • 资产引用(Timeline/Flow)
✗ 不属于 L1
  • UI 展示信息(名称/图标)→ L0
  • 具体动画/特效时序 → L2
  • 命中后效果逻辑 → L3
  • 碰撞帧的具体时间点 → L2
A. 必须逐技能配置
字段类型说明
SpellTidint技能 ID 身份证
Priorityint技能优先级/打断等级
SkillTypeint技能类型枚举
CdGroupint冷却组
CastCondGroupint施法条件组
AssetTagsTagContainer技能自身标签
B. 类别模板可继承

默认值来源:技能类别模板。灰色字段 = 继承中,点击可覆盖。

字段类型普攻默认主动默认闪避默认
InputIdint1(普攻键)按槽位闪避键
BlockTypeenumNormalAttackSkillDodge
CostValueint00
CdSelfint0固定值
ActivationBlockedTagsTags[Stun, KD]同左[Stun]
CancelAbilitiesWithTagTags[NormalAtk][Normal, Active][All]
C. 武器/角色可继承
字段类型默认值来源
TargetSelectDistanceint武器默认射程
AttackDistanceint武器默认射程
TargetVolumeFilterInfoAreaSelectInfo武器默认区域
CostTypeint武器默认消耗类型
D. 后续章节引入的扩展字段

以下字段在类别模板、Phase GE、命中反馈等章节中广泛使用,按需配置(有合理空值/默认值)。

字段类型说明默认值来源关联章节
PhaseEffectMapMap<PhaseId, GE>阶段→Phase GE 映射类别模板Phase GE
DamageGEGE_Asset伤害 GE(内含 HFP 引用)★ 策划填命中反馈
ComboConfigstruct连段配置 { groupId, index }仅连段技能连段与派生
BaseSkillAssetGA_Asset变体技能的基础资产引用仅变体技能变体
ChannelConfigstruct引导配置 { tickInterval, maxDuration, tickGE }类别模板引导技能
DamageGE 是策划最常配置的扩展字段——它内部关联了 HitFeelProfile(打击感)和 StaggerPower(削韧值),是区分每个技能打击手感的核心。
默认值解析链
技能实例值GA 资产显式填写
类别模板值按 L0.category 查找
武器默认值按 weapon_type 查找
代码硬编码最终兜底
L2

Timeline — "这个技能看起来怎样"

负责"第几帧播什么表现"和"第几帧触发什么阶段信号",不包含任何战斗逻辑。

✓ 属于 Timeline
  • 动画播放/切换时机
  • 特效/音效触发时机
  • 碰撞帧/伤害帧时机
  • 投射物发射时机
  • 位移曲线、相机表现
  • 阶段标记(Phase Markers)
✗ 不属于 Timeline
  • 各阶段允许什么操作 → L1 Phase GE
  • GAS 效果应用 → L3 FlowCanvas
  • 施法条件/消耗/冷却 → L1 GAS
  • 命中后效果逻辑 → L3 FlowCanvas
保留的 Action 类型
类别Action 类型
阶段标记PhaseMarker(新增)
动画Anim, FlexAnim, EffectSubAnim
特效EffectSimple, Effect
音效Sound
碰撞SpellCollision, SpellCrash, SpellCrashGroup
投射物Projectile, ProjectileNext
位移Motion, MoveAdjust, MoveDir, MoveTarget
相机CameraImpulse, VirtualCamera
阶段标记(Phase Markers)可视化

策划在 Timeline Editor 中拖拽标记位置,与动画关键帧对齐。标记本身只携带 phase_id,不含任何逻辑参数。

阶段模式:
运行时信号接口

PhaseMarker 通过事件总线(而非直接引用)与 L1 通信,确保 L2 → L1 单向依赖。

L2 端 · TimeAction_PhaseMarker
OnEnter() {
  SpellContext.RaisePhaseEvent({
    PhaseId:    phase_id,
    SpellId:    SpellContext.SpellTid,
    Normalized: Timeline.NormalizedTime
  });
}
L1 端 · GA PhaseMarker 监听
OnPhaseEvent(e) {
  GE = PhaseEffectMap[e.PhaseId]
  ASC.ApplyGE(GE)
    → 自动 RemoveEffectsWithTag: Phase.*
    → 授予新 Tags (Permission.*, State.*)
  Broadcast(OnPhaseChanged)
}
关键约束:PhaseMarker 只能发信号,不能直接调用 GAS API。L2 不持有 L1 引用,替换 GAS 框架时 Timeline 无需改动。
L3

FlowCanvas — "命中之后发生什么"

只负责"命中/触发之后执行什么效果逻辑"。纯逻辑流图,事件驱动。

✓ 属于 FlowCanvas
  • 命中事件处理
  • GE 应用(伤害/Buff)
  • Tag 操作(命中触发)
  • 条件分支(血量/Tag/堆叠)
  • 受击反馈编排
  • 投射物命中处理
✗ 不属于 FlowCanvas
  • 施法者阶段状态管理 → L1 Phase GE
  • 动画/特效播放时机 → L2 Timeline
  • 阶段转换/操作权限 → L1 Phase GE
  • 施法条件/消耗/冷却 → L1 GAS
L1 阶段规则 vs L3 的边界
维度L1 阶段规则L3 FlowCanvas
管谁施法者自身被命中的目标
管什么状态/权限效果/后果
触发方式阶段驱动(进入/退出标记)事件驱动(碰撞命中)
逻辑性质声明式过程式
核心节点
类别节点
事件入口FlowSpellHitEvent, FlowProjectHitEvent
GE 应用FlowApplyGASEffect, FlowApplyBatchEffects
Tag 操作FlowApplyGASLooseTag, FlowRemoveLooseGameplayTag
条件分支FlowBranchByHasTag, FlowRunBasedOnStackOfEffect
受击FlowMoveHurtCurve, FlowUnitHit 系列
生命周期FlowEndAbility, FlowInterruptSpell
L3 的核心复用机制是 SubGraph 子图模板(11 种标准子图覆盖 ~97% 场景)。详见 → SubGraph 效果模板
PART 2 · 跨层架构

跨层数据依赖关系

四层之间的引用遵循单向下行 + 事件上行原则,避免循环依赖。

L0 DataTable(注册表)
skill_id · category · icon · ga_asset_path
ga_asset_path 引用
L1 GAS(GA 资产) — 数据枢纽
timeline_asset_name → L2
flow_asset_path → L3
SpellTid ↔ L0.skill_id
PhaseEffectMap → Phase GE
DamageGE → HitFeelProfile
ComboRoute → ComboRouter
字段引用 ↓   事件信号 ↑
字段引用 ↓   GE 引用 ↑
L2 Timeline
PhaseMarker
↑ 事件信号 → L1 PhaseEffectMap
Collision
↑ 事件信号 → L3 FlowCanvas
L3 FlowCanvas
SubGraph 内引用 L1 GE 资产
Tag 查询(来自 L1 GAS)
通过 skill_id 反查 L0(只读)

引用方向总结

源层 → 目标层引用方式示例
L0 → L1资产路径引用ga_asset_path(L0 唯一的资产引用)
L1 → L0ID 关联SpellTid 与 L0.skill_id 一一对应
L1 → L2字段引用timeline_asset_nameMaleTimeline
L1 → L3字段引用flow_asset_path
L1 → L1GE 引用DamageGE, PhaseEffectMap 中的 GE
L2 → L1事件信号(非直接引用)PhaseMarker → PhaseEvent → GA
L2 → L3事件信号Collision → HitEvent → FlowCanvas
L3 → L1GE 引用SubGraph 内 ApplyGE 引用 L1 的 GE
L3 → L0反查(只读)通过 skill_id 读取元数据
禁止方向:L2 不能直接引用 L1 的 GAS API(通过事件解耦);L0 不引用任何其他层的资产(只做索引)。
PART 2 · 数据质量

跨层数据校验规则

定义"什么是合法配置",用于 Web 工具实时校验和 CI 批量检查。

规则校验内容涉及层说明
E001L0 skill_id 唯一性L0不允许重复 ID
E002GA SpellTid 必须在 L0 中存在L0↔L1孤立 GA 无法被索引
E003timeline_asset_name 引用资产存在L1→L2缺失导致无动画
E004flow_asset_path 引用资产存在L1→L3缺失导致无命中反馈
E005DamageGE 引用 GE 资产存在L1→L1缺失导致无伤害
E006PhaseEffectMap GE 资产存在L1→L1缺失导致阶段规则失效
E007ComboRoute from/to 引用有效 skill_idL1无效路由导致连招断裂
E008变体 BaseSkillAsset 引用有效 GAL1基础缺失导致字段空
E009Timeline 含 anticipation + recovery 标记L2最低必要阶段标记
规则校验内容涉及层说明
W001攻击类技能缺少 phase_active 标记L2霸体/无敌可能不生效
W002连招技能缺少 phase_cancelable 标记L2无法衔接下一段
W003DamageGE 未关联 HitFeelProfileL1有伤害但无打击感
W004ComboRoute.inputWindow.start 早于 cancelable 标记L1↔L2窗口段无法生效
W005L0 category 与 GA Tag 不一致L0↔L1分类与行为不匹配
W006FlowCanvas 使用非标准自定义子图L3可能未充分测试
W007ActivationBlockedTags 含自身 TagL1技能无法二次释放
规则校验内容涉及层说明
I001技能字段与类别模板完全一致(零覆盖)L1提示:是否遗忘了定制?
I002同一 DamageGE 被 >10 个技能引用L1修改影响范围大
I003Timeline 总时长超过 5sL2检查是否为预期长动画

校验执行时机

编辑时实时
输入框焦点离开
当前技能 E/W 级
保存前
点击"保存"
全部规则 + 跨层引用
CI 批量
Git commit hook
全量技能 × 全规则
运行时
技能首次加载
E 级(assert / 降级)
PART 3 · 效率体系

默认配置与模板

多层默认机制覆盖 L0 到 L3 全部数据层,将一个标准技能的初版配置从 20-30 分钟缩短到 3-5 分钟。

默认继承体系总览

层级机制解决的问题减负效果
L0命名约定自动推导路径手工填写~90% 路径免填
L1技能类别模板同类技能重复勾选~60% 字段自动
L1武器/角色值继承同角色重复填距离~80% 目标配置免填
L1代码级约定默认通用值无需配置100% 免填
L2Timeline 结构模板从零搭建 Timeline1 分钟 vs 30 分钟
L3效果片段+整图模板重复连接节点链路~50% 选模板即可
L1Hit Feel Profile命中反馈参数散落打击感一站式
L1GE 模板体系重复创建相似 GE~60% 选模板即可
L1技能变体机制相似技能整份复制仅配差异字段

运行时解析优先级

L1 字段通过三级 fallback 链确定最终值。点击节点查看说明:

技能实例值GA 资产中显式填写
类别模板值按 L0 category 查找
武器默认值按 weapon_type 查找
代码硬编码最终兜底
点击上方任一节点查看详细说明。

技能变体与克隆

基于已有技能创建变体,只存储差异字段。加载时从基础版填充空值,不增加运行时复杂度。

基础技能: GA_Longsword_Slash
Priority5
CostValue30
CdSelf8000
TimelineTL_Slash
PhaseGEStandard
变体: GA_Longsword_Slash_Enhanced
Priority继承 (5)
CostValue50
CdSelf6000
Timeline继承
PhaseGE继承
PART 3 · 技能类别

15 类技能模板

以通用 3D ARPG 为参考,覆盖约 97% 的常见技能类型。点击卡片查看模板详情。

PART 3 · 效果模板

SubGraph 效果模板

FlowCanvas 中的标准化子图,封装常见命中/效果逻辑。约 80% 的技能选 SubGraph_StandardHit + 填写伤害 GE 即可完成 L3 配置。

SubGraph 速查

SubGraph适用场景覆盖率
SubGraph_StandardHit普攻、单段技能、近战/远程通用~50%
SubGraph_AOEHit范围技能(首目标全套反馈,后续简化)~5%
SubGraph_ProjectileHit远程投射物命中~10%
SubGraph_ChannelHit引导技能每 Tick 轻反馈~5%
SubGraph_BreakTriggerHit高削韧技能(标准流程 + Break 判定)~5%
SubGraph_FinisherHit处决技能(跳过韧性,专属演出)~2%
SubGraph_DOTHit持续伤害(无顿帧,仅数字+特效)~5%
SubGraph_BuffApply自身增益技能~10%
SubGraph_SummonSpawn召唤物生成~3%
SubGraph_ParryResponse格挡/弹反响应~2%
SubGraph_QTESequenceQTE 序列编排(输入判定→成功/失败分支)~2%
不需要 SubGraph:Dodge(无命中逻辑)、Movement(极简或无)、Passive(无 Timeline)

节点流程图

点击查看每个子图的内部节点连线逻辑。 输入 → 处理 → 并行 → 分支 → 输出 )

← 点击上方子图名称查看流程
PART 4 · 核心子系统

Phase GE 阶段系统

将技能时间帧的"什么时候"(L2 标记)和"允许什么"(L1 规则)分属两层,通过 GE + Tag 融入 GAS 体系。

阶段时间线

切换技能类型查看不同的阶段分布。点击阶段查看该阶段的 Phase GE 详情和 Tag 授予规则。

阶段模式:
连招类技能在 Active 后额外插入 Cancelable 阶段用于接招,之后才进入后摇。

Tag 层级设计

Phase.* (阶段标识)

互斥,同时只有一个。

Phase.Anticipation Phase.Active Phase.Cancelable Phase.Recovery
Permission.* (操作权限)

可叠加。

Move Steer SkillInterrupt DodgeCancel ComboInput ChargeRelease
State.* (战斗状态)

可叠加,分等级。

SuperArmor.1 SuperArmor.2 Invincible.1 Invincible.2 Parry Channeling

四阶段定义

技能动画按时间顺序划分为四个互斥阶段,每个阶段有明确的设计意图操作语义。点击阶段了解详情。

Phase.Anticipation
前摇 · 准备出招
起手动作(抬剑)
Phase.Active
命中帧 · 正在攻击
攻击动作展开(剑正在挥出)
Phase.Cancelable
取消窗口 · 攻击完可接招
攻击动作末段(剑在前方停留)
Phase.Recovery
后摇 · 收招回中性
返回站立姿态(剑收回身侧)

取消窗口 vs 后摇 —— 关键对比

这是策划最容易混淆的两个阶段。核心区别:取消窗口 = 可以接招但不能走路;后摇 = 可以走路但不能接招

维度取消窗口(Cancelable)后摇(Recovery)
动画姿态攻击末段(剑在前方)收招回中性(剑收回身侧)
玩家心理"要不要继续打?""攻击结束了,该做什么?"
移动✗ 不可移动✓ 可自由移动
连招输入✓ ComboInput 开放✗ 连招链已关闭
技能打断✓ 可被其他技能打断✓ / 有限(视 Phase GE 类型)
闪避取消✓ 可闪避✓ / 有限(视 Phase GE 类型)
适用技能有连招链的(普攻、空中连击)所有技能
设计角色进攻决策点 —— 延续攻击节奏防御/重置点 —— 恢复行动自由
PART 4 · GE 管理

GE 数据管理与 Buff 统一

GE 即 Buff — 伤害、buff、debuff、DOT、Phase 规则均统一为 GE 资产。废弃旧 buff 表的双源冲突。

GE 分类

伤害 GE
1-2 个/技能

伤害公式、属性修改器
HitFeelProfile 引用

Buff/Debuff GE
0-3 个/技能

持续效果、堆叠规则
周期触发、授予能力

Phase GE
3-4 个(共享)

阶段权限和状态
Tag 授予/移除

工具 GE
0-1 个/技能

辅助效果
清除 Tag、触发事件

技能引用 GE 的三种方式

方式 A: GA 自动应用

~40% 的 buff。GA 字段列表,施法时自动遍历应用。

GA.OnActivate()
  → SelfEffectsOnActivate
  → ASC.ApplyGE(每个)
方式 B: Flow 节点引用

~50%。Flow 节点持有 GE 引用,按条件分支应用。

[OnHit]
  → ApplyGE: 伤害
  → ApplyGE: 中毒 DOT
  → if HasTag → 追加爆炸
方式 C: GE 嵌套触发

~10%。GE 通过 GrantedAbilities 触发二级效果。

GE_ThornArmor
  → GrantedAbilities:
    GA_ThornReflect
  (GE到期自动回收)

GE 模板体系

模板名预设内容策划需填写覆盖率
标准近战伤害Instant + Damage Modifier伤害系数、元素类型~40%
标准远程伤害同上 + 距离衰减伤害系数、衰减曲线~15%
持续 BuffHasDuration + Refresh持续时间、属性修改~15%
持续 DebuffHasDuration + Debuff Tag持续时间、属性修改~5%
DOTHasDuration + Period 1s每跳伤害、持续时间~8%
HOTHasDuration + Period + Friendly每跳治疗量~3%
永久被动Infinite属性修改器~4%
PART 4 · 命中反馈

命中反馈体系

命中反馈 = 顿帧 × 受击反应 × 视听冲击 × 数值反馈。Hit Feel Profile 归拢所有参数,伤害 GE 引用一个 Profile 即获完整打击感。

Hit Feel Profile 预设

Profile适用场景顿帧(攻/受)震动受击类型击退
HFP_Light普攻第1-2段3f / 4fFlinch0.3m
HFP_Medium普攻末段、中型技能5f / 6fStagger0.8m
HFP_Heavy重击、大招单段7f / 10fKnockback2.0m
HFP_Critical暴击、弱点打击8f / 12f强+闪白Stagger1.0m
HFP_Launch击飞技能6f / 15fLaunch3.0m+弧线
HFP_Knockdown击倒技能5f / 8fKnockdown1.5m

三层职责分工

L1: 数据 — "应该发生什么"

伤害 GE + HitFeelProfile。纯数据容器,定义打击感参数。

= 菜谱
L3: 编排 — "按什么顺序触发"

FlowCanvas 编排时序。顿帧→震屏→特效→音效→受击反应。

= 厨师
引擎层: 执行 — "具体怎么做"

HitStopController、ScreenShakeController、HitReactionController 等运行时子系统。

= 灶台/工具

打击感配置器

调整参数实时预览命中执行流。

命中执行流预览

韧性 (Poise) 计算器

输入攻击 削韧值 和目标韧性,预览受击结果。

Flinch
韧性未击破
PART 4 · 韧性击破

Break State 击破状态

韧性归零不仅是一次受击反应,更是一个持续数秒的脆弱窗口期。Break 构成"积攒削韧 → 击破 → 奖励窗口 → 恢复"的战斗节奏循环,用 Duration GE + Tag 原生实现。

受击反应 vs Break 状态

受击反应 (Hit Reaction)

一击的即时表现:硬直、击退、击飞。持续 ~0.1-0.5s。
每次命中都可能触发,由 HitFeelProfile 和韧性计算决定。

Flinch · Stagger · Knockback · Knockdown · Launch
Break 状态 (Break State)

韧性归零后的持续脆弱窗口:3-5 秒。
期间受伤增幅、特殊交互开放(处决/弱点攻击)、目标无法/有限行动。

State.Broken + DamageTaken ×1.3~2.0

Break 生命周期

点击各阶段查看详情。Break 是一个完整的战斗循环节点。

正常战斗
积攒削韧
Poise > 0
⚡ 触发
Break!
Poise = 0
脆弱窗口
Break 持续
3~5 秒
恢复
Recovery
韧性重置

Break GE 模板

GE 模板适用持续受伤增幅授予 Tag特殊
GE_Break_Standard 通用小怪3s×1.5 State.Broken State.CannotAct 瘫倒,无法行动
GE_Break_Elite 精英怪4s×1.3 State.Broken State.CannotAct Permission.Finisher 开放处决交互
GE_Break_Boss Boss5s×1.3 State.Broken State.WeakPointExposed 暴露弱点,不完全失能
GE_Break_Shield 护盾击破2s×2.0 State.Broken State.ShieldBroken 短暂高增幅窗口

Break 与其他系统的关系

Phase GE(攻击者)

管攻击者自身状态:能否移动/取消/霸体。
时间驱动(L2 阶段标记触发)。
与 Break 独立互补——同一次攻击中,攻击者处于 Active 霸体阶段,同时击破目标韧性。

Break GE(受击者)

管受击目标状态:受伤增幅/行动限制/特殊交互开放。
伤害驱动(韧性归零触发)。
不跟随攻击者技能阶段,独立持续直到 Duration 到期。

处决 GA(特殊交互)

ActivationRequiredTags: [State.Broken]
仅在 Break 期间可激活。处决后 RemoveGE 结束 Break。
每种武器/敌人可有独立处决演出 Timeline。

Break 模拟器

模拟连续攻击的削韧积累和 Break 触发过程。

韧性条 100 / 100
点击「攻击」开始模拟...
正常状态
PART 4 · 连段与派生

连段与派生配置示例

以长剑 4 段普攻连招为例,展示跨层配置方式。每个连段段位是独立的 GA,通过 ComboRoute 定义转移规则。派生通过 conditions + priority 与正常连段并行存在。

连段路由图

点击节点查看该段/派生的跨层配置详情。虚线箭头 = 派生分支,实线 = 正常连段续接。

四种派生类型

A. 重攻击分支

取消窗口内长按攻击 → 升空斩

inputType: HEAVY_ATTACK priority: 20
B. 方向派生

取消窗口内后方向 + 攻击 → 后跳斩

direction: BACKWARD priority: 25
C. Buff 条件派生

段 3 取消窗口内攻击 + "燃烧之心"Buff → 火焰终结

requiredBuffs: [燃烧之心] priority: 30
D. 弹反 → 反击

弹反成功后按攻击 → 直接触发反击(不经 ComboRoute)

ActivationRequiredTags State.ParrySuccess

策划工作量估算

配置项需策划填写预计时间
4 段普攻连招4 个 GA(各 ~3 个覆盖字段)+ 3 条 ComboRoute + 4 条 Timeline + 4 个 Flow~15 分钟
+ 1 个重攻击分支1 个 GA + 1 条 ComboRoute + 1 条 Timeline~5 分钟
+ 1 个方向派生1 个 GA + 1 条 ComboRoute(含 direction)+ 1 条 Timeline~5 分钟
+ 1 个 Buff 条件派生1 个 GA(可为变体)+ 1 条 ComboRoute(含 requiredBuffs)~5 分钟
+ 1 个弹反反击1 个 Counter GA + 1 条 Timeline + 1 个 Flow~10 分钟
连段中的每个段共享 ~85% 的字段(来自类别模板 + 武器默认),策划只关注差异:优先级、Timeline、打击反馈(DamageGE/HFP)、连段序号。派生技能通过 ComboRoute 的 conditions + priority 与正常连段并行存在,运行时自动按优先级匹配。

双层输入窗口控制

Phase GE 与 ComboRoute 协同工作,两层必须同时满足才能触发连招转移。

Phase GE 层(权限门控)

"是否接受这类输入?"

由 ASC 上的 Permission Tag 决定。
Phase GE 在 Cancelable 阶段授予 Permission.ComboInput
ComboRoute 层(路由匹配)

"在这个时间点,哪条分支路由匹配?"

由路由表的 inputWindow + conditions 决定。
归一化时间在窗口内 + 条件匹配 → 路由生效。
① ASC 有 Permission.ComboInput(Phase GE 层放行)+② 归一化时间在 ComboRoute.inputWindow 内(路由层匹配)连招转移生效
TOOL · Web 工具 MVP 探索

技能创建器原型

模拟 Web 工具 MVP 的核心编辑体验。灰色虚线字段 = 来自默认继承(可点击覆盖)。带 * 的字段为必填。

1基础信息
2核心参数
3Timeline
4效果逻辑
5阶段规则
6打击感

Step 1: 基础信息 L0

填写 3 个字段,路径自动推导。

自动推导路径
ga_asset_path: Skills/Longsword/GA_Longsword_10001.asset
timeline_name: TL_Longsword_10001
flow_path: Skills/Longsword/Flow_Longsword_10001.asset
icon: UI/Icons/Skills/Longsword/skill_10001.png

Step 2: 核心参数 L1

虚线边框 = 继承默认值,点击可覆盖。

当前类别: ActiveSkill | 武器类型: 单手剑
核心逻辑
目标配置(武器默认自动生效,大多可跳过)

Step 3: Timeline 模板 L2

选择结构模板,策划后续在引擎中精调时间点和资源。

单段斩击
Anim → Collision + Effect + Sound → 收招
覆盖 ~40%
多段连击
N 个 Group,每组同上结构
覆盖 ~15%
远程投射
Anim(蓄力) → Projectile + Effect → 收招
覆盖 ~15%
闪避位移
Anim → Motion(位移曲线) → 恢复
覆盖 ~10%
自身增益
Anim(施法) → Effect(自身) → 收招
覆盖 ~10%
持续引导
Anim(启动) → 循环段(可打断) → Anim(结束)
覆盖 ~5%

Step 4: 效果逻辑 L3

选择效果模式。80% 技能选模式 + 填 GE 引用即可。

标准伤害
HitEvent → Damage GE → HitReaction
覆盖 ~50%
伤害+Buff
HitEvent → Damage GE → Buff GE → HitReaction
覆盖 ~20%
投射物命中
ProjectileHit → Damage GE → Spawn → End
覆盖 ~10%
AOE 伤害
AttackEvent → ForEachInArea → Damage GE
覆盖 ~5%
条件 Buff
HitEvent → CheckTag → Branch → Buff GE
覆盖 ~10%

Step 5: 阶段规则 L1

类别模板已预填 Phase GE 组合。仅特殊技能需要更换。

Step 6: 打击感配置 L1

选择 GE 模板创建伤害 GE,并关联 Hit Feel Profile。

预览: 顿帧 5f/6f | 震动 中 | Stagger | 击退 0.8m
实时校验
EXPLORE · AI + GAS 工作流

AI 协作工作流探索

探索面向 AI+人类协作的三层架构 —— 意图层 → 配置层 → 运行时层,GAS 不替换,只加创作入口。

GAS 的 AI 摩擦点

当前 GAS 四层架构在 AI 协作场景下的核心阻力。

★★★ 资产碎片化
创建 1 个普攻段需触碰 8 个实体(GA + GE + HFP + Phase GE×4 + TL + Flow + Route),分布在 4 层、4 种格式、3 种编辑器中。
现状
AI 需要理解并协调 8 个实体的引用关系,任何一条链断裂→ Error
意图层方案
一技能一 YAML 文件,自包含所有信息,AI 只需操作单一文本
★★★ 隐式上下文
Phase GE 选择、HFP 选择、inputWindow 对齐、继承链回退 —— 这些"部落知识"对 AI 是缺失上下文。
现状
Phase GE 有 15 个变体,选择依赖经验而非规则;0/null = fallback 语义不直观
意图层方案
语义标签 + 显式继承:mode: mobile → 自动映射 Phase GE
★★ 二进制格式
Unity .asset 使用 GUID 引用 + 二进制序列化,AI 无法纯文本读写。
现状
每次编辑需 AI → Bridge → Unity API → 返回结果,链路长延迟高
意图层方案
纯 YAML 文本,AI 直接读写,最终由 Compiler 编译到 .asset
★★ 校验滞后
当前校验为离线批量模式,AI 无法在同一轮对话内完成 生成→校验→修正 闭环。
现状
生成→写入→触发CI→读报告→修正… 闭环 >30s
意图层方案
Schema 内嵌约束 + 同步校验引擎,Resolve 即校验,闭环 <2s

三层架构:意图层 → 配置层 → 运行时层

点击任意层查看详情。GAS 不被替换,而是作为编译目标。

Intent Layer
意图层
YAML · 一技能一文件 · AI+策划编辑
按概念分组 · 语义标签 · 自包含 · 显式继承
Config Layer
配置层
JSON · Resolver 展开 · 完全无歧义
继承展开 · 标签映射 · 可 diff · 可审计
Runtime Layer
运行时层
.asset · 现有 GAS 四层 · 引擎消费
GA + GE + HFP + Timeline + FlowCanvas
意图 YAML → Resolver → 配置 JSON → Compiler → GAS 资产

意图层 YAML 示例

点击不同技能段查看完整的意图层定义和编译产物。

意图层 YAML

    
编译产出资产清单

端到端演示:自然语言 → GAS 资产

完整流程:策划用自然语言描述 → AI 生成 YAML → Resolver 展开 → Compiler 输出引擎资产。点击步骤切换。

AI 五种角色

生成器 Generator
从自然语言生成完整技能 YAML 草稿
输入: NL 描述 → 输出: Intent YAML
审查者 Reviewer
校验技能数据完整性和一致性
输入: 配置 JSON → 输出: Error/Warning 报告
变换器 Transformer
在 Intent ↔ Config ↔ GAS 格式间转换
输入: 任意层数据 → 输出: 目标层数据
调参器 Tuner
根据体验反馈微调参数(前摇、打击感等)
输入: 体验反馈 → 输出: 参数 diff
诊断器 Diagnostician
分析运行时问题根因(技能释放后无法闪避取消?→ 检查 Phase GE 的 Permission Tag)
输入: Bug 描述 / 运行时日志 → 输出: 根因分析 + 修复方案

结论

GAS 仍是最优运行时,问题在创作层

GAS 的 Tag 驱动权限、GE 统一效果容器、ASC 生命周期管理和网络同步支持在 ARPG 场景下无可替代。

但其数据模型以引擎运行时为中心,与 AI 的概念驱动思维存在表示层错配。解决方案不是替换 GAS,而是在其上增加意图层作为 AI 和策划的统一创作入口,通过 Resolver + Compiler 自动编译到现有 GAS 资产体系。

预估效率提升:同等技能创建从 ~150min 降至 ~42min(节省 72%),主要节省在 GA/GE 手动填写和 FlowCanvas 搭建环节。