ue4
  • 2024-09-16UE4获取玩家视角相机的位置和朝向
    游戏线程(GameThread)编辑器中(EWorldType::Editor,模拟运行或编辑状态)boolGetObserverView(FVector&Location,FRotator&Rotation)const{//WeareintheSIE(SimulateInEditor)if(GEditor->bIsSimulatingInEditor//classUEditorEngine*GEditor
  • 2024-09-11UE4(5)逆向学习笔记(三)——UEDumper源码学习
    目录0.前言1.准备2.开始阅读2.1设置版本和Offset2.2获取GName2.3使用GName2.4获取GUObjectArray2.5使用GUObjectArray2.6寻找dump主流程2.6.1ObjectsManager::copyGObjectPtrs2.6.2ObjectsManager::copyUBigObjects2.6.3EngineCore::cacheFNames2.6.4EngineCo
  • 2024-09-01UE4 中射线检测的简单探索
    通过源码了解实现简单的实现原理。非常粗浅,只涉及一些基本的调用路径。LineTrace...这个函数实际上是调用的TSceneCastCommon这个模板函数template<typenameTraits,typenameTGeomInputs>boolTSceneCastCommon(constUWorld*World,typenameTraits::TOutHits&OutHits,c
  • 2024-08-26UE4 CharacterMovementComponent
    之前在学习网络通信时,经常需要对客户端上的行为进行预测,来降低延迟带来的比较差的体验。而UE4为角色移动提供了CharacterMovementComponent这个组件,其在移动时可以发现已经实现了客户端预测。现在可以通过对CharacterMovementComponent进行扩展,实现我们自定义的运动模式,并且还能
  • 2024-08-15UE4利用委托实现观察者模式
    应用场景当游戏运行过程中,当一个MainActor某个行为的发生会对其他多个object产生影响时可以采用观察者模式,这样可以避免MainActor与其他object发生强耦合关系。如果不采用观察者模式,可能的做法是将object加入到MainActor的行为方法中,如果有多个object那么该方法将显得非常复杂。
  • 2024-08-02UE4 Dash功能实现
    主要实现主要是两点一个是Dash的实现效果,一种是直接Dash到目的地,第二种则是在Dash过程中实现动画的播放显示第二点则是障碍物的检测,对Dash的一个阻挡效果的实现Dash实现效果为了实现Dash过程中的动画显示,可以利用时间轴组件实现Location的移动,从而避免直接对角色的Location的
  • 2024-07-31UE4 C++ 多人游戏中的简单聊天窗口
    本质不管是客户端还是服务器在输入文字后,按下回车发送,将触发RPC调用。然后通过RPC将发送者,输入文本等信息,传入到服务器,然后通过多播RPC传播到所有客户端的聊天框。UIUI利用三个组件ScrollBox用于在服务器以及每个客户端上显示消息的载体TextBlock本地将信息通过一个一个的T
  • 2024-07-28关于MP4文件在ue4中导出的方式
    关于ue中使用播放器播放影片,在打包后,发现无法播放的解决办法:在打包设置中引入以下设置,当然GPROGame.mp4 在/game/gprogames/GPROgames.mp4,这里只用复制名称 打包后会有这个目录: 当然此时在播放的时候是正常的我们直接用 我们也可以做如下设置:这个时候打包会有这个
  • 2024-07-15UE4风格化Note
    地形材质部分:1.地形的相关设置(虚拟纹理的使用)先建立一个文件夹存放两个虚拟纹理一个存储地形的颜色信息一个存储地形的高度信息先把RVT纹理拖入地形组件的面板中,然后拖入虚拟纹理的组件,然后分别进行RVT纹理的设置,记住要点设置边界,如果没有反应可以去去地形模式在雕刻几
  • 2024-07-15UE4材质笔记
    常用节点:添加贴图:TextureSample(贴图采样)常量数字:Constant(数字)Vector或长按数字并点击左键乘法:Multiply或长按M并点击左键常用插值:Lerp或长按L并点击左键加法:Add或者长按A键并点击左键减法:Subtract除法:Divide或者长按D键并点击左键1-x:搜索1-或者oneminus或者长按O键并点击左键绝
  • 2024-07-10UE4中OpenGLES和Vulkan特性开启
    OpenGLES在Android手机上使用OpenGLES的RHI来启动游戏[2022.06.14-10.28.57:996][0]LogAndroid:|AndroidPlatformMisc.cpp:2332|VulkanRHIwillNOTbeused:[2022.06.14-10.28.57:996][0]LogAndroid:|AndroidPlatformMisc.cpp:2335|**Vulkansupportisnotavailabl
  • 2024-06-24UE4 C++ 随机生成迷宫地图
    参考参考原理就是利用一个房间的三个方向(排除进入口)出口(可以减少,即设置墙壁),从而获得下一次房间生成的位置,其中涉及到对于多个房间重叠,生成结束后如何对缺口进行修补等功能实现RoomBaseActor该Actor类是后续创建房间的基类,如果想要固定所有房间形状即只改变出口个数,那么在该类
  • 2024-06-20UE4之LoadingScreen机制
    1.当IsMoviePlayerEnabled()为false或使用nullrhi来运行游戏时,会使用FNullGameMoviePlayer(空MoviePlayer)来跑2.FDefaultGameMoviePlayer为实现LoadingScreen的核心类,包括视频数据流(IMovieStreamer)、UI界面(SWindow)、多线程更新(SlateLoadingThread)3.各个平台(Android、iOS、Win
  • 2024-06-17UE4 C++ AI实现跳跃(上下平台)
    NavLinkProxyPointLink:点对点,不提供可处理的事件SmartLink:提供可处理的事件,当AI到达Link位置时,可以接受函数通过ReceiveSmartLinkReached事件进行绑定函数操作实现简单的跳跃通过接口,定义函数,在AI基类中进行实现。主要通过两个函数实现UGameplayStatics::SuggestPro
  • 2024-06-16UE4 C++ AI感官获取检测结果
    重写ActorsPerceptionUpdated函数有委托OnPerceptionUpdated,可以自己编写函数然后进行绑定。也可以直接对ActorsPerceptionUpdated进行重写,该函数会在有感官变化时进行调用其会根据委托获得一个数组,即AI感知到的所有发生变化的Actor。通过对这些Actor的判断即可判断是进入范围还
  • 2024-06-09UE4动作游戏实例RPG Action解析-导语
    UE实战篇(动作游戏)概述解析官方示例游戏《动作RPG》动作角色扮演游戏示例项目(简称ARPG)是一个快节奏的第三人称砍杀类游戏本篇作用是从零开始写官方示例游戏重要部分,学完这篇再去研究官方示例,会轻松很多学完会获取以下知识:1.Unreal写一个C++项目2.学习UnrealGAS系
  • 2024-06-04UE4 AI
    UE4中的AIUE4中AI一般通过行为树来实现行为树控制了AI的动作,而该执行哪些动作则是由AIController(本质上是一个类)进行判断,然后传入BlackBoard的Key中,之后在行为树里利用Selector或者Sequence进行执行对应的动作每个Actor类都可以选择一个AIController类行为树中的两个节点S
  • 2024-05-31UE4 攀爬2
    说明正式的攀爬功能,攀爬功能其实就是跳跃功能的Plus版本,在面对不同凸起地面墙壁时,有不同的动画效果,使得角色可以越过障碍,而不是只有跳跃动画以及跳跃高度恒定,导致角色无法运动该攀爬功能实现了面对薄墙(高、低)和厚墙(高、低)的基础攀爬动作,在面对厚墙时,角色在成功攀爬后会站在平台
  • 2024-05-29UE4中PhysX BroadPhase(碰撞检测的粗略阶段)
    PhysX的BroadPhase(碰撞检测的粗略阶段),具体是用AABB(轴向包围盒)来做碰撞检测具体算法有两种:SAP(SinglePruningBox,单个剪枝盒)和MBP(MultiPruningBox,多个剪枝盒) SAP(Single PruningBox,单个剪枝盒)当场景中有大量的物体(大世界有百万级别)时,即使它们已按AABB的三个轴向xyz做了排序
  • 2024-05-29HO引擎近况20240529
    一晃半年多忘了更新了新公司的工作太忙,期间公司还搬了一回家晚上9点多才下班的情况以前的公司也有过,但是这次不知道为什么我的身体总是不舒服先是后背感觉像拉伤了一新疼了小半年然后就是我的眼最近也开始看远处的景物有点模糊,不知道是不是我工位上的一排射灯导致不过这些都
  • 2024-05-25UE4之宏与预编译指令定义
    在UBT中添加宏定义UnrealEngine\Engine\Source\Programs\UnrealBuildTool\Configuration\ModuleRules.cs UnrealEngine\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildPlatform.cs UnrealEngine\Engine\Source\Programs\UnrealBuildTool\Con
  • 2024-05-21UE4 动态生成网格
    说明在游戏中动态改变网格数量和形状等,该功能是寻路功能的前期准备,即在基础移动地基上方,构建一层网格,任何移动的操作都可以基于该网格进行计算。从而在编辑器模式下能够更方便进行调试InstancedStaticMeshComponent其是一种用于优化静态网格渲染性能的技术。InstancedStaticMes
  • 2024-05-19UE4 C++ 攀爬功能
    UE中的TEXT()UE中使用TEXT()包含字符串后,将字符串转换为宽字符,其将被处理为支持Unicode和跨平台兼容性,而普通类型的字符串为一个窄字符类型,可能在跨平台出现问题。最主要的问题是在FString的构造函数中是接受TCHAR的所以对于FStringFNameFTEXT的构造需要传入TEXT("xxxx")。
  • 2024-05-05UE4 -- 实现用于网络连接的插件
    插件UE中的插件就相当于一个模块,在引擎界面点击创建新的插件后,会在项目文件夹中生成插件的文件夹,在该文件夹内,只需要像游戏项目一样编写插件逻辑,最后在插件选择界面开启该插件即可当新建插件后,UE会自动生成继承于IModuleInterface的类,说明该文件夹的内容为插件。在InsideUE4中
  • 2024-05-04UE4 C++ 杂
    TMap中的Find和FindRef在对蓝图节点进行C++重写时,发现UE对于TMap的Find有很多方式。首先是基础的Find,其就是返回对象类型的指针,如果不存在于TMap中其会返回nullptr接下来是FindChecked,其返回的是对象类型的引用,并且会在内部检测指针是否为空,如果没有会触发断言FindRef其