随笔分类 -  UEC++总结

1 2 3 下一页
一些UEC++常见API
GameInstance、SubSystem等
摘要:全局进行统一的生命周期管理 GameInstance、SubSystem等 阅读全文
posted @ 2025-10-24 10:56 偷懒的阿贤 阅读(4) 评论(0) 推荐(0)
封装操作为 UCommand对象,支持撤销/重做,进行命令封装
摘要:实现方式​​:封装操作为 UCommand对象,支持撤销/重做。 ​​应用场景​​: 蓝图交互:将玩家输入(如按键)封装为可执行命令。 撤销系统:支持移动、攻击等操作的回退。 ​​优势​​:解耦操作发起者与执行者,支持历史记录管理 。 阅读全文
posted @ 2025-10-24 10:54 偷懒的阿贤 阅读(3) 评论(0) 推荐(0)
通过 UInterface定义策略接口,不同子类实现具体逻辑
摘要:实现方式​​:通过 UInterface定义策略接口,不同子类实现具体逻辑。 ​​应用场景​​: 武器系统:物理/魔法/毒素伤害计算策略。 AI 行为:不同敌人的攻击策略动态切换。 ​​优势​​:算法可插拔,支持运行时动态替换 。 阅读全文
posted @ 2025-10-24 10:54 偷懒的阿贤 阅读(3) 评论(0) 推荐(0)
AI状态机等
摘要:实现方式​​:通过 UEnum定义状态,结合 Switch分支或状态机组件(如 GameplayTask)。 ​​应用场景​​: 角色行为:切换 Idle/Run/Attack 状态。 AI 决策:巡逻、追击、攻击等状态动态切换。 阅读全文
posted @ 2025-10-24 10:54 偷懒的阿贤 阅读(6) 评论(0) 推荐(0)
通过接口转换兼容不同模块的数据格式
摘要:实现方式​​:通过接口转换兼容不同模块的数据格式。 ​​应用场景​​: 第三方库集成:将外部 SDK 数据转换为 UE5 内部格式。 跨平台输入:适配不同设备的按键/触控事件。 ​​优势​​:解决接口不兼容问题,提升系统扩展性 。 阅读全文
posted @ 2025-10-24 10:49 偷懒的阿贤 阅读(5) 评论(0) 推荐(0)
通过 MediaPlayerFacade简化复杂子系统调用
摘要:​​实现方式​​:通过 MediaPlayerFacade简化复杂子系统调用。 ​​应用场景​​: 视频播放:统一接口管理解码、渲染、同步等底层逻辑。 多媒体模块:隐藏不同格式视频的解码细节。 ​​优势​​:降低模块间耦合,提供统一操作入口 。 阅读全文
posted @ 2025-10-24 10:49 偷懒的阿贤 阅读(6) 评论(0) 推荐(0)
使用 UFactory基类或 CreateDefaultSubobject()动态生成对象
摘要:实现方式​​:使用 UFactory基类或 CreateDefaultSubobject()动态生成对象。 ​​应用场景​​: 动态生成敌人:根据配置生成 AZombie或 ADemon。 武器系统:通过 UWeaponFactory创建不同武器类型。 ​​优势​​:封装对象创建逻辑,提升扩展性 。 阅读全文
posted @ 2025-10-24 10:47 偷懒的阿贤 阅读(4) 评论(0) 推荐(0)
通过 BP_GameState等中介者类集中管理交互逻辑
摘要:实现方式​​:通过 BP_GameState等中介者类集中管理交互逻辑。 ​​应用场景​​: 敌人数量同步:敌人销毁时通知 UI 和大门组件。 动态事件聚合:避免多个对象直接依赖,统一由中介者协调。 ​​优势​​:减少对象间直接耦合,简化交互逻辑 。 阅读全文
posted @ 2025-10-24 10:45 偷懒的阿贤 阅读(4) 评论(0) 推荐(0)
使用 Delegate(委托)和 MulticastDelegate(多播委托)实现事件监听
摘要:实现方式​​:使用 Delegate(委托)和 MulticastDelegate(多播委托)实现事件监听。 ​​应用场景​​: UI 更新:角色血量变化时触发 HUD 更新。 成就系统:监听玩家击杀事件并统计成就进度。 ​​优势​​:解耦事件发布者与订阅者,支持多对多通信 。 阅读全文
posted @ 2025-10-24 10:44 偷懒的阿贤 阅读(4) 评论(0) 推荐(0)
1基础的UActorComponent基类实现功能模块化
摘要:组件模式(Component Pattern)​​ ​​实现方式​​:通过 UActorComponent基类实现功能模块化,例如 USceneComponent(场景组件)、UStaticMeshComponent(静态网格组件)。 ​​应用场景​​: 角色能力系统:动态添加移动、技能、背包等组件 阅读全文
posted @ 2025-10-24 10:09 偷懒的阿贤 阅读(4) 评论(0) 推荐(0)
网络同步预测-Prediction
摘要:预测(Prediction) 是解决网络延迟问题、提升玩家操作流畅度的核心机制 客户端接收玩家输入玩家操作(如 WASD 移动、跳跃)被捕获为输入事件(FInputActionValue)。客户端本地预测执行客户端不等服务器响应,直接基于输入在本地模拟角色行为(如移动、动画播放),并立即更新画面。此 阅读全文
posted @ 2025-09-15 22:28 偷懒的阿贤 阅读(21) 评论(0) 推荐(0)
如果远程玩家过早结束异步任务,并且具有该集的任务仍在运行,则该任务被杀死-SetWaitingOnRemotePlayerData()
摘要:SetWaitingOnRemotePlayerData主要用于控制游戏模式是否等待远程玩家(通常是网络多人游戏中的客户端)的数据加载完成。 调用时,可以直接杀死该使用数据的任务 阅读全文
posted @ 2025-09-15 22:01 偷懒的阿贤 阅读(3) 评论(0) 推荐(0)
确定调用 TargetData是否已发送-CallReplicatedTargetDataDelegatesIfSet()
摘要:example: const bool bCalledDelegate = AbilitySystemComponent.Get()->CallReplicatedTargetDataDelegatesIfSet(SpecHandle, ActivationPredictionKey);if (!b 阅读全文
posted @ 2025-09-15 21:57 偷懒的阿贤 阅读(5) 评论(0) 推荐(0)
从客户端拿到缓存数据-ConsumeClientReplicatedTargetData()
摘要:1 阅读全文
posted @ 2025-09-15 21:53 偷懒的阿贤 阅读(4) 评论(0) 推荐(0)
用于在能力(Ability)成功获取目标数据(Target Data)后触发回调-AbilityTargetDataSetDelegate
摘要:主要作用当玩家或 AI 通过能力进行目标选择(例如点击地面、选择敌人等)并确认目标后,AbilityTargetDataSetDelegate 会被触发,将收集到的目标数据(FGameplayAbilityTargetDataHandle)传递给绑定的函数,以便能力执行具体的效果(如伤害、治疗、生成 阅读全文
posted @ 2025-09-15 21:50 偷懒的阿贤 阅读(8) 评论(0) 推荐(0)
控制能力任务(Ability Task)是否应该广播其委托(Delegates)-ShouldBroadcastAbilityTaskDelegates ()
摘要:ShouldBroadcastAbilityTaskDelegates 是 UAbilityTask 类中的一个虚函数,主要用于控制能力任务(Ability Task)是否应该广播其委托(Delegates)。该函数的默认实现返回 true,表示能力任务会正常广播委托。在某些特殊情况下,你可能需要重 阅读全文
posted @ 2025-09-15 21:40 偷懒的阿贤 阅读(3) 评论(0) 推荐(0)
将目标数据复制到服务器-ServerSetReplicatedTargetData()
摘要:ServerSetReplicatedTargetData 通常是一个自定义的服务器端 RPC(远程过程调用)函数,用于将目标数据(如瞄准目标、交互目标等)从客户端发送到服务器,并让服务器更新相应的复制变量,以便在多台客户端之间同步该数据。 阅读全文
posted @ 2025-09-15 21:38 偷懒的阿贤 阅读(6) 评论(0) 推荐(0)
GAS中,负责封装技能所影响的目标数据(如 Actor、位置、碰撞结果等)-FGameplayAbilityTargetData
摘要:example://FGameplayAbilityTargetData_SingleTargetHit 继承自FGameplayAbilityTargetData FGameplayAbilityTargetData_SingleTargetHit 是用于表示单一目标命中信息的目标数据结构,常用于 阅读全文
posted @ 2025-09-15 21:35 偷懒的阿贤 阅读(9) 评论(0) 推荐(0)
创建预测窗口-ScopedPredictionWindow();
摘要:ScopedPredictionWindow 是一个与网络预测(Network Prediction)相关的工具类,主要用于在多人游戏中管理预测窗口的生命周期,确保客户端预测和服务器验证的一致性。 网络预测上下文管理:在客户端预测期间,ScopedPredictionWindow 会创建一个临时的 阅读全文
posted @ 2025-09-15 21:22 偷懒的阿贤 阅读(4) 评论(0) 推荐(0)

1 2 3 下一页