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