博客导览
前言写了一篇博客导览,方便后续本人使用。
杂乱小面筋 :面筋
语言基础
C#: C# 高级语法 , 关于CLR模型-GC
C++: c++ 和c11 , C++ 之STL , 关于类与对象
lua: unity热更新Lua
408基础
计算机网络:计算机网络基础 , TCP与UDP
OS:OS
Unity相关
基础与理论:
unity基础:unity引擎基础
3d数学:unity 3d数学理论
UGUI基础:UGUI问答
热更新AB:unity热更新AB包
代码与框架:
设计模式:设计模式 , 游戏设计模式 , FSM ObjPool ,IOC容器-Springboot
UI手机适配:UI手机适配
红点系统:Unity红点系统
物理 :关于游戏物理实现
帧同步:帧同步和状态同步
性能优化:
UI性能优化:unity UI优化 ,UGUI 优化- DrawCall ,OverDraw ,源码角度分析Rebuild和Rebatch
图形学相关 : unity Bulid-in 渲染管线
3 ...
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 联机
前言(99+ 封私信 / 80 条消息) UE多人联机入门笔记(一) - 知乎
https://zhuanlan.zhihu.com/p/719982909
一、同步帧同步和状态同步(99+ 封私信 / 80 条消息) 【网络同步】浅析帧同步和状态同步 - 知乎
需要说明的是,由于状态同步的安全性比帧同步高很多,且对网络延迟有较大容忍,FPS普遍采用状态同步的方案,而UE作为射击游戏发家的引擎,其提供的rpc也是为状态同步设计的,所以本笔记和项目是基于状态同步方案实现的,此外本笔记所有功能基于AActor,其他类型(F类)可能需要另外实现。
ue角色的联机属性:拆分了权威服务器后,我们宇宙中的角色就可以分成三种:
权威服务器(server)上的角色,该角色不管是不是这个宇宙真正的主人(即房主),都是最权威的,权威服务器的运行代码说B左移50米,不管 B宇宙中的真B 此刻可能是往右移了50米,所有宇宙的B都是左移50米,且B宇宙中的真B也会因”不可抗力”左移到权威服务器说它应该在的位置。
普通客户端(client)上的正在操纵的角色,也就是A宇宙中的A,B宇宙中的B。
普通客户端(cl ...
UE基础
委托代理(99+ 封私信 / 80 条消息) 一文理解透UE委托Delegate - 知乎
数学欧拉角:
FRotator:
pitch():俯仰,将物体绕X轴旋转(localRotationX)
yaw():航向,将物体绕Y轴旋转(localRotationY)
roll():横滚,将物体绕Z轴旋转(localRotationZ)
UE底层能把欧拉角转换为四元数 以免万向节
UE默认旋转顺序为 Yaw → Pitch → Roll
四元数封装在 **FQuat**中
FQuat::Slerp():球面插值(平滑角速度)。
FQuat::FastLerp():快速线性插值(性能优化,轻微精度损失)
UE Lyra
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 -> CommonPlayerController -> ModularPlayerContr ...
UE常见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(BlueprintImplementableEvent) void OnTest();
蓝图实现C+ ...
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源代码剖析 - 知乎
基本架构
以下是Lua 5.3.5源码在src目录下的代码结构整理,分为三大部分:虚拟机核心功能、源代码解析和预编译、内嵌库。每个部分包含核心文件及其作用说明,便于快速理解Lua源码的组织架构。
一、虚拟机核心功能部分负责Lua虚拟机的核心运行机制,包括内存管理、垃圾回收、字节码执行等。
文件
作用
lapi.c
提供C语言接口,实现Lua与C的交互
ldebug.c
Debug接口,支持断点、堆栈跟踪等调试功能
ldo.c
管理函数调用栈和协程栈
lfunc.c
管理函数原型(Proto)和闭包(Closure)的创建与销毁
lgc.c
垃圾回收机制(GC),包括标记-清除算法和分代回收策略
lmem.c
内存管理接口,负责动态内存分配与释放
lobject.c
对象操作函数,处理Lua中所有数据类型的通用操作(如类型判断、值转换)
lopcodes.c
定义虚拟机字节码的操作码(OpCode)及其编码格式
lstate.c
管理全局状态机(lua_State),维护运行时环境、注册表等全局信息
...
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),内部再嵌套各种控件。
比如一个 ...
InsideUE4之GamePlaye架构
前言在https://bcnn75axgqdf.feishu.cn/wiki/QmZcw3buCiMHkKk39bwceRhhn1g?from=from_copylink 更新
本文为大钊老师的学习UE4GamePlay架构的笔记以及阅读UE5.6的笔记,以下为自己的阅读笔记,本人熟悉unity引擎,以unity引擎角度去阅读这篇文章。
《InsideUE4》目录 - 知乎
写给Unity开发者的Unreal Engine开发指南 (扫盲) - 知乎
(99+ 封私信 / 80 条消息) Unity和UE5对比,以及踩坑记录 - 知乎
(注:本人现在是UE入门初学者,第一遍阅读粗略看基础架构)
开篇这边有一些准备链接
官方文档
UnrealEngine官方文档
视频平台
UnrealEngine官方Youtube频道
UnrealEngine官方优酷频道
Github地址
UnrealEngine官方Github地址
注意:因为UnrealEngine只是公开源码,但不是开源项目,依然是个私有项目。访问该Github地址,需要先链接你的Github到EpicGames的会 ...