自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 UE5 编辑器启动模式下去掉左上角的Clink for Mouse Control

把这个勾去掉。

2024-04-15 16:57:41 276

原创 UE5 把蓝图内的变量和事件暴露给序列使用

添加关键帧,然后在关键帧右键添加class,在class下绑定事件。在蓝图变量内勾选Expose to Cinematics。在序列内对着角色的+号添加Event,选择Trigger。在角色内添加自定义事件。

2024-04-15 16:57:09 262

原创 UE5 GAS开发P32,33 初始化状态并绑定在HUD上,拾取物品增加血量和减少蓝量

/设置接触到的AuraPlayerState的Health,但是这个太具体了,需要修改为修改任何属性的任何数据.例如修改MaxHealth和Mana MutebleAuraAttributeSet->SetHealth(AuraAttributesSet->GetHealth() + EffectActorHealth);Destroy();

2024-04-15 16:56:37 949

原创 UE5 GAS开发P31 将hud绑定在自己的角色上

/当角色初始化的时候加载UI的初始化 if(AAuraPlayerController* AuraPlayerController = Cast<AAuraPlayerController>(GetController())) { //获得HUD AAuraHUD* AuraHUD = Cast<AAuraHUD>(AuraPlayerController->GetHUD());

2024-04-15 16:56:06 697

原创 UE5 TPS开发p25 设置大厅,销毁会话,快速退出,检查按钮

这节课主要是完善了菜单选择地图作为游戏大厅,MultiPlayerSessionSubsystem的销毁会话函数,然后就是给Menu菜单添加了Quit和禁止使用按钮同时还完善了创建房间的漏洞,因为在创建房间的时候如果退出后就马上加入就会发现自己无法创建房间,这是因为服务器判断房间销毁是有一定延迟的,所以这次使用委托来优化这一段逻辑MultiPlayerSessionSubsystem.h// Fill out your copyright notice in the Description pa

2024-03-20 22:56:54 908

原创 UE5.1 iClone8 正确导入角色骨骼与动作

下载Auto Setup for Unreal Engine。这样导入虽然动画和骨骼是错误的,但是贴图就能直接导入进来.如果需要贴图的话,就直接FBX导入,选择不使用插件。里面有两个文件夹,使用Auto Setup。在UE内新建Plugins,把插件复制进去。在工具栏出现这三个人物的图标就安装成功了。这个时候我们导入的骨骼和动作就是正常的。这个时候会一直弹出Miss,选择ok。iClone选择角色,导入动作。会出现是否启动插件,选择OK。然后对照左边的材质粘贴就可以。下载后根据使用教程安装。

2024-03-15 16:32:42 484

原创 UE5 GAS开发p30 创建UI HUD 血条

这些参数可以在 Unreal Engine 中进行编辑,并且可以在蓝图中读写 */ USTRUCT(BlueprintType) struct FWidgetControllerParams { GENERATED_BODY() /*FWidgetControllerParams(){}:这是结构体的默认构造函数。

2024-03-13 18:47:17 1352 2

原创 UE5 C++ TPS开发p23 Gamemode 玩家数量 玩家名称 Tips如何搜索 如何查找文档 如何查找源码

我对这一部分的理解是游戏这个框架中分别分为Gamemode和GameState这两块,同时GameMode是可以访问GameState的.Gamemode的作用是游戏规则,移动角色到下一个关卡,设置每个玩家该在的出生点,监听玩家加入(PostLogin)和玩家注销(Logout).GameState是负责当前游戏的状态并且保存下来,比如得分,游玩进度,多人游戏则是把每个玩家作为变量放在数组内,再通过这个数组去分别对每个玩家的状态进行处理。这节课学习了创建游戏模式,可以读取到现在的玩家有多少人。

2024-03-12 23:49:28 566

原创 UE5 C++ TPS开发 学习记录(10

p22这节课把创建,查找,加入游戏房间的菜单类,以及插件内的系统类给补完了.说实话这节课有点绕,因为需要一直使用委托进行传值,先由菜单类Menu向系统类Subsystem发送函数传值请求,然后监听Subsystem的委托回调,同时系统类Subsystem向Session的工具发送请求,监听回调,再返回给Menu类进行传值.MultiPlayerSessionSubsystem.h// Fill out your copyright notice in the Description page o

2024-03-11 23:56:32 565

原创 UE5 C++ TPS开发 学习记录(九

true:false;if(OnlineSessionInterface->CreateSession(*LocalPlayer->GetPreferredUniqueNetId(), NAME_GameSession , *LastSessionSettings)) { /*这里是创建失败*/ OnlineSessionInterface->ClearOnCreateSessionCompleteDelegate_Handle(CreateSessionCompleteDelegate_Handle);

2024-03-05 22:48:11 1104

原创 UE5 C++ TPS开发 学习记录(八

这一次到了p19完善了UI和写了创建房间MultiPlayerSessionSubsystem.h// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "Subsystems/GameInstanceSubsystem.h" #include "Interfaces/OnlineSessionInterface.

2024-03-03 23:42:10 1076

原创 UE5 C++ TPS开发 学习记录(七)

// Fill out your copyright notice in the Description page of Project Settings. #include "MultiPlayerSessionSubsystem.h" #include "OnlineSubsystem.h" UMultiPlayerSessionSubsystem::UMultiPlayerSessionSubsystem(): CreateSessionCompleteDelegate(FOnCreateSessio

2024-02-28 22:45:41 397

原创 UE5 C++ TPS开发 学习记录(六)

这节课学习了如何创建插件,在Build.cs内使用模块和创建OnlineSubsystem。

2024-02-25 23:29:38 460

原创 UE5 C++ Gas开发 学习记录(三)

添加AuraPlayerState,AuraAbilitySystemComponentBase和AuraAttributeSet在Build.cs里添加// Copyright Epic Games, Inc. All Rights Reserved. using UnrealBuildTool; public class MyGas : ModuleRules { public MyGas(ReadOnlyTargetRules Target) : base(Target) { PCHUsage = P

2024-02-23 19:00:32 758

原创 UE5 C++ Gas开发 学习记录(二)

/在MyGas.h内自定义了一个常量CUSTOM_DEPTH_RED GetMesh()->SetCustomDepthStencilValue(CUSTOM_DEPTH_RED);//在MyGas.h内自定义了一个常量CUSTOM_DEPTH_RED GetMesh()->SetCustomDepthStencilValue(CUSTOM_DEPTH_RED);制作材质函数MF_OutLine。把后处理材质修改为材质接口。

2024-02-23 19:00:02 1042 1

原创 UE5 C++ Gas开发 学习记录(一)

/初始化所需的Attach Parent和SocketName,以便在组件注册时附加 Weapon->SetupAttachment(GetMesh(),FName("WeaponHandSocket"));

2024-02-22 18:53:16 898

原创 UE5 C++ TPS开发 学习记录(五)

这节课创建了新的游戏关卡Lobby,制作了属于自己的游戏名字"Match Type",制作了加入游戏会话的委托和函数,最后可以用IP就可以把客户端链接到服务端.h// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "GameFramework/Character.h" #include "Logging/LogMacros.h" #include "OnlineSu

2024-02-21 23:08:31 583

原创 UE5 路径追踪渲染设置测试

设置Bloom为Convolution,强度为0.0512。新增后期处理效果,点开infinte Extent。把Screen Percentage修改为150。修改对比度和饱和度为1.1。把渲染模式改为路径追踪。修改路径追踪,打开深度。

2024-02-19 18:35:12 298

原创 ue5.3 编译报错FHazardPointerCollection无法访问 private 成员

在FHazard前面添加一行public:

2024-02-19 18:31:45 720

原创 UE5 C++ TPS开发 学习记录(四)

/当存在会话的时候,删除会话 if(ExistingSession!

2024-02-18 21:25:25 546

原创 UE5 C++ TPS开发 学习记录(三)

/当存在会话的时候,删除会话 if(ExistingSession!

2024-02-17 22:26:02 832

原创 UE5 C++ TPS开发 学习记录(二)

if(OnlineSubsystem) { //获得当前会话的指针 OnlineSessionInterface = OnlineSubsystem->GetSessionInterface();在普通模式,我们链接的是UE的本地Subsystem Null。

2024-02-17 22:25:00 600

原创 UE5 C++ TPS开发 学习记录(一) 切换关卡

} void AMyTestCharacter::CallOpenlevel(const FString& Address) { //最基础的openlevel UGameplayStatics::OpenLevel(this, *Address );

2024-02-17 22:24:02 270

原创 Microsoft.MakeFile.targets(45, 5)报错

Microsoft.MakeFile.targets(45, 5): [MSB3073] 命令“"C:\Program Files\Epic Games\UE_5.1\Engine\Build\BatchFiles\Build.bat" MyProjectEditor Win64 Development -Project="C:\Users\1\Documents\Unreal Projects\MyProject\MyProject.uproject" -WaitMutex -FromMsBuild”已退

2024-02-06 17:53:03 325

原创 UE5 C++报错找不到include DesktopPlatform目录

解决方法:报错原因是因为在项目属性内的VC++目录下的包含目录内缺少引擎路径.新建一个项目,新建C++内容,把包含目录下的路径重新粘贴到原项目下。

2024-02-06 17:46:06 205

原创 UE5 调用Windows文件选择框并播放视频

这个时候会报错winioctl.h(10326): [C4668] 没有将“_WIN32_WINNT_WIN10_TH2”定义为预处理器宏,用“0”替换“#if/#elif”最后在蓝图内的MediaPlayer变量使用OpenFile。在项目设置里将RHI设置成DX11。需要在Build.cs内修改。

2024-02-06 17:45:34 255

原创 UE5 C++ 手写WebSocket

/链接协议 TSharedPtr Socket = FWebSocketsModule::Get().CreateWebSocket(ServerURL,Serverprotocol);

2024-02-06 17:45:00 747

原创 UE5 PAK包热加载

/这里是使用Windows的文件资源选择器 EFDCore::OpenFileDialogCore(TEXT("Choose a .pak file"), FPaths::ProjectDir(), "", ".pak", EEasyFileDialogFlags::Single, OutFilenames);

2024-02-06 17:44:23 1102

原创 UE5 Niagara粒子随骨骼或者网格体位置消散

写完后在Particle Spawn这里点击加号并且选择做好的特效,其中Animation是是否显示,staticmesh是设置网格体。创建一个材质参数集,在内容浏览器右键,然后输入Material Parameter。这里输出的Alive要在左下角Data Instance创建Alive。然后是粒子消散,需要新建一个Niagara。在蓝图内通过Timeline控制材质参数。创建一个新的Niagara模块脚本。在需要使用的函数内添加材质函数。左边一定要选择公开到库。用的是自带的喷泉模板。

2024-02-06 17:42:00 290

原创 UE5 解析Base64加密的json并解决中文乱码

FString UMyBlueprintFunctionLibrary::LoadStringBase64Decode(FString BaseStr) { //去除多余的换行和空格 BaseStr = BaseStr.Replace(TEXT("\n"),TEXT(""));//将uint8转为UTF8格式的CHAR防止中文乱码 FUTF8ToTCHAR Convert(reinterpret_cast<const char*>(bytes.GetData()), bytes.Num());

2024-02-06 17:40:39 325

原创 UE5 获得UE内的音频组件与频谱

在Constant QNRT的变量内获得当前事件,Get Channel Constant QAt Time获得当前信道的所有频谱。这里需要先运行SetSound,然后获得当前音频的总长度,Get Duration并设置变量。在Actor里添加Constant QNRT变量,选择刚刚创建的NRT。创建好后选择Settings,下面的sound选择你要选择的音乐。绑定时间Playback Percent用来获得当前播放的百分比。在绑定事件下面把百分比和总长度相乘可以获得当前音频播放的秒数。

2024-02-06 17:39:21 251

原创 UE5 获得频谱让nigara随音乐律动

在Properties的Sim Target改为GPU,Calculate Bounds Mode改为Fixed模式。Submix下的MasterSubmixDefault是需要在文件内打开引擎内容才能选择。这里是创建了一个Niagara的脚本,用来获取频谱让粒子位置改变。这里的BoxSize可以选择修改,具体作用是粒子初始生成的范围。最后选择你的输出效果是Mesh还是Sprite就可以了。Drag,阻力,用来限制粒子的速度。速度,使粒子更新后有一个向外的力。扰乱,让粒子拥有涡流的效果。

2024-02-06 17:38:06 175

原创 UE5 多张地图打包

勾上cook后把需要烘培的地图加在list内。在项目设置内搜索list map。

2024-02-06 17:36:15 204

原创 UE5 使用Postman测试WebsocketServer

只需要使用者绑定上即可,msg就是字符串信息,至于你喜欢json还是xml还是巴拉巴拉你自己做决定就行啦。注意:发送信息是发送给所有客户端,按客户id发送这个需要大家自己努力啦,我只是开个头哦。因为最近工作需要,所以需要一个websocket服务,用来直接和多个网页交互。所以也需要引入该插件,当然插件里面已经写好了,装插件也会自动开启,放心啦。5.源码是开放的,大家随便改,加自己喜欢的功能喽。怎么打开,怎么绑定事件,怎么发送信息,都有示例。我在这里重新更新了一个5.1的版本,地址是。

2024-02-06 17:35:40 437

原创 ue5 蓝图内修改组件附加的插槽

Target是目标,Parent是要加到哪个骨骼上,socketName是骨骼对应的插槽。

2024-02-06 17:34:58 268

原创 UE5 使用插件创建C++的HttpServer

参考资料:Aleksey Usanov / HttpServerExample · GitLab【极客日常】在UE4插件中编写一个HTTP Web Server_ue http server web-CSDN博客下面这两篇最重要萌新第一稿~手把手教你优雅地使用HTTP请求调用UE4(UE5)函数(中英双字幕)_哔哩哔哩_bilibili手把手教你如何优雅地用http请求控制UE4(UE5) - 知乎新建一个Acot C++类在你的插件目录下// Fill out your copyright notice

2024-02-06 17:34:29 893

原创 UE5.1保姆级创建第三方插件库使用DLL,以及踩坑笔记

if(FPlatformProcess::GetDllExport(mode->ExampleLibraryHandle, *procName) == nullptr) { UE_LOG(LogTemp,Error,TEXT("加载 GetDllExport 失败"));这里我们使用UE5官方的方式,将我们的DLL创建在插件目录下面。

2023-02-07 16:08:41 5220 10

原创 11月24日 让AI不会一直出现,给AI添加血量,死亡,和布娃娃碰撞,自定义静态函数

")) return;} } void ASAICharacter::OnHealthChanged(AActor* InstigatorActor, USAttributeComponent* OwningComp, float NewHealth,float Delta) { if(Delta

2022-11-29 12:15:37 229

原创 11月26日 创建敌人血量UMG,游戏分数和游戏时间UMG,人物开始位置与不同的游戏模式,控制台功能治愈 ,杀死AI

/杀死所有机器人 void ASGameModeBase::KillAllBot() { //循环所有机器人 for (TActorIterator It(GetWorld());if (ensure(AttributeComp) && AttributeComp->IsALive()) { //执行KillAllBot AttributeComp->KillAllBot(this);//杀死所有机器人 UFUNCTION(Exec) void KillAllBot();

2022-11-29 12:13:09 426

原创 11月22日 EQS优化,让AI知道什么地方不能走,自定义游戏模式,让AI在玩家旁边生成,难度提升,随着时间增多的AI

void ASGameModeBase::StartPlay() { //继承Base的StartPlay Super::StartPlay();//判断数组内是否有第一个值 if(Locations.IsValidIndex(0)) { //生成Bot GetWorld()->SpawnActor(MinionClass,Locations[0],FRotator::ZeroRotator);查找资料后发现要手动引用。

2022-11-23 16:11:36 876

空空如也

空空如也

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

TA关注的人

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