UObject
前言本篇为对于大钊老师以及网上资料的对于Uobject 相关的反射底层实现与源码阅读。
https://zhuanlan.zhihu.com/p/22813908?refer=insideue4
https://www.bilibili.com/video/BV1bH4y1k7Wg/?spm_id_from=333.1391.0.0&vd_source=d19e47552f1614194f0d0b0662850083
开篇https://zhuanlan.zhihu.com/p/24319968
藉着UObject提供的元数据、反射生成、GC垃圾回收、序列化、编辑器可见、Class Default Object等,UE可以构建一个Object运行的世界。(后续会有一个大长篇深挖UObject)
其他引擎的对象模型情况Cocos系列,最早是cocos-iphone扎根于objective-c,几乎是机械翻译了objective-c的内存管理机制,搞出了一个CCObject
Unity 上层脚本C#是基于Mono
其他引擎,用的还是C++提供了的那些,顶多自己再定制一些管理辅助类 ...
UE Python
前言 python ue 自动化
本人在工作过程中需要去接入自动化流程,故撰写本篇。
(原生ue-Python真的好难用,悲)
文档Unreal 5.0 Python API
Unreal 4.27 Python 官方文档
如何在ue中使用python – PingCode
一、启动python插件你需要在Unreal Engine中启用Python插件。
打开Unreal Engine编辑器,进入项目。
选择“编辑”菜单,然后选择“插件”。
在插件窗口中,搜索“Python”。
启用“Python Editor Script Plugin”和“Sequencer Scripting”插件。
重新启动编辑器以使更改生效。
启用Python插件后,你就可以在Unreal Engine中使用Python脚本了。
二、执行pyhon脚本调成cmd模式
执行
py “O:\GR\GR_Thunk2\Tools\PbDelcare\RefreshVXCommon.py”
三、使用Python API
操作资产
你可以使用Python API来操作Unreal Engine中的资产,例 ...
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 = (RspSTime ...
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'
分区:/Game ...
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 数据结构
前言Lua5.4源代码剖析 - 知乎
https://blog.csdn.net/initphp/article/details/82703846
https://gitee.com/SimanX/lua-Chinese
数据类型有这些:
https://www.zhihu.com/column/c_1595011738562494465
nil、boolean、number、string、userdata、function、thread 和 table
动态弱类型语言在开始之前,我们先插入讲解一下什么是动态弱类型语言,先说一下这类语言的优缺点:
优点:对使用者来说方便阅读,不需要写许多类型相关的代码,变量不需要提前声明类型;
缺点:不方便调试,安全性比静态语言差。
TValueTValue是所有数据结构的基础,这边可以看到Value的结构
TValue中引用了TValuefields,它是一个宏定义,我们把宏展开可以把TValue看作如下代码:
12345678910typedef struct TValue { union Value { struct ...
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架构采自https://zhuanlan.zhihu.com/p/1092234798
UE几乎所有的对象都继承于 ...

