大家好,又见面了,我是你们的朋友全栈君。
欢迎关注公众号可以查看更多完整文章
在使用UE4 Editor或者UE4 Game时,有时候需要查看帧率,以及每帧耗时情况。
在Editor中显示:
- 键盘上 按下 ~
- 可以看到有个输入框出现:
- 在输入框输入 stat fps或者stat unit,出现帧率或者耗时:
- 启动Game.exe后,键盘按下 ~
- 出现输入框,输入框中输入 stat fps或者stat unit,回车:
- 在编辑器中,打开关卡蓝图编辑:
- 右键添加节点:
- 编辑Command:
- 启动Game.exe,查看效果:
/**
* Executes a console command, optionally on a specific controller
*
* @param Command Command to send to the console
* @param SpecificPlayer If specified, the console command will be routed through the specified player
*/
UFUNCTION(BlueprintCallable, Category="Development",meta=(WorldContext="WorldContextObject"))
static void ExecuteConsoleCommand(UObject* WorldContextObject, const FString& Command, class APlayerController* SpecificPlayer = NULL );
void UKismetSystemLibrary::ExecuteConsoleCommand(UObject* WorldContextObject, const FString& Command, APlayerController* Player)
{
// First, try routing through the primary player
APlayerController* TargetPC = Player ? Player : UGameplayStatics::GetPlayerController(WorldContextObject, 0);
if( TargetPC )
{
TargetPC->ConsoleCommand(Command, true);
}
}
2.还可以自己实现上述功能,直接调用APlayerControllor的接口:
UGameEngine *GameEngine = GEngine ? Cast<UGameEngine>(GEngine) : nullptr;
UWorld* World = GameEngine ? GameEngine->GetGameWorld() : nullptr;
//ULevel *Level = World ? World->PersistentLevel : nullptr;
if (World)
{
APlayerController *Controller = World->GetFirstPlayerController();
if (Controller)
{
Controller->ConsoleCommand(FString(command), false);
}
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/129635.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...