UE 联机
前言UE 中网络系统是重要一个部分,其中包括网络预测更为重要。DS就需要基于此去处理部分信息。
零、开篇省流第一篇使用 关键字回忆
帧同步和状态同步,UE5的CS架构(如DS)是状态同步
Player角色枚举 ENetRole
RPC :[Reliable]、HasAuthority()检测宇宙是否权威、xxx_Implementation执行、xxx_Validate 校验
属性复制 : [Replicated]、[ReplicatedUsing = OnRep_xxx ] 、注册属性复制 GetLifetimeReplicatedProps()–[DOREPLIFETIME]
组件属性复制:CombatComponent->SetIsReplicated(true); 构造函数中SetIsReplicatedByDefault(true);
第二篇预测
客户端提前预测:Ammo的属性复制和AmmoNetSequence(预测变更子弹数)
服务器权威 对表 HitBox 回滚判定
写入对表:计算时间
DTime = STime - CTime
= (RspS ...
UE Lyra
前言本篇为Lyra 的解析 目前解析了:
UI
Dash
UI 框架前言 UE5 Lyra项目UI框架拆解 - 知乎
Lyra项目中的UI功能主要由游戏UI管理子系统(GameUIManagerSubsystem),游戏UI策略(GameUIPolicy),游戏布局UI([PrimaryGameLayout]三个部分构成UI框架,CommonUI插件以及UIExtension插件负责UI层面的使用。
在插件中主要有三个类:
PrimaryGameLayout
GameUIManagerSubsystem
GameUIPolicy
与UI相关的类在Lyra项目中的继承关系如下:
GamePlay
B_LyraGameInstance(蓝图) -> LyraGameInstance -> CommonGameInstance ->GameInstance
LyraLocalPlayer -> CommonLocalPlayer ->LocalPlayer
LyraPlayerController -> CommonPlayerCont ...
UE基础
前言本篇为UE使用过程中关于某些API 或者 某些底层机制的Common处理,主要是工作时候的概念收集。
某些东西深入研究可以多开一篇文章。
FSoftObjectPath在 Unreal Engine(UE)中,FSoftObjectPath 是一种用于间接引用资产(Asset)的核心机制,它通过存储资源的路径字符串而非直接加载资源,实现按需加载和内存优化。以下是其核心概念、用法及技术细节:
🔍 一、FSoftObjectPath 核心概念
作用与原理
路径存储:存储资源的完整路径(如 StaticMesh'/Game/Meshes/Cube.Cube'),但不加载资源本身4,6。
按需加载:通过调用 TryLoad() 或异步接口显式加载资源,避免启动时内存占用过高。
软引用类型:属于软引用(Soft Reference),与硬引用(UObject*)相比,不强制资源常驻内存6。
路径格式解析 资源路径的典型结构:
[资源类型]’[分区]/[路径]/[包名].[对象名]’
示例: StaticMesh'/Game/Meshes/Cube.Cube ...
UE常见API
前言收集UE常见API.
本篇暂时为DeepSeek跑的样例。
API以下是将您提供的所有 UE4 C++ 代码片段整理成的 Markdown 表格格式:
🧩 核心类与宏定义
功能
代码示例
说明
蓝图可编辑类
UCLASS(Blueprintable)
使C++类可在蓝图中编辑
蓝图可生成组件
UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
组件可在蓝图中直接添加到Actor
蓝图识别变量
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "XXX")
变量在编辑器和蓝图中可见可编辑
范围限制
meta = (ClampMin=0.1, ClampMax = 100)
限制数值输入范围
蓝图调用函数
UFUNCTION(BlueprintCallable, Category = "XXX")
函数可在蓝图中调用
蓝图实现事件
UFUNCTION(BlueprintImplem ...
UE- Blast
前言_哔哩哔哩_bilibili
这边是Blaster 笔记 自己整理的有点杂乱 是本人 unity转ue的一个重要项目,
采用前视频后源码 去了解这个项目。
中间有其他资料与AI辅助。
插件编写(待)这边我先开盖即用插件
Play设置编译模式
模式
用途描述
编译特点
文件/性能特点
DebugGame
开发过程中进行调试。在游戏中设置断点、查看变量值以及代码调试。
以调试模式编译,包含调试符号(debug symbols)。
可执行文件较大且运行速度较慢。
Development
开发过程中进行内部测试和验证。相比DebugGame模式会进行更多优化,同时保留调试能力。
启用优化选项以提高运行性能,保留部分调试信息。
运行性能更高,但仍便于问题排查。
DebugGame Editor
在Unreal Editor中调试游戏功能(与DebugGame模式类似,但专用于编辑器环境)。
编译包含调试符号,便于在编辑器中调试。
可执行文件较大,运行效率较低。
Development Editor
在Unreal Editor中进行开发测试。优化编辑器运行性能,同时保 ...
Lua 5.4 数据结构
前言数据类型有这些:
nil、boolean、number、string、userdata、function、thread 和 table
动态弱类型语言在开始之前,我们先插入讲解一下什么是动态弱类型语言,先说一下这类语言的优缺点:
优点:对使用者来说方便阅读,不需要写许多类型相关的代码,变量不需要提前声明类型;
缺点:不方便调试,安全性比静态语言差。
TValueTValue是所有数据结构的基础,这边可以看到Value的结构
TValue中引用了TValuefields,它是一个宏定义,我们把宏展开可以把TValue看作如下代码:
12345678910typedef struct TValue { union Value { struct GCObject gc; / collectable objects */ void p; / light userdata / lua_CFunction f; / light C functions / lua_Integer i; / integer num ...
UMG
前言Unreal Engine重要概念 - UMG(Unreal Motion Graphics)
Unreal Engine重要概念 - UMG(Unreal Motion Graphics) - 知乎
基本信息1. 控件(Widgets)控件是 UI 的基本单位,就像拼积木一样:
控件名称
说明
常见用途
Text
显示一段文字
显示血量、任务说明、名字等
Image
显示图片或图标
技能图标、头像、背景等
Progress Bar
进度条,可以用来显示某个数值变化的条
血条、经验条、技能冷却条
Button
可以点击的按钮
菜单选项、对话选项
Canvas Panel
允许你自由定位其他控件
通常用于主界面、HUD 布局
Vertical Box / Horizontal Box
用来垂直/水平排列控件
对话选项、物品列表、任务列表
Overlay
控件层叠显示(上下叠加)
技能图标 + 冷却进度 + 数量
2. 层级结构(控件树)UMG 的界面是“树形结构”的,最外层是容器(比如 Canvas Panel),内部再嵌套各种控件。
比如一个 ...
UE GamePaly架构
前言本文为大钊老师的学习UE4GamePlay架构的笔记以及阅读UE5.6的笔记,以下为自己的阅读笔记,本人熟悉unity引擎,以unity引擎角度去阅读这篇文章。
《InsideUE4》目录 - 知乎
写给Unity开发者的Unreal Engine开发指南 (扫盲) - 知乎
Unity和UE5对比,以及踩坑记录 - 知乎
(注:本人现在是UE入门初学者,第一遍阅读粗略看基础架构)
开篇这边有一些准备链接
官方文档
UnrealEngine官方文档
视频平台
UnrealEngine官方Youtube频道
UnrealEngine官方优酷频道
Github地址
UnrealEngine官方Github地址
注意:因为UnrealEngine只是公开源码,但不是开源项目,依然是个私有项目。访问该Github地址,需要先链接你的Github到EpicGames的会员权限里,这个文档Linking your Github account说明了步骤。
一段话解释GP架构虚幻引擎的Gameplay框架是一套模块化的类集合,为游戏开发提供了结构化基础。它通过一组相互配合的核心类来管 ...
ECS
以下是GDC 2017上《》团队关于ECS(Entity-Component-System)架构的核心内容解析,综合多篇技术文档与开发者总结:
🧩 一、ECS架构的核心设计
基本概念
Entity(实体):仅作为唯一标识符(32位ID),用于管理生命周期和关联组件,不包含任何逻辑或数据。
Component(组件):纯数据容器,例如位置、输入状态、生命值等。组件无行为逻辑,仅定义实体的属性切片。
System(系统):无状态处理器,根据特定组件组合筛选实体并执行业务逻辑(如物理模拟、伤害计算)。
与传统OOP的对比
解耦优势:传统面向对象模型中,游戏对象(GameObject)聚合过多属性,导致模块耦合度高(如网络同步需处理无关的渲染数据)。ECS通过组件动态组合,使系统仅关注所需数据(如AFK系统仅需“连接组件+输入组件”,忽略AI机器人)。
性能优化:避免空Update调用,减少冗余计算。System仅遍历符合组件条件的实体,提升CPU缓存命中率。
⚙️ 二、关键技术与实践演进
Singleton Component(单例组件)
问题:全局状态(如玩家输入)需 ...
TCP与UDP
前言更改了计算机网络篇章,并整理更细化篇章tcp-udp独立一章了。
4.1 TCP 三次握手与四次挥手面试题 | 小林coding
TCP与UDP的区别
区别
UDP
TCP
是否连接
不连接
面向连接
是否可靠
不可靠
可靠传输(传输过程中会丢失,但会重发)使用流量控制和拥塞控制
连接对象个数
支持一对一,一对多,多对一,多对多交互通信。
仅支持一对一通信。
传输方式
面向报文
面向字节流
数据边界
保存数据边界
不保存数据边界
速度
速度快
速度慢
发送消耗
轻量级(因为 UDP 传输的信息中不承担任何间接创造连接,保证交货或秩序的信息。这也反应在包头大小。)
重量级
首部开销
首部开销小,仅8个字节
首部开销大,最小20字节,最大60字节。
有序性
不提供有序性的保证
TCP 保证了消息的有序性,即使到达客户端顺序不同,TCP 也会排序。
应用场景
IP电话,视频会议,直播,以及FPS竞技类的使用UDP帧同步。
要求可靠传输的应用例如文件传输,以及MMO类的TCP状态同步。
TCP基本格式
序列号:在建立连接时由计算机生成的随机 ...

