- 博客(230)
- 资源 (33)
- 收藏
- 关注
原创 UE4实现断线重连功能
2.如果要保留pawn的话,可以重载GameMode的AddInactivePlayer,这个函数原本是保留断线的playerstate的,如果也要保留pawn的话,可以在这个函数里参照保留PlayerState的方式,保存pawn,如果不需要保存pawn,没有必要重载该函数。断线重连的整体逻辑是 设备离线后,根据需要决定是否保留pawn,还是设备重连后再重新生成一个,然后是断线重连时的验证方式,最后是playerstate重连后的属性保留。
2023-09-07 13:42:50
1300
原创 UE4针对特殊的透明物体不应用后期效果
这是之前的做法 https://blog.youkuaiyun.com/maxiaosheng521/article/details/121854323比较简单粗暴,效果是所有的透明材质都不应用后期,这次是通过custom stencil 设置为111 过滤掉指定透明材质的后期渲染流程代码和思路说明 https://github.com/HeartlessLD/UE4CustomtranslucencyNoPost-实现对指定透明材质物体不应用后期效果 (在SceneCapture中捕捉的对象也不受效果)说明
2022-05-16 21:57:37
3857
3
原创 UE4根据地图名称获得完整地图路径
这里需要build.cs中添加AssetRegistry 已经对应的头文件bool UMyBlueprintFunctionLibrary::GetMapFullName(const FString& MapName, FString& FullMapName){ IAssetRegistry& AssetRegistry = FModuleManager::Get().LoadModuleChecked<FAssetRegistryModule>("AssetRe
2022-04-19 22:18:45
705
原创 UE4锁定Camera画面
通过重写LocalPlayer的CalcSceneView函数实现FSceneView* UFreezeCameraLocalPlayer::CalcSceneView(class FSceneViewFamily* ViewFamily, FVector& OutViewLocation, FRotator& OutViewRotation, FViewport* Viewport, class FViewElementDrawer* ViewDrawer /* = NULL */, E
2022-04-19 22:16:59
2978
原创 UE4使用管理员权限运行其他程序
普通运行程序FPlatformProcess::CreateProc(*FullPath, *param, true, false, false, nullptr, -1, nullptr, nullptr);管理员权限运行int32 errorCode; FPlatformProcess::ExecElevatedProcess(*exePath, *param, &errorCode); ```
2022-03-07 17:18:04
1088
原创 UE4 FTP Client插件
封装了ftplib的库https://github.com/mkulke/ftplibpp插件地址https://github.com/HeartlessLD/UE4-FTPPlugin-这里大致说一下注意事项,可能有不全的,具体看代码1.插件需要添加一些宏定义.build.csDefinitions.AddRange(new string[] { "NOLFS", "NOSSL", "_CRT_SECURE_NO_WARNINGS", "BUILDING_DLL" });2.添加一些警告
2022-01-24 15:41:03
1373
原创 UE4消除后期对透明材质的影响
默认使用后期配合custom depth 只能实现目前的效果,即保留半透明但是半透明后面的显示内容是没有后期效果的想要实现既保留半透明又能确保半透明后面是后期内容修改ue4源码首先开启 SeprateTranslucencypostprocessing.cpp // DOF passes were not added, therefore need to compose Separate translucency manually. if (LocalSceneColorTexture .
2021-12-10 13:46:59
4863
3
原创 UE4讯飞离线命令词识别插件
首先需要去讯飞开发者平台申请sdk,目前x64版本的sdk还有编译问题,需要单独找客服重新打包一个sdk。替换插件目录中的.lib .dll文件XunfeiReco.cpp中的appid修改为sdk中的idcall.bnf文件目前定义了几组词的识别(退出 10086等),复杂的用法参看官网运行程序后,按R 开始录制 松手自动识别结果如下demo地址https://download.youkuaiyun.com/download/maxiaosheng521/33468006...
2021-10-20 15:58:45
606
16
原创 UE4 模型随着camera的位置突然看不到
如果是静态模型的话。试着修改bound大小如果是骨骼模型的话,那么试着修改骨骼模型的PhysicAsset 使碰撞完全能包裹住模型
2021-04-03 16:35:40
9062
1
原创 UE4 UMG text换行
umg中换行是通过shift + enter来实现的如果想在变量中存储文本的,可以勾选multi linec++的话添加UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (MultiLine = true)) FString Des2;
2021-01-28 17:34:53
4384
1
原创 UE4 Character修改Mesh位置 联网无效
测试修改Character的Mesh的位置 在联网后无效。解决方法:1.暂时没发现合适的解决方法 临时方法就是修改Character Actor的位置,通过设置CharacterMovement Gravity scalse为0,修改Actor为任意位置2.网上查的方法 但是我测试无效void AMyCharacter::BeginPlay(){APawn::BeginPlay();}...
2020-12-23 15:53:17
550
原创 UE4根据dmp文件进行调试
ue4打包后的程序崩溃后,会在Saved文件夹下生成一个Crash目录这里有我们需要的.dmp文件将exe程序和对应的pdb文件放在一起1.双击dmp2.点击Set Symbol Paths 将你的pdb和exe的目录添加进来3.点击DebugWithNativeOnly就会自动进入崩溃的断点位置了...
2020-12-15 19:42:58
4141
原创 UE4 VR模式下 Skylight不起作用
在VR模式下 Skylight不起作用目前找到的方法就是以非vr模式启动,或者先将VR关闭,添加Skylight,然后在开启VR
2020-11-26 15:03:10
1402
3
原创 UE4 SoundNotify随着动画结束 强制结束
SoundNotify 默认是不跟随动画的,加入动画结束,声音还没有结束的话,那么会继续播放。可以通过自定义AnimState 来实现声音随着动画的状态变动AnimState_PlaySound.h// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "Animation/AnimNotifies/An
2020-11-19 14:01:49
988
1
原创 UE4应用RootMotion
需要条件1.动画资源带有骨骼位移 可以通过 设置查看是否有红线2. 设置动画资源EnableRootMotion3. 需要使用的蓝图为继承Character, 并且动画蓝图根据使用具体动画资源 设置是使用everything motionb 还是 Only Montage...
2020-10-27 11:02:37
1722
原创 UE4 在socket中传输中文数据时错误
socket默认使用utf8格式传输数据,如果传输的是中文的话,那么1个中文占用3个字节,发送的个数就需要针对性就行修改,不能简单的使用FString::Len()进行个数计算,这里给出一个计算个数的函数,int32 CalcUtf8NumFromString(const FString & Str){ int32 result = 0; for (int i = 0; i < Str.Len(); i++) { if (Str[i] <= 0x7f)
2020-09-24 16:14:24
932
原创 UE4 Nav导航路线选择设置
需求AI 移动需要避开山坡,即使绕远路线,也优先选择改路线实现方法设置地形 动态创建创建NavArea蓝图cost越大 选择改路线的可能性就越低,这里我们假设将100用于山坡位置,那么ai选择路线时,选择山坡的优先级就是最低如果是场景中使用 可以使用Nav Modify Volume area选择刚才创建的area运行如果这时候使用aicontroller->Move to 移动ai到矩形方块的话, 路线是优先走右侧的绿色区域,如果红色封死的话,才会直接穿过红色
2020-08-26 17:13:19
2898
原创 UE4 简单记录EQS的使用方法
介绍EQS环境查询 主要是用来从场景环境中获得你想要的满足指定条件的数据,主要是和AI行为树配合使用, 比如获得获得玩家距离最近的位置等等详细的官网文档 链接下面是简单的使用方法,目的是寻找一个点,这个点是不被玩家看到,并且距离玩家最远的点准备使用EQS需要在EditorSetting中实验功能中开启EQS步骤创建EQS资源使用Points:Grid 可以生成点阵位置,从中筛选出我们想要的位置(如果对寻找的位置有特殊的需求,也可以自己在c++中重载UEnvQueryGenerator
2020-08-25 18:19:29
2959
1
原创 UE4 c++检测蓝图是否重载了某个函数
在EnvQueryContext_BlueprintBase.cpp中FORCEINLINE bool DoesImplementBPFunction(FName FuncName, const UObject* Ob, const UClass* StopAtClass) { return (Ob->GetClass()->FindFunctionByName(FuncName)->GetOuter() != StopAtClass); }UClass* StopAtCla
2020-08-14 10:40:19
702
原创 UE4 服务器连接中版本比较
需求一个工程使用源码版本运行,一个工程使用发布版本引擎运行,两个客户端在Editor模式下,可以通过JoinSession这种方式进行连接,正常会判断两份客户端版本不同不可以连接,可以通过绑定FNetworkVersion::IsNetworkCompatibleOverride 来实现自定义的版本比较,这里比较简单粗暴,具体详细的可以参考 https://zhuanlan.zhihu.com/p/158986763 实现具体方法(FNetworkVersion::IsNetworkCompatibleO
2020-08-11 17:38:18
880
原创 UE4在 JoinSession过程中传递参数
默认的JoinSession 是没有传递参数功能的,不过我可以通过重写客户端的PlayerController的ClientTravelInternal_Implementation的函数 添加参数,然后在服务器GameMode的InitNewPlayer中获得改参数CustomPlayerControllervoid ClientTravelInternal_Implementation(const FString& URL, enum ETravelType TravelType, bool
2020-08-11 17:33:50
873
原创 UE4 使用自定义的Console Command
关卡蓝图中使用(方便)直接在关卡蓝图中定义 然后可以通过ce + 函数名的方式调用任意蓝图类定义普通的函数,通过ke * + 函数名调用C++中定义可执行函数普通的actor是只能通过ke * + 函数名这种方式执行,只有GameMode Controller 或者Pawn这种才能直接通过函数名执行...
2020-08-04 16:44:08
4829
原创 UE4 雾特效
大气雾 Atmospheric Fog可以将场景中的定向光源设为太阳光,显示日轮效果(Direct Light 中的Atmosphere/Fog Sun Light)天空的颜色将随着光的位置角度发生变化通过Disable Sun Disk 可以取消日轮效果指数高度雾 ExponentialHeight FogFog Density设置雾的浓度Fog Inscattering Color 设置雾的颜色Directional Inscattering Color 设置太阳光的颜色光束
2020-07-30 15:14:37
2404
原创 UE4反射
反射捕获原理是在actor位置捕获一张360度的图片(可以通过ProjectSetting中的Reflectioncapture Resolution设置分辨率)优点:性能消耗低,噪点低确定:反射的内容不准确,不能实时计算屏幕空间反射(ssr)默认开启的反射系统优点:位置准确,实时计算反射内容,消耗中等缺点:噪点比较大,只能绘制当前相机内容的反射,超出相机范围的内容不会进行反射计算平面反射(Planner Reflection)一般适用于 平面上的反射,例如镜子 湖面 窗户等
2020-07-27 16:20:24
1180
原创 UE4 光照特效
光源形状例如,针对PointLight 可以通过修改Source Radius 和 Source Length来修改光的形状光的IES特效可以通过设置Light Profiles 中的IES Texture(由外部软件进行创建),在光源投射出指定的效果,多在聚光灯中进行使用光源材质将光与材质相结合 创建出特殊形状的光,例如光投影到睡眠的焦散效果,还有天空的云投影到大地在Light Function Material中设置下面的材质...
2020-07-23 16:16:40
1145
原创 UE4 可移动光源
级联阴影常用设置Dynamic Shadow Distance MovableLight 设置级联阴影的计算距离 ,根据距离切换不同级别的级联阴影贴图NumDynamic Shadow Cascades 级联阴影层级,表示级联阴影可以切换几次距离场阴影开启 ProjectSetting Generate Mesh Distance Fields选中光源中的Distance Field Shadow当不在级联阴影的范围中时,会自动切换到距离场引用,相比级联阴影,距离场阴影的消耗会比较
2020-07-03 16:23:28
839
原创 UE4光照的选择
静态光源(Static):不能动态实时的添加,只能预先烘焙好效果,,但是不能和动态物体进行集成性能消耗最低,一个光源和1000个光源的效果是一样的,只会影响烘焙时间影子可以根据光照贴图的分辨率来调整锐利清晰程度固定光源(Stationary):位置不变,但是亮度颜色可以发生变化,不过间接的反射光线的影响不会发生变化,只是预先烘焙好的性能消耗中等会将阴影信息存储到阴影贴图中,所以只能同时允许4个固定光源产生重叠,如果超过,多余的光源将会转换使用动态阴影,增大消耗,可以通过ViewMode
2020-07-03 15:45:27
732
原创 UE4 使用c++内部宏输出调试信息
UE_LOG(LogTemp, Warning, TEXT("__LINE__ = %s, __FUNCTION__ == %s, __FUNCSIG__ = %s, __TIME__ = %s, __FILE__ = %s"), *FString::FromInt(__LINE__), *FString(__FUNCTION__), *FString(__FUNCSIG__), *FString(__TIME__), *FString(__FILE__) );
2020-07-02 17:49:51
682
原创 UE4 全局光照设置
场景中使用Lightmass Importance volume 放在重要的位置,可以提高相应位置的烘焙质量,减少烘焙时间房间的光线入口处添加Lightmass Portal 可以提高从该入口进入的光线数量World Setting中修改Indirect Lighting Quality 设置间接光照质量World Setting中修改Num Indirect Lighting Bounces 设置间接光照反弹次数World Setting中修改Static Lighting Level Scal.
2020-07-02 15:49:53
3899
原创 UE4 光照烘焙准备
使用时机当场景中使用静态或者静止的光源照静态模型时,需要烘焙光照贴图。1. 将场景中的需要烘焙的模型Mobility设置为Static(如果是Stationary模型的左上角会黄点,Movable的话 左上角是红点)2. 模型的UV需要双UV 第二套用来存储光照贴图如果没有第二套UV,可以使用UE4设置来自动生成这里自动生成的UV 不能有重叠,否则光照效果会出问题,自动生成不理想的话,需要在3d软件中进行设置3.光照贴图设置可以设置光照贴图的分辨率还有贴图保存到哪个UV通道
2020-07-02 11:40:21
5642
原创 UE4 mac下无开发者账号打包ipa包
这是一种在mac下不充99美元打包ipa的方法 只是一种临时测试用的方法在xcode中创建一个普通的ios工程,并配置Bundle Identifier这时候在~/Library/MobileDevice/Provisioning Profiles下会有自动创建对应的Provision profile文件进入虚幻中进行ISO设置设置sign相关 这里注意设置TeamId 从最开始创建的Xcode中获得5.File / PackageProject / IOS 打包即可,打
2020-06-30 16:27:44
1493
原创 UE4 OpenCV+Dlib插件(支持Windows Android)人脸检测(二)
本篇是Dlib插件的编写,使用难点主要在与Android端,PC端SDK打包好后基本就可以使用,Android端遇到了各种兼容之类的bug参考https://my.oschina.net/jjyuangu/blog/2243591https://blog.youkuaiyun.com/u012234115/article/details/90642844Dlib下载和编译(针对Windows平台和Android)Dlib官网下载地址 工程里(源码在上一篇文章里)使用的是19.7版本,只针对UE4的And
2020-05-28 15:40:35
1884
原创 将C++的输出流内容使用UE_LOG进行输出
C++class a;cout<<a;UE4std::stringstream strout;strout <<a;UE_LOG(LogTemp, Warning, UTF8_TO_TCHAR(strout.str().c_str()));
2020-05-27 10:46:42
727
原创 UE4 Jni调用
+需要在.build.cs中添加“Launch”模块头文件#if PLATFORM_ANDROID#include "Android/AndroidApplication.h"#include "Android/AndroidJni.h"#endifC++创建 Java类实例 JNIEnv* Env = FAndroidApplication::GetJavaEnv(); jclass AndroidCameraClass = FAndroidApplication::FindJa
2020-05-26 12:31:49
1497
原创 UE4 直接打包图片到目录中,不打包成pak
设置TestRes目录下的文件不会打包成.pak文件获得Content目录路径Windows平台可以通过 FPaths::GameContentDir()获取Android平台 extern const FString &GetFileBasePath(); FString ProjectPath = GetFileBasePath(); FString TestImgPath = FPaths::Combine(ProjectPath, FApp::GetProje...
2020-05-26 12:21:49
1318
原创 UE4 OpenCV+Dlib插件(支持Windows Android)人脸检测(一)
本篇是OpenCV插件的编写,接入参考https://github.com/Brandon-Wilson/OpenCV-Pluginhttps://github.com/TianxingWu/OpenVHeadhttps://unreal.gg-labs.com/wiki-archives/ar-vr/integrating-opencv-into-unreal-engine-4https://github.com/Batname/UE4OpenCV相关配置opencv 3.4UE4.
2020-05-26 12:08:31
3261
2
原创 UE4 升级vs版本导致打开工程报的c++错误
error C4800: 从“const wchar_t *”到 bool 的隐式转换。信息可能丢失在VCToolChain.cs 484行添加下面的 Arguments.Add("/TP"); Arguments.Add("/wd4800");include <typeinfo.h> error修改为include <typeinfo>
2020-05-20 16:47:24
975
UE4 跑马灯文本
2018-10-29
UE4 network Character Movement
2018-05-21
ue4 通过ip连接Replicated server
2018-05-18
Photon server简单的使用demo
2018-03-07
UE4 官网视频Blueprint Twin Stick Shooter 资源包
2017-07-13
实现了UE4 tcp 服务器客户端连接Demo.zip
2020-04-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人