努力的小钟
码龄7年
求更新 关注
提问 私信
  • 博客:75,031
    社区:29
    75,060
    总访问量
  • 66
    原创
  • 292
    粉丝
  • 34
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
加入CSDN时间: 2019-07-07
博客简介:

m0_45371381的博客

查看详细资料
个人成就
  • 获得848次点赞
  • 内容获得11次评论
  • 获得869次收藏
  • 代码片获得104次分享
  • 博客总排名142,135名
  • 原力等级
    原力等级
    4
    原力分
    550
    本月获得
    0
创作历程
  • 2篇
    2026年
  • 63篇
    2025年
  • 1篇
    2023年
成就勋章
TA的专栏
  • UE 垃圾回收
    5篇
  • UE5 AI
    1篇
  • UE5 GAS AbilitySystemComponent
    4篇
  • UE5 GAS GameAbility
    5篇
  • GameplayTag
    1篇
  • UE5 GAS 预测框架
    1篇
  • UE GAS
    4篇
  • UE5
    7篇
  • C++
    10篇
  • UE UObject
    1篇
  • UE5 网络通信
    4篇
  • UE5 Lyra
    5篇
  • UE5指针
    1篇
  • UE5 项目开发遇到的问题
    1篇
  • UE5动画系统
    1篇
  • UE5GAS GameplayEffect
    3篇
  • UE5GAS GameplayTag
    1篇
  • UE5 Gameplay
    1篇
  • lua
    7篇

TA关注的专栏 5

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

兴趣领域 设置
  • Python
    pythondjango
  • 编程语言
    c++lua
创作活动更多

1024 程序员节 · 高效创作之道活动征文

1024 程序员节来啦!今年我们邀请你用创作记录高效之道——**写一篇博文,分享你的创作经验、效率技巧或技术干货**,就有机会获得专属好礼。 **特别玩法**: - 🏆 一二三等奖不限方向,自由创作与墨衍相关创作均可参评——自由创作方向获奖者拿**卫衣/马克杯/流量券** - ✨ 如果你在创作中体验了**墨衍**(AI 创作、多平台同步、GEO 检测)并写下真实体验,你的投稿将进入**「墨衍专属创作奖」独立评审赛道**——按墨衍结合深度等专属标准**优中选优**,再拿 7 天体验卡! - 🎁 一二三等奖中的墨衍方向获奖者,同步获得墨衍 7 天体验卡! 创作方向 ### 🚀 墨衍相关创作(推荐 · 专属奖独立评审赛道) - **墨衍使用体验**:AI 创作 / 多平台同步 / GEO 检测的真实体验复盘 - **墨衍场景教程**:选题 → AI 写文 → 多平台同步 → GEO 优化一站式实操 - **墨衍 × 多平台分发**:一次创作多平台发布的效率对比与数据复盘 - **墨衍 × 1024 案例**:用墨衍辅助完成一篇 1024 主题文章的完整过程 > 投稿即进入「墨衍专属创作奖」独立评审赛道(10 名 · 7 天体验卡),不与一二三等奖合并评选,优中选优! ### ✍️ 自由创作(不限题材) 技术干货、职业成长、行业观察、程序人生……符合社区规范即可。

1324人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

UObject创建系统深度分析

工厂模式:StaticConstructObject_Internal作为对象工厂建造者模式:FObjectInitializer作为参数建造器策略模式:多种内存分配策略观察者模式:对象创建事件广播。
原创
博文更新于 2026.01.23 ·
620 阅读 ·
13 点赞 ·
0 评论 ·
23 收藏

Unreal Engine UObject 注册机制

本文档详细说明了 Unreal Engine 中 UObject 对象如何注册到全局对象数组 GUObjectArray 的核心机制。这是 Unreal 垃圾回收和对象生命周期管理的基础,理解此流程对于掌握 Unreal 内存管理和对象系统至关重要。所有 UObject 实例都由全局数组统一管理线性数组提供了最佳的遍历性能精心设计的锁机制支持多线程对象创建索引重用、紧凑存储和分块数组优化内存使用监听器系统和远程对象支持。
原创
博文更新于 2026.01.22 ·
623 阅读 ·
17 点赞 ·
0 评论 ·
8 收藏

UE5 AI行为树源码解析(Composites)

的核心组件,常用于决策逻辑如:“优先攻击,如果不能攻击就移动,如果都不能就待命”。这种设计模式使得 Selector 成为行为树中实现。的复杂AI场景,如边移动边搜索、边攻击边播放特效等。SimpleParallel 适用于需要。SimpleParallel 节点允许。Selector 节点按照。Sequence 节点按照。
原创
博文更新于 2025.11.05 ·
1318 阅读 ·
8 点赞 ·
5 评论 ·
29 收藏

AbilitySystemComponent 源码解析(二)

具体例子说明:1. 组件生命周期场景2. DestroyActiveState() 的详细作用3. 实际游戏中的应用场景4. 内存管理和资源清理5. 网络复制的清理6. 与BeginDestroy的配合7. 错误处理和健壮性这个函数虽然代码简单,但在Ability System Component的生命周期管理中起着至关重要的作用。它确保当组件不再需要时,所有相关的资源、技能、效果和网络连接都被正确清理,防止内存泄漏、网络问题和状态残留。这对于游戏的稳定性和性能非常重要,特别是
原创
博文更新于 2025.10.13 ·
483 阅读 ·
4 点赞 ·
0 评论 ·
3 收藏

AbilitySystemComponent 源码解析(一)

具体例子说明:1. 网络同步例子:2. 技能激活控制例子:3. GameplayTag系统例子:4. 技能执行锁定例子:这个构造函数主要初始化了Ability System的核心状态和配置,为后续的技能管理、效果应用、网络同步等功能奠定了基础。具体例子说明:1. 定义属性集类2. 创建数据表在编辑器中创建DataTable,包含属性初始值:4. 运行时效果初始化后:- 角色获得基础属性值- Ability System可以基于这些属性进行计算- Gameplay Eff
原创
博文更新于 2025.10.12 ·
844 阅读 ·
25 点赞 ·
0 评论 ·
13 收藏

AbilitySystemComponent_Abilities源码解析(一)

这个函数是GAS系统中Actor身份变化的核心处理点,确保当控制权或物理表现实体发生变化时,所有能力、效果和视觉表现都能正确迁移到新的Actor上,维持游戏状态的连贯性和正确性。这个函数是GAS系统在网络游戏中保持同步的关键机制,确保当控制权或Avatar在网络中发生变化时,所有客户端都能正确更新其本地状态,维持游戏的连贯性和一致性。这种设计使得属性系统既能够处理静态的属性值,也能够处理动态的、随时间变化的属性逻辑,为复杂的游戏机制提供了强大的支持。能够优雅地关闭,不会留下任何残留的效果或资源。
原创
博文更新于 2025.10.11 ·
1044 阅读 ·
29 点赞 ·
0 评论 ·
22 收藏

UE5 GAS GameAbility源码解析 EndAbility

用于需要网络同步的重要能力结束:用于本地化的、不需要同步的能力结束正确选择使用哪个函数对于多人游戏的网络同步和性能优化至关重要。
原创
博文更新于 2025.10.09 ·
945 阅读 ·
20 点赞 ·
1 评论 ·
21 收藏

UE5 GAS GameAbility源码解析 CancelAbility

1.可取消检查→ 2.范围锁检查→ 3.网络同步→ 4. 取消事件通知→ 5.正式结束能力这个设计确保了能力取消操作的安全性、网络同步性和可扩展性。
原创
博文更新于 2025.10.04 ·
1174 阅读 ·
9 点赞 ·
0 评论 ·
30 收藏

UE5 GAS GameAbility源码解析 ActivateAbility

→→负责状态设置、网络同步、标签管理根据能力类型调用具体的激活逻辑整个流程确保了能力的正确初始化、网络同步和资源管理。
原创
博文更新于 2025.10.02 ·
1016 阅读 ·
24 点赞 ·
0 评论 ·
13 收藏

UE5 GAS GameAbility源码解析 CanActivateAbility

/ ... 日志记录和标签处理作用:调用蓝图层的自定义检查逻辑允许设计师在蓝图中实现复杂的激活条件可以返回详细的失败原因标签例子只能在白天使用的技能需要特定装备才能使用的能力基于地形或位置的条件检查这个函数是一个综合性的能力激活条件检查器基础存在性→ 2.全局状态→ 3.能力状态→ 4.资源条件→ 5.标签系统→ 6.输入系统→ 7.自定义逻辑性能优化:早期失败避免不必要的计算模块化:每个检查环节独立且可扩展调试友好:详细的日志记录帮助排查问题灵活性:支持蓝图自定义扩展。
原创
博文更新于 2025.09.30 ·
887 阅读 ·
16 点赞 ·
0 评论 ·
14 收藏

Unreal Engine GameplayTag匹配功能详解

层级匹配:用于检查标签之间的父子关系精确匹配:用于检查完全相同的标签性能优化:通过标签节点和容器缓存提高匹配效率安全校验:确保只使用已注册的标签这种设计使得 GameplayTag 系统非常适合于游戏中的状态管理、伤害类型分类、技能系统等需要灵活层级关系的场景。
原创
博文更新于 2025.09.28 ·
695 阅读 ·
4 点赞 ·
1 评论 ·
11 收藏

UE5 GAS AbilitySystemComponent源码解析

是一个高度智能的路由函数。基本检查: 能力是否存在且可用?角色信息是否有效?→ 如果否,失败。网络权限检查: 当前机器对这个角色有控制权吗?→ 如果没有(是 SimulatedProxy),失败。能力执行策略路由情况A(本地能力 + 非本地调用者): 转发请求到正确的客户端。情况B(服务器能力 + 非服务器调用者): 在客户端预测检查,然后转发请求到服务器。情况C(调用者有权限): 直接执行。
原创
博文更新于 2025.09.26 ·
1334 阅读 ·
28 点赞 ·
1 评论 ·
27 收藏

UE5 GAS 预测框架解析

预测键匹配:客户端和服务器使用相同的预测键来标识相关操作作用域管理:通过FScopedPredictionWindow确保预测键的正确传播委托系统:使用委托来处理预测成功/失败的回调Delta预测:属性预测基于差值而非绝对值效果转换:瞬时效果在预测时转换为持续效果以便回滚选择性复制:预测键只复制给相关的客户端这个系统解决了网络游戏中的核心问题:让客户端能够预先执行操作,同时在服务器验证后能够正确协调客户端和服务器状态,提供流畅的玩家体验。
原创
博文更新于 2025.09.24 ·
881 阅读 ·
4 点赞 ·
1 评论 ·
7 收藏

UE5GAS GameAbility源码解析 CommitAbility

对于“火球术”这个技能,尝试提交:前摇动画结束,准备发射火球。最终检查:检查魔法值是否 >= 25?身上是否有“沉默”等阻止性标签?→如果否,失败返回,什么都不发生。执行消耗魔法值属性被减去 25,5秒冷却计时开始。蓝图事件:播放一个“法力消耗”的特殊音效。广播事件:UI 系统收到通知,立即更新魔法值显示。返回true,后续的技能逻辑(如生成火球投射物)继续执行。是 GAS 中保证状态同步和防止作弊的关键环节。解决时序问题:它解决了从技能激活 () 到资源消耗 (Commit) 之间的时间差。
原创
博文更新于 2025.09.23 ·
1332 阅读 ·
26 点赞 ·
0 评论 ·
28 收藏

UE5 GAS 技能系统解析:EGameplayAbilityTriggerSource 枚举详解

在 Unreal Engine 5 (UE5) 的游戏开发中,是一个强大而复杂的框架,用于构建诸如技能、攻击、被动效果等游戏玩法功能。一个核心的设计理念是事件驱动和状态驱动,即技能并非总是通过直接的函数调用激活,而是通过响应游戏内的各种变化来触发。枚举正是定义技能如何被触发这一规则的关键组成部分。它决定了监听何种游戏信号以及如何响应该信号。本文将结合具体实例,深入剖析这一枚举的每种类型及其应用场景。特性触发机制主动发送事件标签被添加的瞬间标签存在的期间数据传递支持(通过不支持不支持典型用例。
原创
博文更新于 2025.09.16 ·
1081 阅读 ·
13 点赞 ·
0 评论 ·
21 收藏

深入浅出:UE4类型系统完整构建过程详解

UE4的类型系统是一个复杂但设计精巧的架构,它通过静态代码生成和运行时构建的完美配合,实现了强大的反射功能。理解这个过程不仅有助于解决开发中的问题,也能让你更好地利用UE4的各种高级特性。就像建造一栋大楼需要经过设计、备料、框架、装修、验收等多个阶段,UE4类型系统的构建也是一个多阶段、精细化的过程。每个阶段都有其特定的职责,共同协作完成从源代码到运行时对象的转换。
原创
博文更新于 2025.09.14 ·
901 阅读 ·
19 点赞 ·
0 评论 ·
30 收藏

C++全局变量初始化流程详解

全局变量(包括static全局变量)的内存分配和初始化工作,是在main函数开始执行之前,由编译器、链接器和运行时库协同合作自动完成的。预处理 (Preprocessing)处理内容: 处理以**#开头的预编译指令,如#include**(头文件展开)、#define(宏替换)、#ifdef(条件编译)等。输出: 一个纯粹的**.i或.ii**文本文件,不含任何预编译指令。编译 (Compilation)处理内容: 将预处理后的源代码进行词法分析、语法分析、语义分析、优化,最终。
原创
博文更新于 2025.09.08 ·
1077 阅读 ·
16 点赞 ·
0 评论 ·
29 收藏

UE4/UE5反射系统动态注册机制解析

你可以把整个系统想象成一个不断扩大的拼图游戏静态收集:每个模块(DLL)就像一个袋子,里面装着一堆无序的拼图碎片(类信息)。每个袋子自己不知道整个图画的全貌。动态注册打开袋子:每当一个DLL被加(),就把这个袋子里的所有碎片倒在一张大桌子(全局链表)上。拼图:系统尝试从桌上的碎片中拼出完整的图。边缘碎片(父类、依赖类)必须先拼好,才能拼中间的碎片(子类)。等待:如果发现某块碎片(如)缺了它依赖的边缘碎片(ACharacter),就把它暂时放回桌上不动。新袋子:当新的DLL(如Engine.dll。
原创
博文更新于 2025.09.07 ·
1412 阅读 ·
14 点赞 ·
2 评论 ·
13 收藏

Unreal Engine 中 GameplayCue 的自动关联机制:插件资源路径配置指南

在 Unreal Engine 的 Gameplay Ability System (GAS) 中,GameplayCue 是处理技能特效、音效和视觉反馈的核心机制。本文将深入解析如何通过自动关联机制将 GameplayCue 资源与标签绑定,特别是当资源位于插件中的配置方法。实现资源与标签的自动关联维护跨项目的特效资产库构建模块化的技能系统架构使用具体资源路径而非插件根目录修改路径后需要重启或刷新资源库正确配置后,插件中的 GameplayCue 资源即可无缝集成到 GAS 系统中,通过。
原创
博文更新于 2025.07.02 ·
908 阅读 ·
23 点赞 ·
0 评论 ·
14 收藏

UE5 开发遇到的bug整理

原创
博文更新于 2025.06.23 ·
478 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏
加载更多