Lyra 设置界面 3 小结一下
设置界面的基础流程跑起来了,大部分类应该都碰了一下,选中做一个整体的规划。 设置相关文件和类 首先是GameSettings 插件。 插件根目录是一堆GameSettings的子类。 整个设置界面拥有一个数据结构,他是 UGameSettingRegistry 的子类。 这个类拥有一个无限嵌套的树结构,例如总设置分为游戏设置,视频设置,音频设置。 视频设置下面又有分辨率,画质等。 每一个节点都是一…
Lyra 设置界面 开发记录 2
前面把性能显示面板做出来了。 要开始设置界面了。 W_SettingsPanel /Game/UI/Settings/W_SettingsPanel.W_SettingsPanel 这是设置界面一个分页的Panel。这个蓝图的父类是插件里面的 GameSettingPanel。我们先暂时当黑盒。 这个界面有一个进入UI的动画,我们回头做。 左侧的设置项目,是一个 GameSettingListVi…
Lyra 设置性能界面 开发记录 1
LyraTabListWidgetBase 设置界面 头上的三个TAB FLyraTabDescriptor 是每个TAB的数据结构 实现 ULyraTabButtonInterface 接口的可以设置 Tab详情 ULyraTabListWidgetBase => UCommonTabListWidgetBase => UCommonUserWidget ULyraTabListWi…
LyraLog26 继续修开火
继续修我们的开火。 仍然有很多问题。 /Game/Weapons/B_Weapon.B_Weapon 输入调用到这里的fire函数,这里还有很多蓝图刚好没崩,要仔细搞一下。 回顾1-对于预测的key void UEqZeroGameplayAbility_RangedWeapon::LogNetModeAndPredictionKey(const FString& FunctionName…
Lyra UI 继续
ESC 界面 void UEqZeroHUDLayout::NativeOnInitialized() { Super::NativeOnInitialized(); // 注册 ESC 事件 // Plugins Common UI Input Settings 里面配置一下Tag和触发按钮,lyra是ESC和手柄按下遥感 RegisterUIActionBinding(FBindUIActio…
GAS 预测的回滚-初稿
省流 客户端生成 FPredictionKey,立即本地执行,同时用 RPC 告知服务器——所有副作用(GE/Cue/属性)都绑定这个 Key 服务器验证后,把这个 Key 写入 FReplicatedPredictionKeyMap 复制下来——客户端 OnRep 触发 CatchUpTo,清理预测副作用,由服务器权威状态接管 若服务器拒绝,发 ClientActivateAbilityFail…
Lyra GAS预测翻译
原文来自 Engine/Plugins/Runtime/GameplayAbilities/Source/GameplayAbilities/Public/GameplayPrediction.h 做一个翻译和注解 概述 在 GameplayAbility 层面(实现某个 Ability 时),预测是透明的。一个 Ability 只需描述"执行 X→Y→Z",系统会自动对其中可…
UE 网络笔记2
本文由AI编写 Actor 所有权(Ownership)与相关性(Relevancy) 所有权链(Owner Chain) Ownership 决定了 RPC 路由和 COND_OwnerOnly 属性的目标。 PlayerController (PC) └── Pawn (PC->Possess(Pawn) → Pawn->Owner = PC) └── WeaponActor (W…
UE 网络笔记1
概述 https://www.cwlgame.cn/2024/06/27/ue-%e7%bd%91%e7%bb%9c%e5%88%9d%e5%a7%8b%e5%8c%96%e6%b5%81%e7%a8%8b/ 以前写的 本文主要由AI编写 核心分层 ┌────────────────────────────────────────────────────────────────────┐ │ 游戏…
UE Gameplay 主要的几个类
https://www.bilibili.com/video/BV1dtrpBoERt 省流 游戏运行时有一个GameEgnine的实例。他会创建一个GameInstance。 在加载地图的时候,调用到 Engine->Brose,会从磁盘加载一个UPackage 从中获得一个World对象。 World初始化流程中会创建地图中的Actor,包括GameMode也是Actor。然后执行三个初…