- 博客(11)
- 收藏
- 关注
原创 虚幻引擎-检测射线TraceChannel与形状检测射线
我们现在有一个需求:我们需要先算出来起点和终点,然后用一个函数发射一个射线问题1:由于射线太细,可能导致错过目标物体解决方案:不再使用线性追踪,而是用一个球体射线(扫掠),更加容易命中物体问题2:路径上会有别的物体挡路解决方案:设定自定义的追踪通道,在需要的物体的碰撞预设中添加对我们这个射线的阻碍这样只有我们想要的物体才会被射线检测到.
2025-11-29 06:37:34
649
原创 虚幻引擎-设计场景物体哲学-C++
本文介绍了在C++中设计游戏道具的实现方法,重点演示了可拾取物品和门锁系统的创建流程。首先通过继承Actor类创建CollectableItem基类,设置物品标签;然后详细说明了Lock类的构建过程,包括组件声明、构造函数初始化、碰撞设置和可见性控制。通过触发器组件实现门锁互动功能,当钥匙放置时显示模型并触发开门效果,未激活时隐藏钥匙。这种设计模式可用于创建各种交互式游戏道具,实现复杂的游戏机制。
2025-11-29 04:51:53
535
原创 Linux进程
命名含义l= list(列表参数),e= environment(自定义环境变量)。函数原型参数解释patharg:与execl()一致(路径 + 列表参数,最后NULL结尾)。envp:自定义的环境变量数组(每个元素格式为,最后以NULL结尾),会覆盖当前进程继承的环境变量。示例(执行自定义程序./myprog,并传自定义环境变量):// 自定义环境变量// 最后一个参数是envp数组特点:可自定义新程序的环境变量,适合需要隔离环境的场景(普通exec函数会继承父进程的环境变量)。
2025-11-28 03:55:49
614
原创 虚幻引擎如何实现按键绑定按键反馈C++
本文介绍了在虚幻引擎中实现输入动作映射的基本流程。主要内容包括:1)创建输入动作(IA_Interact);2)在输入映射上下文(IMC_Default)中绑定按键映射;3)在玩家控制类中声明动作和响应函数;4)在SetupPlayerInputComponent中使用增强输入组件绑定动作和响应函数;5)实现响应函数功能;6)通过蓝图初始化输入动作。通过点击鼠标左键或按E键触发Interact动作,最终实现打印"Hello_World!"的功能。整个过程展示了从输入映射到功能实现的完整工
2025-11-28 02:19:47
247
原创 Linux 环境变量:定义、核心作用与实操指南
Linux环境变量是动态键值对,用于存储系统配置和路径信息。主要特性包括动态修改、继承性(子进程继承父进程变量)和作用域(局部/全局)。程序员常用变量如PATH(可执行程序路径)、HOME(用户目录)和LD_LIBRARY_PATH(动态库路径)。 设置方式:临时用export命令,永久修改需写入配置文件(如~/.bashrc)。C/C++通过getenv()和setenv()操作变量,但修改仅影响当前进程。Bash作为父进程初始化并传递环境变量给子进程(如C程序),同时提供命令行接口管理变量。 注意事项:
2025-11-27 02:45:20
834
原创 详细解释各种C语言指针
本文系统介绍了C语言指针的分类和应用。指针按数据类型可分为基本类型指针、结构体指针、函数指针等;按层级分为单级和多级指针;按用途分为数组指针、指针数组、常量指针等。重点解析了指针的"右左法则"语法规律、void指针特性以及指针运算规则,并提供了动态内存分配、字符串处理等实际应用示例。文中还总结了指针声明口诀和记忆技巧,最后通过解析复杂指针声明演示了右左法则的应用。掌握这些分类和规律能帮助开发者更好地理解和使用指针。
2025-11-26 23:51:29
365
原创 C语言/C++结构内存的问题
结构体内存布局遵循成员声明顺序,并考虑对齐要求。成员地址必须满足其大小的整数倍,结构体总大小需为最大成员大小的整数倍(如S1占12字节,S2占8字节)。嵌套结构体需额外考虑内部对齐(如Outer占24字节)。可通过offsetof宏获取成员偏移量,利用成员指针反推结构体地址。结构体内部字节序由硬件决定(x86为小端,网络为大端),不影响整体布局顺序。合理排列成员可优化内存空间(如S2比S1更紧凑)。
2025-11-26 01:20:24
298
原创 详解虚幻引擎的字符串类型
FName是虚幻引擎中的高效字符串标识类型,基于全局字符串池实现轻量化和哈希优化。其核心特性包括:不可变性、大小写不敏感(默认)、O(1)时间复杂度的快速比较。FName主要用于对象标识、标签系统、资源路径等场景,相比FString和FText更注重性能而非文本操作。使用时需注意字符串转换方式(推荐使用TEXT()宏)和大小写敏感设置。TEXT()宏是虚幻引擎处理字符编码兼容性的关键工具,它能自动将字符串适配为TCHAR类型,确保在多语言和跨平台环境下的正确性。
2025-11-25 03:38:12
610
原创 虚幻引擎的标签系统
摘要:本文介绍了在虚幻引擎中如何使用Actor标签控制压力板触发机制。首先为角色蓝图添加"PressurePlateActivator"标签,然后通过ActorHasTag()函数检测该标签。通过绑定OnOverlapBegin和OnOverlapEnd事件,当带有该标签的Actor与触发器重叠时,设置Mover组件的ShouldMove变量控制门的开关。要实现其他物体(如椅子)触发功能,只需为其添加相同标签并开启重叠事件即可。这种方法提供了一种灵活的对象交互管理方式。
2025-11-25 00:06:50
697
原创 草履虫也能看懂的虚幻引擎的委托机制
摘要:委托是一种允许对象注册回调函数的机制,当特定事件发生时自动触发这些函数。虚幻引擎中的委托分为单播(绑定单个函数)、多播(绑定多个函数)和动态委托(支持蓝图)。委托的优势包括解耦对象、运行时灵活性、多播通知、类型安全及与引擎深度集成。通过示例展示了如何声明、绑定和触发委托,对比了直接调用与委托方式的差异,后者显著降低了代码耦合度。委托机制类似于公告板,让事件源无需关心具体接收者,只需广播事件即可实现自动通知。
2025-11-24 21:36:28
706
原创 虚幻引擎的BoxComponent组件实现触发器/碰撞箱
虚幻引擎中BoxComponent是一种长方体碰撞组件,可用于检测物体重叠事件。通过设置触发器模式(不阻挡物体但检测重叠),它能响应OnComponentBeginOverlap和OnComponentEndOverlap事件。本文详细介绍了如何创建自定义TriggerComponent类,包括委托绑定、成员变量设置和事件处理函数实现。以压力板控制门的实例展示了具体应用:通过绑定Mover组件,在重叠事件中控制门的开关状态。代码示例包含TriggerComponent和Mover组件的完整实现,展示了碰撞检
2025-11-24 21:33:44
573
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅