UE4学习日记

news/2024/12/22 9:11:34/

1、制作一个双击事件

创建一个Macro,Delay可以控制点击的时间


2、UMG 穿透设置

把最上层组件设置为Self Hit Test invisible,其它组件设置默认

 添加Handled到OnMouseButtonDown


3、重新制作窗口标题栏(runtime)

1、在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、关闭窗口,QuitGame


4、使用命令行打包

1、新建.bat文件,把路径修改,执行bat文件

"F:/Program Files/Epic Games/UE_4.22/Engine/Build/BatchFiles/RunUAT.bat" BuildCookRun -project="/../../LoadMesh.uproject" -noP4 -clientconfig=Development -serverconfig=Development -nocompile -nocompileeditor -installed -ue4exe=UE4Editor-Cmd.exe -utf8output -platform=Win32 -targetplatform=Win32 -build -cook -map=Test -unversionedcookedcontent -pak -createreleaseversion=1.0.0 -compressed -stage -package

2、可以参考

3、针对需要参数的进行添加、修改

5、WebUI Call

WebUI技术文档:http://cdn.tracerinteractive.com/webui/documentation.pdf

//引用到UE4if (typeof ue != "object" || typeof ue.interface != "object" || ue.interface.broadcast != "function") {if (typeof ue != "object")ue = {};// mobileue.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) {// desktopue.interface = {};ue.interface.broadcast = function (name, data) {if (typeof name != "string")return;if (typeof data != "undefined")obj.broadcast(name, JSON.stringify(data));elseobj.broadcast(name, "");};})(ue.interface);// create the global ue4(...) helper functionue4 = ue.interface.broadcast;
		ue.interface.setFPS = function(fps){$("#ue4test5").text('after changed'+fps);//alert("样式被切换了->>>>");};//触发事件ue4("afd",0);

定义函数setFPS,参数fps。就可以在蓝图节点Call上Function:setFPS,Data: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, TArray<FString>& OutFolders)
{//@param:   InDirD:\Asset\TestOsgb\* 路径后需要加“*”IFileManager& FileManager = IFileManager::Get();FileManager.FindFiles(OutFolders, *InDir, false, true);
}

9、3D软件导入UE4格式规范

3D软件导出设置,单位为mm(毫米),轴向为+Z

10、播放视频时没有声音

添加MediaSound组件,Media->MediaPlayer设置为对应的MediaPlayer,把添加音频组件的Actor,放到场景里,在Media播放时就会有声音

11、数字位数显示

MinimumIntegralDigits:2,则01

12、帧率设置

1、锁定帧率:Project Settings -> Engine -> General Settings -> Use Fixed Frame Rate

2、平滑同步率

注:因为设备的配置不同,性能不同,出现帧率会有快慢。所以在制作时要保持帧率一致。

屏幕移动时,物品出现跳帧,把帧率max设置65。

13、屏幕出现大范围闪烁

1、程序在一体机大屏下单指触摸出现闪烁,是分辨率设置问题,把大小设置为100%

14、滑动Camera出现残影

projectSettings->Rendering->anti-AliasingMethod->FXAA

15、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/35633993process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"const httpsClient = require('./modules/httpsClient.js');var webRequest = new httpsClient();
} else {//修改端口为90,默认是80var httpPort = 90;var httpsPort = 443;
}
//默认为8888,修改为7777
var streamerPort = 7777; // port to listen to Streamer connections

3、因为可能有其它软件会占用80端口,所有需要修改

4、在浏览器下,IP地址:192.168.1.10:90(本机IP)+端口,需要加端口后缀,不然打不开

注:因为chrome升级原因,导致本机操控程序异常。可以使用其它差一点的浏览器,例如QQ浏览器。

17、boolean运算——DynamicMesh3

1、使用FMeshBoolean boolean运算,需要进行把StaticMesh、ProceduralMesh转换成DynamicMesh3,使用DynamicMesh3进行运算。

2、ProceduralMesh to DynamicMesh3

		FMeshDescription MeshDescription = BuildMeshDescription(PMC);TSharedPtr<FDynamicMesh3> OriginalMesh = MakeShared<FDynamicMesh3>();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 Installer

21、触摸屏仅触发一次(UE5)

ModelingToolsEditorMode的插件导致了此错误

22、实现材质球前置显示

23、播放不了视频

使用4K分辨率3840*2160时,运行程序读取视频时,出现下图错误

解决方案:需要把百分比设置为150%


http://www.ppmy.cn/news/809105.html

相关文章

学习笔记4

概念&#xff1a;Linux&#xff0c;全称GNU/Linux&#xff0c;是一种免费使用和自由传播的类UNIX操作系统&#xff0c;其内核由林纳斯本纳第克特托瓦兹于1991年10月5日首次发布&#xff0c;它主要受到Minix和Unix思想的启发&#xff0c;是一个基于POSIX的多用户、多任务、支持多…

零基础Unreal Engine 4(UE4)图文笔记之基础篇-基本操作(二)

目录 场景漫游 运用Geometry进行简单的场景 移动物体&#xff08;W&#xff09; 旋转物体&#xff08;E&#xff09; 缩放&#xff08;R&#xff09; 细节面板 Brush Settings--Brush Type Brush实例 组合&#xff08;CTRLG&#xff09; 解组&#xff08;SHIFTG&…

零基础Unreal Engine 4(UE4)图文笔记之基础篇-材质入门(三)

目录 创建材质 RPG&#xff08;3左键&#xff09; 常量&#xff08;1左键&#xff09; 设置材质基础颜色 预览窗口 金属值 使用材质 材质实例 总结&#xff1a; 下一章初步运行 创建材质 在引擎界面的下方&#xff08;默认&#xff09;的内容浏览器中&#xff0c;先创…

开发板评测 | STM32 Nucleo-64评测报告

本篇将介绍NUCLEO-L053R8(stm32l053r8t6芯片)开发板的测评&#xff0c;整体上这个板子沿用了传统的塑料包装。 简约不简单&#xff0c;内含纸板双面分别标有引脚图及芯片简单介绍和入门引导。Arduino™的连接支持和ST Morpho的扩展连接头使用户很容易扩大STM32 Nucleo板对外开…

UE4 NavMesh学习笔记

学习资料&#xff1a; https://zhuanlan.zhihu.com/p/74537236 https://blog.csdn.net/u013272009/article/details/80086833 RecastNavigation有哪些内容 主要包含两大类&#xff1a;RecastNavigation Recast&#xff08;生成凸多边形&#xff0c;即网格&#xff09; Det…

零基础Unreal Engine 4(UE4)图文笔记之粒子系统(九)

目录 创建粒子材质 创建粒子 Spawn&#xff08;持续生成&#xff09; 和 Burst&#xff08;爆发生成&#xff09; LiftTime属性 Inital size Inital Velocity Color over Life和Alpha over Life 总结 下一篇 ​​​​​​​ 上一篇讲述了UI的实现&#xff0c;这里我们…

UE4 - 初学笔记

UE4文件夹说明&#xff1a; 1、鼠标左键 - 视角前后移动、鼠标右键 - 视角旋转、鼠标中键 - 视角上下 按住鼠标右键 WSAD - 前后左右 、按住鼠标右键 QE - 上下、按住鼠标右键 ZC - 聚焦与广角 2、Alt 鼠标左键 &#xff1a; 围绕物体查看 3、F &#xff1a;聚焦物体 4、W…

Unreal4 入门

http://blog.sina.com.cn/s/blog_7c5fd2e90101ku0j.html 使用Unreal4引擎前需要安装 或者编译引擎。 下面就为同学们介绍下 Unreal4 安装配置。 一. 在Win7下安装Unreal4 在Win7下安装Unreal4需要以下几个步骤&#xff1a; 1. 打开“控制面板”的“程序和功能” 检查是否已安…