首页/新闻资讯/正文详情

UE4学习日记

发布时间:2026/9/24 13:29:15 来源:云帆数科 栏目:资讯中心
UE4学习日记
1、制作一个双击事件创建一个MacroDelay可以控制点击的时间2、UMG 穿透设置把最上层组件设置为Self Hit Test invisible其它组件设置默认添加Handled到OnMouseButtonDown3、重新制作窗口标题栏runtime1、在ProjectSettings——Description——UseBorderlessWindow勾选使用无边框2、使用ExecuteConsoleCommand命令r.setRes 1280x720w窗口化3、制作一个自定义标题栏4、编写移动窗口代码//传入移动值 void Test::MoveWindow(FVector2D ViewportPosition) { if (GEngine GEngine-GameViewport) { GEngine-GameViewport-GetWindow()-MoveWindowTo(ViewportPosition); } }5、在蓝图应用*在编辑器下是有标题栏的所以最好在打包下测试拖拽窗口6、编写最小化代码void Test::Minimize() { if (GEngine GEngine-GameViewport) { GEngine-GameViewport-GetWindow()-Minimize(); } }7、编写最大化代码void Test::Maximize() { if (GEngine GEngine-GameViewport) { GEngine-GameViewport-GetWindow()-Maximize(); } }8、编写恢复代码void UMyBlueprintFunctionLibrary::Restore() { if (GEngine GEngine-GameViewport) { GEngine-GameViewport-GetWindow()-Restore(); } }9、关闭窗口QuitGame4、使用命令行打包1、新建.bat文件把路径修改执行bat文件F:/Program Files/Epic Games/UE_4.22/Engine/Build/BatchFiles/RunUAT.bat BuildCookRun -project/../../LoadMesh.uproject -noP4 -clientconfigDevelopment -serverconfigDevelopment -nocompile -nocompileeditor -installed -ue4exeUE4Editor-Cmd.exe -utf8output -platformWin32 -targetplatformWin32 -build -cook -mapTest -unversionedcookedcontent -pak -createreleaseversion1.0.0 -compressed -stage -package2、可以参考3、针对需要参数的进行添加、修改5、WebUI CallWebUI技术文档http://cdn.tracerinteractive.com/webui/documentation.pdf//引用到UE4 if (typeof ue ! object || typeof ue.interface ! object || ue.interface.broadcast ! function) { if (typeof ue ! object) ue {}; // mobile ue.interface {}; ue.interface.broadcast function (name, data) { if (typeof name ! string) return; var args [name, ]; if (typeof data ! undefined) args[1] data; var hash encodeURIComponent(JSON.stringify(args)); if (typeof history object typeof history.pushState function) { history.pushState({}, , # hash); history.pushState({}, , # encodeURIComponent([])); } else { document.location.hash hash; document.location.hash encodeURIComponent([]); } }; } else (function (obj) { // desktop ue.interface {}; ue.interface.broadcast function (name, data) { if (typeof name ! string) return; if (typeof data ! undefined) obj.broadcast(name, JSON.stringify(data)); else obj.broadcast(name, ); }; })(ue.interface); // create the global ue4(...) helper function ue4 ue.interface.broadcast;ue.interface.setFPS function(fps) { $(#ue4test5).text(after changedfps); //alert(样式被切换了-); }; //触发事件 ue4(afd,0);定义函数setFPS参数fps。就可以在蓝图节点Call上Function:setFPSData:fps。注意1、调用setFPS时需要使用ue4()触发委托事件不然触发不了setFPS。测试过加上tickEvent连接Call可以不停触发setFPS只要触发一次就可以连续触发。2、UE4端调用Web端函数接口web端如果使用vue编写才模块需要手动在window模块下建立对象(ue.interface)在其它地方才可以调用。两端互通web是通过window的顶级容器来控制的。6、使用Excel插件记录读取Excel改写里面内容读取时间格式7、在蓝图项目下插件在打包后出现异常这是插件未被加载处理方法1、在.uplugin文件添加EnabledByDefault:false点保存可不用编译2、在.uproject文件删除 默认添加的plugins引用Plugins: [{Name: XXXXXXX,Enabled: true}]3、这时插件就没有被激活。正常激活则可。注一般在其它项目复制插件过来使用时出错8、获取文件夹下所有文件夹void UReadFileManager::GetFolderByDir(FString InDir, TArrayFString OutFolders) { //param: InDirD:\Asset\TestOsgb\* 路径后需要加“*” IFileManager FileManager IFileManager::Get(); FileManager.FindFiles(OutFolders, *InDir, false, true); }9、3D软件导入UE4格式规范3D软件导出设置单位为mm(毫米)轴向为Z10、播放视频时没有声音添加MediaSound组件Media-MediaPlayer设置为对应的MediaPlayer把添加音频组件的Actor放到场景里在Media播放时就会有声音11、数字位数显示MinimumIntegralDigits:2则0112、帧率设置1、锁定帧率Project Settings - Engine - General Settings - Use Fixed Frame Rate2、平滑同步率注因为设备的配置不同性能不同出现帧率会有快慢。所以在制作时要保持帧率一致。屏幕移动时物品出现跳帧把帧率max设置65。13、屏幕出现大范围闪烁1、程序在一体机大屏下单指触摸出现闪烁是分辨率设置问题把大小设置为100%14、滑动Camera出现残影projectSettings-Rendering-anti-AliasingMethod-FXAA15、Transform平滑过渡例如cube位移到球上使用VInterpto函数16、像素流送端口修改1、找到D:\EpicGames\UE_4.26\Engine\Source\Programs\PixelStreaming\WebServers\SignallingWebServer\cirrus.js文件2、var FRONTEND_WEBSERVER https://localhost; if (config.UseFrontend) { var httpPort 3000; var httpsPort 8000; //Required for self signed certs otherwise just get an error back when sending request to frontend see https://stackoverflow.com/a/35633993 process.env.NODE_TLS_REJECT_UNAUTHORIZED 0 const httpsClient require(./modules/httpsClient.js); var webRequest new httpsClient(); } else { //修改端口为90默认是80 var httpPort 90; var httpsPort 443; } //默认为8888修改为7777 var streamerPort 7777; // port to listen to Streamer connections3、因为可能有其它软件会占用80端口所有需要修改4、在浏览器下IP地址192.168.1.10:90本机IP端口需要加端口后缀不然打不开注因为chrome升级原因导致本机操控程序异常。可以使用其它差一点的浏览器例如QQ浏览器。17、boolean运算——DynamicMesh31、使用FMeshBoolean boolean运算需要进行把StaticMesh、ProceduralMesh转换成DynamicMesh3使用DynamicMesh3进行运算。2、ProceduralMesh to DynamicMesh3FMeshDescription MeshDescription BuildMeshDescription(PMC); TSharedPtrFDynamicMesh3 OriginalMesh MakeSharedFDynamicMesh3(); FMeshDescriptionToDynamicMesh MeshDescriptionToDynamicMesh; MeshDescriptionToDynamicMesh.Convert(MeshDescription, *OriginalMesh); MeshOut.Copy(*OriginalMesh);3、StaticMesh to DynamicMesh3可以使用获取staticmesh的section转换成ProceduralMesh再转换成DynamicMesh3但这不是最优的用法GetMeshDescription是编辑下使用的18、中文乱码FString str 中字打印str出现乱码。使用notepad转UTF-8-BOMF。FString str TEXT(中字)就可以正常打印。19、插件封装1、制作完插件后在UE4编辑器插件界面上运行打包插件2、直接打开.build.cs文件下添加不用再编译VS//不编译模块 bUsePrecompiled true;3、删除源文件4、插件文件夹就可以发布了遇到的问题1遇到缺少PrecompileForTargets PrecompileTargetsType.Any需要运行插件打包不然打包会出错。我现在这种情况就是没有使用插件打包。20、安装UE5缺少dotnet运行出现异常下载 .NET 6.0 Runtime (v6.0.12) - Windows x64 Installer5.0打包失败下载 .NET Core 3.1 Desktop Runtime (v3.1.32) - Windows x64 Installer21、触摸屏仅触发一次UE5ModelingToolsEditorMode的插件导致了此错误22、实现材质球前置显示23、播放不了视频使用4K分辨率3840*2160时运行程序读取视频时出现下图错误解决方案需要把百分比设置为150%24、VS启动UE引擎异常解决方案把项目需要使用的插件需要在.uproject上包含插件Plugins: [ { Name: XXXX, Enabled: true } ]25、代理、委托是分蓝图使用和C的//BP DECLARE_DYNAMIC_DELEGATE_ThreeParams(FSimpleHttpSingleRequestCompleteDelegate,const FSimpleHttpRequest ,Request,const FSimpleHttpResponse , Response,bool ,bConnectedSuccessfully); DECLARE_DYNAMIC_DELEGATE_ThreeParams(FSimpleHttpSingleRequestProgressDelegate,const FSimpleHttpRequest , Request, int64, BytesSent, int64, BytesReceived); DECLARE_DYNAMIC_DELEGATE_ThreeParams(FSimpleHttpSingleRequestHeaderReceivedDelegate, const FSimpleHttpRequest , Request, const FString , HeaderName, const FString , NewHeaderValue); DECLARE_DYNAMIC_DELEGATE(FAllRequestCompleteDelegate); //C DECLARE_DELEGATE_ThreeParams(FSimpleSingleCompleteDelegate, const FSimpleHttpRequest , const FSimpleHttpResponse , bool); DECLARE_DELEGATE_ThreeParams(FSimpleSingleRequestProgressDelegate, const FSimpleHttpRequest , int64, int64); DECLARE_DELEGATE_ThreeParams(FSimpleSingleRequestHeaderReceivedDelegate, const FSimpleHttpRequest , const FString , const FString );26、VS安装配置https://docs.unrealengine.com/5.2/zh-CN/setting-up-visual-studio-development-environment-for-cplusplus-projects-in-unreal-engine/27、 texture streaming pool over budgetProjectSettings-Textures-Texture Streaming 把勾去掉28、出现Renderthread渲染线程等待出错DefaultRHI:使用DX11时可能出错设置DX12可解决问题29、WigetToPNGUE4/5 UMG中截屏保存Widget方法 | Calmer的文章30、Http请求出现断网使用命令行启动UE程序时连续启动需要延迟启动不然http请求会出现断网31、展UV

相关推荐

解决xAdmin和DjangoUeditor在Django 3.x中的兼容性问题
解决xAdmin和DjangoUeditor在Django 3.x中的兼容性问题

在使用Django进行Web开发时,开发者往往会遇到一些不常见的Bug,特别是当使用第三方库和插件时。本文将总结其中一个较为常见的问题——Xadmin和DjangoUeditor在Django 3.x中的兼容性问题,并分享具体的解决方案。这些经验来自日常开发中的实践,尤其对于那些不熟悉源码修改的开… · 2026/9/24 13:29:15

用Arduino自制ISP编程器:AVR芯片烧录原理与实操指南
用Arduino自制ISP编程器:AVR芯片烧录原理与实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 13:29:09

XL2417D:2.4G无线SoC实现300-700米远距离通信
XL2417D:2.4G无线SoC实现300-700米远距离通信

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 13:29:09

TMC2209串口调试实战:UART帧格式、寄存器读写与CRC8校验
TMC2209串口调试实战:UART帧格式、寄存器读写与CRC8校验

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 14:01:23

【Dify】高效知识搜索与智能问答应用
【Dify】高效知识搜索与智能问答应用

知识搜索是实现跨平台、多源信息融合的关键技术,尤其在智能问答和决策支持中扮演重要角色。该工作流设计了多节点协作机制,涵盖网络搜索、本地数据库检索和向量语义匹配,依托强大的语言生成模型,实现精准且自然的答案生成。 本文介绍了该知识搜索工作流的整体架构和核心模… · 2026/9/24 14:01:23

【Dify】文本风格重写智能应用
【Dify】文本风格重写智能应用

文本内容的多样化和风格创新已成为内容创作领域关注的重点,智能文本生成技术正不断推动这一趋势发展。自动化处理与风格重写为写作带来了更多创意和效率上的提升。 本文介绍一个基于多大语言模型的文本自动生成与风格重写工作流,涵盖核心模型、节点设计、操作流程及典型应用… · 2026/9/24 14:01:23

【Dify】基于LLM的多关卡人机互动排名游戏应用
【Dify】基于LLM的多关卡人机互动排名游戏应用

互动对战排行榜在各类编程实践、知识竞赛和智能体比拼中,正成为提升参与感和公平性的关键环节。借助大语言模型和自动化流程,文本对战排行榜不仅简化操作流程,也显著提升了效率与准确性。 本文以Dify平台为基础,系统介绍通过大语言模型与工作流节点协作,实现互动对战类文… · 2026/9/24 14:01:23

CANoe CAPL刷写ECU:从UDS诊断到Bootloader时序控制实战
CANoe CAPL刷写ECU:从UDS诊断到Bootloader时序控制实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 14:01:17

STM32H743 SD卡读写实战:MDMA+FATFS配置避坑与性能优化
STM32H743 SD卡读写实战:MDMA+FATFS配置避坑与性能优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 14:01:10

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码