81 lines
2.2 KiB
Markdown
81 lines
2.2 KiB
Markdown
---
|
||
title: Untitled
|
||
date: 2025-08-22 14:04:53
|
||
excerpt:
|
||
tags:
|
||
rating: ⭐
|
||
status: inprogress
|
||
destination:
|
||
share: false
|
||
obsidianUIMode: source
|
||
---
|
||
# GAS
|
||
|
||
# 战斗框架
|
||
- GA
|
||
- GE
|
||
- Task
|
||
- Cue:UX、特效、材质、音效
|
||
|
||
Ability => Task => GE =>Cue
|
||
|
||
## 功能拓展
|
||
传统数据表格无法满足所有配置。
|
||
|
||
### 数据配置
|
||
拆分成:
|
||
1. AbilityAesst:技能的基础框架性配置,涉及UI、输入、镜头等公共配置。
|
||
2. AbilityConfig:以InlineStruct内敛AbilityAesst内用于各个技能特殊的逻辑配置。
|
||
3. AbilityBP:技能关系,技能状态,类型标识等逻辑配置。
|
||
|
||
扩充AbilityTask:
|
||
ActivateAbility => 各种Task
|
||
|
||
### AbilityTemplate
|
||
ActivateAbility
|
||
PlayTimeLine
|
||
PlayProjectile
|
||
HitImpact
|
||
### TimeLine(技能编辑器)
|
||
实现了一个类似Montage的TimeLine资产来管理时间轴相关的技能、效果。将GE、Cue等其他所有东西都加入编辑器中。
|
||
|
||
### Buff系统
|
||
- Buff(实例Buff):配置生命周期、叠层、周期、脚本等、覆盖Effect模版配置。
|
||
- Effect(Effect模版):增益/减益类型、修改属性方式、阻塞/驱散关系等
|
||
- Status(底层细粒度状态控制):不可移动、不能跳跃、控制不同类型的状态等
|
||
|
||
1. Buff系统
|
||
1. 每个技能独立
|
||
2. 引用Effect
|
||
3. 1000+
|
||
2. Effect
|
||
1. 英雄共性效果
|
||
2. 引用Status
|
||
3. Status
|
||
|
||
### 特效表现
|
||
- CueDataProxy:Gameplay来传递额额外信息到GameplayCue。
|
||
- DataInterface:Niagara通过这个玩意来获取Gameplay层的底层数据。
|
||
#### 示例
|
||
qi
|
||
### 基建开发
|
||
#### 检测管线
|
||
新规则加入不会影响旧的检测配置。
|
||
|
||
# 预测机制
|
||
- FScopedPredictionWindows:通过构造与析构来标定预测逻辑的生命周期窗口。
|
||
- FpredictionKey:预测的唯一标识。
|
||
|
||
## 对Key进行层级分布
|
||
### 层级分布Key的好处
|
||
具备关联性。
|
||
|
||
### 回滚所有行为
|
||
- 可回滚
|
||
- 激活、结束等流程动作(结束)
|
||
- 冲刺位移等客户端输入行为(拉回)
|
||
- 法术场、召唤物等独立实体(销毁)
|
||
- 能量、弹药等主段消耗(重置)
|
||
- 不回滚
|
||
- 动画、特效、UI等纯表现行为
|
||
- 投射物、瞬时弹道(一次性) |