自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 Shared_ptr手撕代码

【代码】Shared_ptr手撕代码。

2025-03-14 22:12:16 54

原创 线程池C++实现

线程池代码实现(经deepseek修改补充)

2025-03-07 22:05:18 168

原创 设计模式-抽象工厂伪代码

信息来源:https://refactoringguru.cn

2025-02-06 05:57:46 262

原创 GE Execution Calculations -Damage

Execution Calculations是Unreal Engine中Gameplay Effects系统的一部分,用于在Gameplay Effect执行期间进行自定义的计算和逻辑操作。它允许开发者根据特定的游戏需求,灵活地处理和修改游戏中的属性(Attributes)。功能强大且灵活:与ModifierMagnitudeCalculation类似,Execution Calculations可以捕获Attribute,并可选择性地为其创建Snapshot。

2025-02-06 02:07:24 865

原创 虚函数表机制

若基类的析构函数不是虚函数,通过基类指针删除派生类对象时,,导致派生类资源泄漏。因此,基类应定义虚析构函数。每个对象实例化时,编译器会在其内存开头插入一个。虚函数表是 C++ 实现。,指向所属类的虚函数表。

2025-01-30 03:33:21 930

原创 面向对象设计:SOLID 原则

SOLID 原则是面向对象设计的核心,帮助构建高内聚、低耦合的代码。C++ 实现关键点使用虚函数和纯虚接口实现多态。通过组合和依赖注入替代继承。注意内存管理(如智能指针实际开发建议:根据需求灵活权衡设计,避免过度工程化。

2025-01-30 02:00:11 433

原创 简单的对象池了解

这个模板类为你提供了一个简单而有效的对象池管理机制,可以用于管理动态材质实例或者其他类型的对象。对象池的使用能够有效优化内存分配,提高程序的性能,特别是对于大量重复使用的对象。

2025-01-25 22:25:12 126

原创 远程PC交互

远程PC(远程计算机)之间的交互可以通过多种方式实现,通常根据应用场景和需求选择不同的技术和协议。下面是几种常见的远程交互方式和它们的工作原理:RDP(Remote Desktop Protocol) 是一种常见的技术,可以让用户从远程PC控制另一台计算机的桌面,几乎像是在本地操作一样。工作原理:优点:缺点:SSH 是一种加密的远程终端访问协议,通常用于通过命令行界面远程访问和管理计算机。工作原理:优点:缺点:VPN 是一种将远程计算机与局域网(LAN)连接的技术,使得远程PC仿佛在同一个局域网内,可以访问

2025-01-25 05:03:58 803

原创 受击反馈HitReact、死亡效果Death Dissolve、Floating伤害值Text(末尾附 客户端RPC )

由于它一个角色对应一个单例,每次触发都是相同的实例,所以,我们需要在其播放完成后,将其结束,才可以重新触发,然后,在敌人的受击动画播放完成后,我们需要将敌人身上的受击标签清楚(如果GE添加的,只需要将对应的GE清除,标签也会随着清除)并结束技能。现在有个问题,就是我们是通过在AttributeSet里面通过元属性获取到当前的伤害的,它是在服务器上运行的,因此,我们要实现在AttributeSet里面去调用函数生成,并且,还需要获取到玩家控制器,因为你需要将数值显示给玩家查看得,所以,我们。

2025-01-25 03:20:53 1353

原创 使用元属性(Meta Attributes)和SetbyCaller修改伤害

通过使用元属性来进行伤害计算和属性修改,我们能够将复杂的计算逻辑从客户端转移到服务器端,减少了计算量并提高了游戏的整体效率。元属性不仅可以有效缓解服务器和客户端之间的计算负担,还可以确保游戏机制的准确性与一致性。

2025-01-25 00:22:06 526

原创 GameplayEffect 简单了解

自定义能够应用GE的组件,可以自定义条件来设置应用是否成功。

2025-01-24 01:45:25 786

原创 .gitignore 文件的使用

gitignore是一个非常重要的工具,用于排除不必要的文件,确保 Git 仓库仅包含源代码和必要的文件。使用合适的规则和模板,避免将临时文件、编译文件或本地配置文件提交到版本控制中。为不同的开发环境和工具选择适合的.gitignore配置,减少冲突和混乱。。

2025-01-24 00:10:54 1100

原创 导入与导出CurveTable CSV 和 JSON

5. 若是Blueprints中不存在CurveTable 需外导入CSV/JSON (点击图中的 '导入' 选择对应的文档..3.将其CSV存入Data文件后打开的样子Excel。1.创建空文件夹Data 在项目文件中用于储存CT。(其中JSON 保留了Cubic 三次切线 较CSV好一点)4.JSON 打开的样子 记事本。2.导出为 CSV /JSON。(警惕导入操作不可撤销)

2025-01-23 22:37:04 202

原创 UE5 GAS RPG Character Classes

在正常的游戏中,我们应该考虑如何去初始化角色属性,并且要给角色分好类型。比如,在我们游戏中,我们如何去初始化小兵的属性,并且还要实现小兵随着等级的增长而增加属性。首先,我们考虑将创建数据放在哪里,这里我们将其放到GameMode上面,对于GameMode来说,在不同场景可以设置不同的GameMode,刚好合适,比如你创建了一个关卡,可以设置上对应的数据,关卡内的敌人初始化时,就使用这一套GE去初始化。创建完成对应的GE,我们并使用数据表格填充了对应的数据,接下来,我们将通过代码实现对应的逻辑去初始化角色。

2025-01-23 22:03:19 297

原创 简单的实现Visibility和Ghost ProgressBar

图解。

2025-01-23 03:35:45 218

原创 简单的委托传Data

在设置这个WidgetController之后会触发 (BlueprintImplementableEvent)WidgetControllerSet()第一步用Cast to去强制转换成目标UObject或它的BP蓝图类 用于索引到需要的委托广播event。接下来在使用这两个委托变量去广播Data之前先设置SetWidgetController。已知在OverlayWidgetController.h头文件中有自定义委托。在目标UObject 的头文件中包含该头文件并且定义两个委托变量。

2025-01-23 02:14:45 119

原创 ECC和ECR

在 Unreal Engine 中,ECC和ECR都与碰撞系统相关。它们用于指定和处理碰撞的类型和响应。

2025-01-22 00:32:55 378

原创 RPC同步销毁对象(已修改)

修改原因:本人机子较差,多个客户端测试时容易’吞子弹‘,故此处不进行强制的RPC同步销毁!!!

2025-01-21 23:28:48 412

原创 UFUNCTION 集

。。。

2025-01-21 22:27:24 165

原创 UE5_GameplayPrediction.h 源码

【代码】UE5_GameplayPrediction.h 源码。

2025-01-20 22:36:18 87

原创 Prediction in GAS

这段代码实现了一个类,该类负责处理鼠标位置相关的目标数据,并通过将数据同步到服务器。它还包括客户端预测和回滚机制,以减少延迟并保证客户端和服务器状态的一致性。客户端预测(Client Prediction)在中使用 FScopedPredictionWindow来进行客户端预测,允许客户端在数据未完全同步的情况下,提前执行某些操作,减少延迟。客户端提前预测了能力执行(如目标选择),并通过向服务器发送目标数据。本代码示例展示了如何在中使用实现客户端预测和回滚。通过。

2025-01-20 22:18:08 632

原创 UE5_GameplayAbility.h 源码解析

CallActivateAbility() - 做一些激活前的工作,然后调用ActivateAbility()CommitAbility() - 提交资源/冷却时间等 ActivateAbility()必须调用这个函数。ActivateAbility() - 激活GA事件回调 在GA激活后 可以实现自定义逻辑 在子类中覆盖。实例化 支持非实例化(本地)每个所有者实例化,每次执行均实例化(默认)EndAbility() - 这个函数是自身调用GA结束。输入绑定GA 激活 应用GA。

2025-01-20 18:54:36 218

原创 UE5_AbilitySystemComponent.h 源码

【代码】UE5_AbilitySystemComponent.h 源码。

2025-01-20 18:48:09 149

原创 C++11 primer 2. Template

模板参数列表模板参数表示在类或函数中用到的类型或值。当使用模板时,(隐式或显示地)指定模板实参绑定到模板参数上。

2024-04-28 22:04:37 217

原创 C++11 primer 1. Interitance

面向对象程序设计(object-oriented programming)的核心思想是数据抽象继承动态绑定。基类通常需要定义一个 虚析构函数 用于对析构函数的动态绑定。被用作基类的类 必须是已经定义的若非仅仅声明… …(待补充?派生类必须使用基类的构造函数初始化它的基类部分,每个类必须初始化自己的成员。//构造函数其中的Quote(book , p) 注明派生类狗造函数想要使用基类的构造函数可以用 基类名(实参列表) 的形式提供初始值。首先初始化基类部分,然后按声明顺序初始化派生类成员。

2024-04-20 18:04:20 624 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除