自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 虚幻网络执行宏-核心作用是根据网络环境中的不同执行环境

这段蓝图是一个宏(Macro)定义,其核心作用是根据网络环境中的不同执行环境(例如:是否有网络权限、是否为本地控制、是否为服务器或客户端)进行条件分发执行。

2025-06-04 13:45:55 534

原创 虚幻UNLUA 提供了高效的C++与Lua绑定机制,减少跨语言调用的性能损耗

UNLUA 的绑定机制通过 预生成代码、类型映射优化 和 缓存策略,将跨语言调用的开销降至最低。避免运行时反射,直接通过静态绑定代码调用。最小化数据复制和栈操作,提升参数传递效率。与虚幻引擎深度集成,支持原生类型和 UObject 系统。这种设计使得 UNLUA 特别适合对性能敏感的模块(如战斗、AI),既能享受 Lua 的灵活性和热更新能力,又能接近 C++ 的原生性能。

2025-04-07 12:29:06 824

原创 C++实例经典的动态规划

上述解法的时间复杂度为 O(n²),还可以通过 贪心+二分查找 优化到 O(n log n)。

2025-04-06 01:05:39 328

原创 虚幻引擎5中使用Gameplay Ability System(GAS)实现状态切换和BUFF

用途:标识角色状态(如 State.SpeedUp、State.Defense)。操作:StateSpeedUpDefense在Gameplay Effects和Abilities中通过Tag检查状态。通过结合Gameplay Tags、Effects和Abilities,GAS提供了灵活的状态管理和BUFF系统,适用于复杂的技能和状态交互场景。参考官方示例(如Action RPG)能更深入理解实际应用。

2025-04-06 00:42:51 553

原创 虚幻MVC/MVVM设计模式实现与应用

MVC中的Model负责数据,View负责显示,Controller处理用户输入和业务逻辑。数据存储在GameInstance或GameState中(Model),UI控件作为View,PlayerController或Widget的蓝图作为Controller。UE本身并没有严格强制使用MVC或MVVM,开发者需要自行实现这些模式。例如,UMG中的Widget可以视为View,而数据可能需要通过绑定到某个数据源(Model),然后通过中间层(ViewModel或Controller)来更新。

2025-03-31 15:30:08 727

原创 学习虚幻GAS技能系统——序章

通过以上步骤,你可以逐步掌握 GAS 的核心机制,并在实际项目中实现复杂的技能系统和状态管理。

2025-03-24 22:29:04 991

原创 虚幻网络回滚开发思路

网络架构设计是基础,必须明确客户端-服务器模型,确定哪些逻辑在服务器执行,哪些在客户端预测。然后是同步机制,包括帧号同步、输入同步、状态同步,这些是回滚的关键。接着是攻击与防御逻辑的具体实现,包括碰撞检测、伤害判定、特效播放。最后是回滚机制本身,如何存储历史状态,验证结果,并修正客户端状态。1.搭建基础框架:创建RollbackComponent、同步GameState。2.实现输入同步:记录攻击/防御输入到历史。3.攻击碰撞检测:单帧激活碰撞盒,服务器验证。

2025-03-23 18:36:42 966

原创 虚幻网络同步机制中的两个核心类

GameMode是服务器端的权威对象,负责游戏规则和逻辑,而GameState是同步到所有客户端的,用来保存游戏的状态信息。所以,如果客户端需要访问某些数据,比如分数、时间等,这些数据应该存储在GameState中,而不是GameMode,因为GameMode只在服务器存在,客户端无法直接访问。UCLASS()public:// 需要同步的变量// 设置属性复制规则// 注册 GlobalScore 为同步变量场景推荐方案代码示例客户端需要读取全局状态。

2025-03-21 23:12:54 973

原创 解析虚幻联网机制和游戏中如何实现网络同步

这文章聊一聊虚幻虚幻引擎网络机制及实现网络同步的原理虚幻引擎的网络同步机制通过Actor复制、属性同步与RPC实现高效的多玩家交互。开发者需结合服务器权威原则、权限控制及延迟补偿技术,确保游戏状态的全局一致性。实际开发中,应针对不同场景选择同步策略,并通过优化带宽与性能提升玩家体验。

2025-03-20 17:00:16 921

原创 在虚幻引擎编程中使用TypeScript脚本

在虚幻引擎(Unreal Engine)中,官方并未原生支持 TypeScript (TS),但可以通过第三方插件或工具实现类似功能(如使用 Puerts 或 Unreal.js)。通过上述方法,你可以在虚幻引擎中结合 TypeScript 进行开发,享受静态类型和现代语法带来的便利,同时利用 UE 的强大功能。

2025-03-20 15:58:39 1253

原创 在游戏开发中的单例模式深度解析(单例模式)

在游戏开发中,单例模式(Singleton Pattern) 是一种创建型设计模式,其核心目标是确保一个类只有一个实例,并提供全局访问点。尽管单例模式因潜在缺点(如全局状态污染)而备受争议,但在管理全局资源、统一服务访问等场景中,它仍被广泛使用。适用场景:全局服务、资源管理、跨系统协调。避免场景:频繁变化的业务逻辑、需高测试性的模块。关键原则:“如无必要,勿增单例” —— 在追求代码简洁性、可维护性和可测试性的前提下,谨慎评估是否真正需要单例模式。

2025-03-17 14:04:15 899

原创 在游戏开发中的观察者模式深度解析(观察者模式)

在游戏开发中,观察者模式(Observer Pattern) 是一种事件驱动的设计模式,它通过定义对象间的一对多依赖关系,实现当一个对象(被观察者)状态变化时,自动通知并触发所有依赖它的对象(观察者)。这种模式是解耦游戏逻辑、实现动态事件响应的核心手段之一。Subject(被观察者):维护观察者列表,提供注册/注销接口,通知观察者。Observer(观察者):定义更新接口,供被观察者调用。ConcreteSubject(具体被观察者):实现具体业务逻辑(如玩家血量变化)。

2025-03-17 14:02:30 847

原创 开发游戏常用的设计模式实现案例

在游戏开发中,设计模式被广泛用于解决代码复用性、可维护性、扩展性和性能优化等问题。以上列举为常用的设计模式。设计模式是解决特定问题的工具,而非万能钥匙。性能敏感:优先使用对象池、享元模式。状态管理:状态模式、组件模式。事件驱动:观察者模式、命令模式。代码扩展性:策略模式、组合模式。避免过度设计,保持代码简洁性和可维护性始终是关键!

2025-03-16 21:20:45 970

原创 虚幻开发游戏分析性能瓶颈

通过结合虚幻引擎的内置工具和系统化分析方法,可以高效定位性能瓶颈并实施针对性优化,最终实现流畅的游戏体验。

2025-03-16 18:07:39 1296

原创 通过虚幻控件Slate了解虚幻GC(Garbage Collection, GC)的垃圾回收系统

Unreal Engine 的垃圾回收(Garbage Collection, GC)机制主要用于管理 UObject 及其派生类的生命周期,包括 UMG 控件(如 UWidget)。其核心是 基于根集(Root Set)的标记-清扫(Mark and Sweep)算法。提示:以下是本篇文章正文内容,下面案例可供参考Unreal 的 GC 通过根集引用链管理控件生命周期,关键点在于:控件添加到视口时被根集保护。移除视口后若无其他引用,GC 自动回收。

2025-03-16 17:20:31 1036

原创 虚幻引擎编程反射系统实现

在虚幻引擎中,反射(Reflection)是支撑蓝图系统、序列化、网络同步等核心功能的底层机制。它通过在编译时生成类型元数据(Metadata),使得C++代码在运行时能够动态查询和操作类、属性及方法。提示:以下是本篇文章正文内容,下面案例可供参考通过 UCLASS、USTRUCT、UPROPERTY、UFUNCTION 等宏标记需要反射的类型或成员。这些宏会在编译前被 Unreal Header Tool (UHT) 解析。// 示例:定义一个反射类。

2025-03-16 16:29:14 1115

原创 虚幻引擎编程中的LUA脚本访问C++原理与实现

现在想了解虚幻引擎中Lua脚本是如何访问C++的API的。首先,我记得虚幻引擎主要用的是C++,但有时候也会用脚本语言比如Lua来编写游戏逻辑,这样设计可能更灵活。不过,虚幻引擎默认的脚本系统好像是Blueprint,而不是Lua。所以可能需要第三方插件来集成Lua。提示:以下是本篇文章正文内容,下面案例可供参考步骤工具/技术示例插件集成修改.Build.cs依赖反射标记UCLASS、UFUNCTION宏类型绑定插件自动转换或手动注册生命周期管理UE垃圾回收、智能指针。

2025-03-16 16:09:56 881 1

空空如也

空空如也

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

TA关注的人

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