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等纯表现行为
|
|||
|
- 投射物、瞬时弹道(一次性)
|