[UE4]console命令行常用命令(command)

本文介绍了游戏引擎中的一些控制台指令,包括不同视图模式如Lit、Unlit、Wireframe等,用于优化渲染和检查光照效果。此外,还提到了显示帧率、硬件资源使用、drawcall数量以及性能统计工具statstartfile和statstopfile的使用,帮助开发者诊断和提升游戏性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先简单粗略的记录下一些控制台指令

Rendering

渲染优化分析视图模式:

//Lit view mode shows the final result of your scene once all of the Materials and lighting have been applied.
//Hotkey: Alt + 4
viewmode lit

//Unlit view mode removes all lighting from the scene, showing you Base Color only.
//Hotkey: Alt + 3
viewmode unlit

//Wireframe shows all of the polygon edges in the scene. In the case of Brushes, you will see the resultant geometry. 
//Hotkey: Alt + 2
viewmode wireframe

//Detail Lighting activates a neutral Material across the entire scene, using the normal maps of the original materials. This is useful for isolating whether your BaseColor is obscuring lighting by being too dark or noisy. 
//Hotkey: Alt + 5
viewmode lit_detaillighting

//Lighting Only shows a neutral Material that is only affected by lighting. It differs from Detail Lighting mode in that you will not see normal maps. 
//Hotkey: Alt + 6
viewmode lightingonly

//Light Complexity shows the number of non-static lights affecting your geometry. This is useful for tracking lighting cost - the more lights affecting a surface, the more expensive it will be to shade. 
//Hotkey: Alt + 7
viewmode lightcomplexity

//Shader Complexity Mode is used to visualize the number of shader instructions being used to calculate each pixel of your scene. It is generally a good indication of how performance-friendly your scene will be. In general, it is used to test overall performance for your base scene, as well as to optimize particle effects, which tend to cause performance spikes with a large amount of overdraw for a short period of time. 
//Hotkey: Alt + 8
viewmode shadercomplexity

//view quad overdraw
viewmode quadoverdraw

显示刚体:Show Collision
显示帧率:stat fps
显示mesh drawcall:stat scenerendering
显示UMG Widget drawcall:stat slate
显示static mesh、skeletal mesh的三角面数量:stat Engine
显示硬件级(RHI)三角面总数和drawcall总数:stat rhi

其中:
Render target memory是buffer(比如g-buffer)或shadow map等render target的内存大小。buffer大小取决于分辨率,shadow map大小取决于阴影质量。
Triangles drawn是最终绘制的面数,即camera frustum和occlusion culling之后的面数。数量包含了shadowmap和tessellation,所以数值会显著高于stat Engine中的三角面数;
DrawPrimitive calls数量除了geometry,还包括decals、shadows、translucent lighting volumes、post processing等,其数值也会明显高于stat scenerendering中的draw call数。

显示单帧信息:总时长、Game耗时、Draw耗时、GPU耗时:stat Unit、stat UnitGraph //附带各个参数的实时曲线图
显示当前帧的CPU时间信息(各种Tick, GC Mark,Update Overlaps等):stat game
设置渲染分辨率为默认大小的50%(500就表示实际viewport大小的5倍尺寸来渲染,可以用来做压力测试,判断性能瓶颈是不是像素处理)
r.ScreenPercentage 50
r.SetRes也可以判断瓶颈是否和像素相关。和r.ScreenPercentage功能相同,但r.ScreenPercentage有额外开销。

r.SetRes 1920x1080f
查看遮挡剔除:r.visualizeOccludedPrimitives 1
启用early Z pass,默认已开启:r.EarlyZPass 3
较高的drawcall情况下,开启后如果basepass的overdraw反而较少,说明early Z pass效果明显。修改值后需要重新运行游戏生效。

关闭或开启屏幕上打印信息(AddOnScreenDebugMessage) :DisableAllScreenMessages、EnableAllScreenMessages

Viewport高清截图
//以当前viewport分辨率的两倍进行截图
HighResShot 2

//指定分辨率截图
HighResShot 3840x2160
图片存储位置:\Saved\Screenshots\

Taking Screenshots

Dump Console Commands
Q:console的命令非常多,如何将所有命令全部dump出一个列表?
A:使用命令dumpconsolecommands,执行后,所有可用的命令会存储在\Saved\Logs\下的log文件中。

参考自:Where can I find all the console commands?

或者直接查看引擎源码:
Engine\Source\Runtime\Engine\Private\UnrealEngine.cpp

bool UEngine::Exec( UWorld* InWorld, const TCHAR* Cmd, FOutputDevice& Ar )
性能统计图工具 Session Frontend
用于记录某段时间内的性能分析数据。

**在需要开始统计的时刻执行:**stat startfile
**在统计完成的时刻执行:**stat stopfile

### 回答1: 在UE4中启动第三方软件并将其嵌入窗口的过程可以通过蓝图和C++代码实现。在蓝图中,可以使用“Execute Console Command”节点来执行一些命令行命令。事先使用命令行启动第三方软件,并将其的窗口句柄获取到,然后使用“Set Parent Window”节点将其嵌入到UE4窗口中。这种方法比较简单,但是需要一些命令行知识和手动启动第三方软件。 在C++代码中,可以使用Windows API的相关函数来启动第三方软件并将其嵌入到UE4窗口中。首先要获取UE4窗口的句柄,然后启动第三方软件并获取其窗口句柄,最后使用API函数“SetParent”将第三方软件的窗口嵌入到UE4窗口中。需要注意的是,在C++代码中使用API函数,需要一些Windows编程基础和对UE4引擎的深度理解。 无论是使用蓝图还是C++代码,在嵌入第三方软件的过程中,需要注意一些细节问题,例如窗口大小,透明度等等。同时,因为每个第三方软件的窗口操作不同,所以需要根据具体的软件特点来进行调整。嵌入第三方软件可以极大的扩展UE4的功能,让开发者可以更加灵活的进行开发。 ### 回答2: UE4是一款非常出色的游戏引擎,尤其是在游戏开发领域中广受欢迎。但随着游戏的发展和增强,开始需要调用第三方软件或为其他目的嵌入第三方软件。本文将探讨如何在UE4中启动第三方软件并嵌入窗口。 启动第三方软件 UE4引擎提供了开发者使用的许多不同功能,其中之一是System Library。这个库提供了许多关于系统功能的函数,可以通过调用这些函数来实现系统相关的任务。在我们的情况下,我们将使用System Library中的Launcher功能来启动第三方软件。 我们可以使用FPlatformProcess::CreateProc函数来启动第三方软件。这个函数需要三个参数:软件的完整路径、命令行参数和是否显示软件的标志。例如下面的代码: ```cpp FPlatformProcess::CreateProc(TEXT("C:/Program Files/ExampleApp/ExampleApp.exe"), TEXT(" -option1"), true, false, false, nullptr, 0, nullptr, nullptr); ``` 嵌入第三方软件 一旦我们启动了第三方软件,我们可能需要将其嵌入到我们的UE4应用程序中。具体地说,我们可能需要在我们的UE4窗口中嵌入一个Web浏览器或视频播放器等。 要将第三方软件嵌入到UE4窗口中,我们可以使用WinAPI中提供的CreateWindowEx函数。这个函数允许我们创建一个新的窗口或子窗口,并将其嵌入到我们的UE4窗口中。 下面是实现此操作的典型代码片段: ```cpp HWND ParentWindow = (HWND)SomeUE4WindowHandle; HWND ChildWindow = CreateWindowEx(WS_EX_CLIENTEDGE, _T("SomeClassName"), _T("SomeName"), WS_CHILD | WS_VISIBLE, 0, 0, 640, 480, ParentWindow, NULL, NULL, NULL); ``` 熟悉WinAPI编程的人可能很熟悉这个代码。简单地说,它使用CreateWindowEx函数创建了一个新的窗口,并将其作为子窗口嵌入到父窗口中(在本例中为SomeUE4WindowHandle)。 在这个例子中,我们创建了一个名为“SomeName”的子窗口,并将其嵌入到我们的UE4窗口中。此外,注意我们使用了WS_CHILD和WS_VISIBLE标志,这两个标志告诉Windows将窗口作为子窗口创建,并将其设置为可见。 总结 在UE4中启动第三方软件并嵌入窗口可能有点棘手,但使用System Library和WinAPI应该很容易实现。如果你需要在你的UE4应用程序中使用其他软件,这些技巧可能会帮助你实现你的目标。 ### 回答3: UE4是一款强大的游戏引擎,开发者可以通过其提供的各种工具和功能来制作出高品质的游戏。在UE4中,我们可以通过使用蓝图来实现启动第三方软件并嵌入窗口的功能,下面是步骤: 第一步:设置启动参数 在UE4中,我们可以使用命令行来启动第三方软件。因此,我们需要设置好要启动软件的路径和命令行参数。这可以使用节点“Run Program”来完成。在节点的“Executable path”输入框中填入要启动的软件路径,在“Command line arguments”输入框中填入要传递给软件的命令行参数。例如,要启动一个记事本软件,我们可以这样设置: 第二步:创建嵌入窗口 在UE4中,我们可以使用“UMG Widget Component”组件来创建嵌入式窗口。在创建嵌入式窗口之前,我们需要先在项目中打开UMG编辑器,然后创建一个新的UMG小部件来显示Windows窗口。在UMG编辑器中,我们可以自由地添加各种控件、元素等,以达到我们想要的效果。完成后,将其保存为UMG小部件。 接下来,在UE4中创建一个新的Actor,并将其浏览器组件中的Root组件替换为“UMG Widget Component”组件。然后,将我们刚才创建的UMG小部件拖动到“UMG Widget Component”组件的“Widget Class”属性中。这将使我们的UMG小部件显示在Actor的浏览器中,从而创建了嵌入式窗口。 第三步:嵌入窗口和第三方软件 要将第三方软件嵌入到我们创建的UMG小部件中,我们需要使用Windows API。在UE4中,我们可以使用第三方插件“WindowsMixedReality”来直接使用Windows API。因此,我们需要先下载并安装此插件。 在UE4中,我们可以使用“Windows Mix Reality”插件的“AttachNativeWindowToWidget”函数来将第三方软件附加到我们创建的UMG小部件中。在此函数中,我们需要传入所需的参数,例如我们所启动的软件的句柄和我们的UMG小部件的句柄,以及所需的位置和大小等。这将使第三方软件显示在我们的UMG小部件中,从而实现了将第三方软件嵌入到我们的游戏引擎中。 总之,通过上述步骤,我们可以成功地在UE4中启动第三方软件并将其嵌入到我们的游戏引擎中。这将使我们的游戏引擎拥有更丰富的功能和更高的可玩性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值