虚幻引擎
文章平均质量分 92
Howrun777
母语C++,熟悉Python,轻松驾驭Linux,顶级后端工程师,精通虚幻引擎,天才游戏游戏策划
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
虚幻引擎_游戏暂停菜单
在虚幻引擎中实现居中暂停菜单的关键步骤:1. 创建继承UUserWidget的C++类处理按钮逻辑,使用BindWidget绑定UMG控件;2. 通过AddToViewport()而非AddToPlayerScreen()确保菜单覆盖整个分屏窗口;3. 在PlayerController中监听ESC按键,仅允许主玩家(Player0)触发暂停;4. 使用SetGamePaused控制游戏暂停状态,SetInputMode管理输入模式;5. UMG设计时确保锚点居中,按钮命名与C++变量严格匹配。这种架构将系原创 2026-02-02 12:13:42 · 1600 阅读 · 0 评论 -
虚幻引擎_C++_游戏开始菜单
如果要做一个开始菜单,实现的方法有很多。原创 2026-02-01 16:21:38 · 526 阅读 · 0 评论 -
虚幻引擎关卡相关的问题
引擎自动加载了默认模式:你的项目设置里已经把那个写了生成逻辑的类设为默认了。模式一直都在:GameMode 不是通过 OpenLevel 传过去的物体,它是关卡(Level)本身的“规则管理器”。只要关卡开了,模式就自动创建了。参数读取成功:虽然你只传了 Players=1,但只要模式类被加载了,它就会从 OptionsString 变量里把这个 1 读出来执行逻辑。你可以尝试把 项目设置 -> 地图和模式 -> Default Game Mode 改回引擎自带的 GameModeBase。原创 2026-02-01 16:05:29 · 845 阅读 · 0 评论 -
UE C++ 开发全生命周期 + 全场景的知识点清单
存储逻辑:Config (存入 .ini), PerObjectConfig (每个对象独立配置), Transient (内存临时,不序列化)。编辑器显示:HideCategories, ShowCategories, CollapseCategories (简化 UI)。抽象性:Abstract (标记为抽象类,不可直接实例化)。内存性质:DuplicateTransient (复制时重置), NonTransactional (撤销操作时不记录)。权限控制。原创 2026-01-28 23:56:05 · 955 阅读 · 0 评论 -
虚幻引擎_核心框架
本文系统解析了虚幻引擎(UE)的核心框架架构。主要内容包括:1) 分层设计架构,从平台抽象层到游戏框架层的四层结构;2) 多线程模型,分析游戏线程、渲染线程等核心线程的分工协作;3) 模块化系统组织,介绍模块特性及核心模块组成;4) UObject体系,阐释反射、GC等核心机制;5) 游戏框架层的组件化设计;6) 引擎级子系统的功能。文章指出UE框架的核心在于UObject体系、多线程协作和模块化设计,这种架构保证了引擎的高扩展性、跨平台能力和性能表现。原创 2026-01-28 00:57:54 · 1116 阅读 · 0 评论 -
虚幻引擎_控制角色移动的三种方法
本文对比了三种在UE5中实现角色控制的输入处理方法。方法1(最优解)采用职责分离设计:控制器负责输入解析、GameMode负责角色绑定、Tank执行动作,具有高复用性和灵活性;方法2将输入和角色绑定集中在控制器,复用性差;方法3在角色类处理所有输入,导致职责混乱。文章详细展示了方法1的代码实现,包括控制器输入处理、GameMode角色分配及Tank移动逻辑,并推荐使用接口(IMoveable)实现多角色适配。原创 2026-01-16 17:24:16 · 1073 阅读 · 0 评论 -
虚幻引擎_UI搭建流程
以本地双人分屏坦克对战维度GameMode推荐指数⭐⭐⭐⭐⭐ (最标准)⭐⭐⭐⭐ (最快捷)⭐ (别用)UI 归属感UI 属于玩家 (大脑)UI 属于载具 (身体)UI 属于上帝 (规则)坦克死亡后UI 依然存活,可显示"复活倒计时"UI 通常随坦克一起销毁与坦克无关,但这很不合理分屏适配完美自动适配完美自动适配需要手动写循环管理。原创 2026-01-16 11:03:29 · 696 阅读 · 0 评论 -
虚幻引擎_玩家控制器APlayerController(初阶)
摘要:APlayerController是UE中玩家与游戏世界交互的核心枢纽,主要功能包括:1)输入处理(绑定按键/鼠标操作、控制输入模式);2)控制Pawn(绑定/切换角色、传递指令);3)视角管理(相机控制、鼠标显示);4)UI交互(HUD管理、UI输入)。每个本地玩家对应一个控制器,在多人游戏中负责同步操作。新手需牢记其作为"总遥控器"的定位,负责接收输入并传递给角色执行动作。原创 2026-01-15 17:43:41 · 3172 阅读 · 0 评论 -
虚幻引擎_玩家控制器APlayerController(进阶)
本文全面解析了虚幻引擎中APlayerController的核心操作及在不同模式下的应用差异。文章首先明确了PlayerController作为"玩家与游戏世界交互总遥控器"的定位,详细梳理了输入处理、Pawn控制、视角相机、UI/HUD等8大类核心功能API。重点对比了单人模式、本地多人分屏和线上多人三种场景下的关键差异:单人模式直接操作无需区分;本地多人需按索引管理多个控制器;线上多人则需区分本地/远程控制器并通过RPC同步。原创 2026-01-15 15:33:21 · 1131 阅读 · 0 评论 -
虚幻引擎_AController_APlayerController_AAIController
要彻底理清 UE 中 AController、APlayerController、AAIController 的关系和差异,我们可以从 类继承体系、核心定位、功能能力、使用场景 四个维度展开,结合实战代码和对比表,让你一眼看懂三者的区别与联系。原创 2026-01-15 15:15:04 · 888 阅读 · 0 评论 -
虚幻引擎 C++ 制作“射击FPS游戏“
命名为:BTTask_ClearBlackboardValueUCLASS()public:右击空白处, 添加新的任务节点如果你的任务C++类不需要用到黑板里的内容, 那么就用BTTaskNode类, 不然就用BTTask_BlackboardBase类命名为:BTTaskNode_Shoot//.hUCLASS()public:玩家在阵亡后断开控制器只需在玩家阵亡后调用:DetachFromControllerPendingDestroy();原创 2026-01-14 16:41:48 · 1746 阅读 · 0 评论 -
虚幻引擎_用户小控件_准星
本文介绍了在虚幻引擎中创建十字准星HUD的实现方法。首先需要创建继承自UserWidget的C++类HUDWidget,并生成对应的蓝图子类WBP_HUD。在蓝图中使用"+"符号制作十字准星,并设置屏幕中心锚点。然后在玩家控制器C++类中声明接口,通过CreateWidget函数实例化HUDWidget并添加到游戏视口。最后将WBP_HUD蓝图挂载到玩家控制器上,实现准星居中显示的功能。整个过程涉及C++类创建、蓝图制作和代码调用三个关键步骤。原创 2026-01-12 16:31:56 · 379 阅读 · 0 评论 -
虚幻引擎_动画蓝图/混合空间/状态机_超详细教学
什么是动画资产,什么是动画蓝图, 动画蓝图为什么可以组织调度动画资产...掌握蓝图的基础用法和动画资源的基本特性从0开始搭建一个混合空间用来高效调度动画资产用状态机根据角色的各种状态切换不同的动作原创 2026-01-11 04:43:32 · 1581 阅读 · 1 评论 -
5W字超级细致教学!虚幻引擎 C++ 制作“坦克大战“
<坦克对战>: 在游戏中, 玩家需要通过发射炮弹消灭全部的敌人, 敌人累计命中你四次, 你就输了,一共三个关卡, 每消灭一关全部敌人, 会弹出提示, 并且切换到下一关卡, 输了则重新玩当前关卡原创 2026-01-07 03:14:09 · 2616 阅读 · 12 评论 -
虚幻引擎-检测射线TraceChannel与形状检测射线
我们现在有一个需求:我们需要先算出来起点和终点,然后用一个函数发射一个射线问题1:由于射线太细,可能导致错过目标物体解决方案:不再使用线性追踪,而是用一个球体射线(扫掠),更加容易命中物体问题2:路径上会有别的物体挡路解决方案:设定自定义的追踪通道,在需要的物体的碰撞预设中添加对我们这个射线的阻碍这样只有我们想要的物体才会被射线检测到.原创 2025-11-29 06:37:34 · 885 阅读 · 0 评论 -
虚幻引擎-设计场景物体哲学-C++
本文介绍了在C++中设计游戏道具的实现方法,重点演示了可拾取物品和门锁系统的创建流程。首先通过继承Actor类创建CollectableItem基类,设置物品标签;然后详细说明了Lock类的构建过程,包括组件声明、构造函数初始化、碰撞设置和可见性控制。通过触发器组件实现门锁互动功能,当钥匙放置时显示模型并触发开门效果,未激活时隐藏钥匙。这种设计模式可用于创建各种交互式游戏道具,实现复杂的游戏机制。原创 2025-11-29 04:51:53 · 709 阅读 · 0 评论 -
虚幻引擎的标签系统
摘要:本文介绍了在虚幻引擎中如何使用Actor标签控制压力板触发机制。首先为角色蓝图添加"PressurePlateActivator"标签,然后通过ActorHasTag()函数检测该标签。通过绑定OnOverlapBegin和OnOverlapEnd事件,当带有该标签的Actor与触发器重叠时,设置Mover组件的ShouldMove变量控制门的开关。要实现其他物体(如椅子)触发功能,只需为其添加相同标签并开启重叠事件即可。这种方法提供了一种灵活的对象交互管理方式。原创 2025-11-25 00:06:50 · 1004 阅读 · 0 评论 -
虚幻引擎如何实现按键绑定按键反馈C++
本文介绍了在虚幻引擎中实现输入映射的基本流程。主要内容包括:1)输入动作(IA)和输入映射上下文(IMC)的概念,建议将功能相近的动作放在同一IMC中;2)通过SetupPlayerInputComponent函数绑定动作与响应函数;3)以"点击鼠标左键打印Hello World"为例,详细说明了实现步骤:创建输入动作、注册到IMC并绑定按键、在玩家控制类中声明动作和响应函数、绑定动作与函数、最后在蓝图中传入自定义动作。整个过程展示了虚幻引擎输入系统从定义到实现的全流程。原创 2025-11-28 02:19:47 · 438 阅读 · 0 评论 -
详解虚幻引擎的字符串类型
FName是虚幻引擎中的高效字符串标识类型,基于全局字符串池实现轻量化和哈希优化。其核心特性包括:不可变性、大小写不敏感(默认)、O(1)时间复杂度的快速比较。FName主要用于对象标识、标签系统、资源路径等场景,相比FString和FText更注重性能而非文本操作。使用时需注意字符串转换方式(推荐使用TEXT()宏)和大小写敏感设置。TEXT()宏是虚幻引擎处理字符编码兼容性的关键工具,它能自动将字符串适配为TCHAR类型,确保在多语言和跨平台环境下的正确性。原创 2025-11-25 03:38:12 · 751 阅读 · 0 评论 -
草履虫也能看懂的虚幻引擎的委托机制
摘要:委托是一种允许对象注册回调函数的机制,当特定事件发生时自动触发这些函数。虚幻引擎中的委托分为单播(绑定单个函数)、多播(绑定多个函数)和动态委托(支持蓝图)。委托的优势包括解耦对象、运行时灵活性、多播通知、类型安全及与引擎深度集成。通过示例展示了如何声明、绑定和触发委托,对比了直接调用与委托方式的差异,后者显著降低了代码耦合度。委托机制类似于公告板,让事件源无需关心具体接收者,只需广播事件即可实现自动通知。原创 2025-11-24 21:36:28 · 938 阅读 · 0 评论 -
虚幻引擎的BoxComponent组件实现触发器/碰撞箱
虚幻引擎中BoxComponent是一种长方体碰撞组件,可用于检测物体重叠事件。通过设置触发器模式(不阻挡物体但检测重叠),它能响应OnComponentBeginOverlap和OnComponentEndOverlap事件。本文详细介绍了如何创建自定义TriggerComponent类,包括委托绑定、成员变量设置和事件处理函数实现。以压力板控制门的实例展示了具体应用:通过绑定Mover组件,在重叠事件中控制门的开关状态。代码示例包含TriggerComponent和Mover组件的完整实现,展示了碰撞检原创 2025-11-24 21:33:44 · 850 阅读 · 0 评论
分享