首页 > 代码库 > ue4玄学画面设置实现
ue4玄学画面设置实现
pc端项目临近发布之时,免不了向玩家提供一些自订选项,以适应各自的习惯和机能,画面设置就是必要的一环。
主要的画面选项有:
1.全屏/窗口化
2.分辨率
3.视野距离
4.抗锯齿
5.后期处理
6.阴影质量
7.贴图质量
8.特效
9.植被质量
上述选项对fps影响最大的其实还是分辨率,阴影质量如果开到0档就完全没有人影十分诡异,贴图质量以现在电脑的内存而言一般都能开到最高,对应的代码分别是:
APlayerController* PController = UGameplayStatics::GetPlayerController(gamemode->GetWorld(), 0);
PController->ConsoleCommand(TEXT("t.MaxFPS 144"), true);//先设置最大fps
UGameUserSettings* MyGameSettings = GEngine->GetGameUserSettings();MyGameSettings->SetFullscreenMode(EWindowMode::Fullscreen);MyGameSettings->ApplySettings(true);//这句必须紧跟全屏才能立即全屏,不知为何PController->ConsoleCommand(TEXT("r.setres " + resolutionnow), true);//先设置分辨率(形如1920x1080f,1280x720f)//如果用的是MyGameSettings形式设置分辨率会导致不能立即全屏,原因也不详//接下来为了方便起见,以一个总体画质变量general_quality来设置MyGameSettings->SetViewDistanceQuality(general_quality);MyGameSettings->SetAntiAliasingQuality(general_quality);MyGameSettings->SetPostProcessingQuality(general_quality);MyGameSettings->SetShadowQuality(general_quality);MyGameSettings->SetTextureQuality(general_quality);MyGameSettings->SetVisualEffectQuality(general_quality);MyGameSettings->SetFoliageQuality(general_quality); MyGameSettings->SaveSettings();
然而这样设置看似非常正确,实则还有问题。
每次设置画面之后的确能立即变更画质,然而下一次重新开启游戏后画面选项仍旧回到了引擎默认设置,至少需要再点一次应用设置才能见效,非常地离奇。
我查阅了一下log发现每次新打开游戏进行上述设置之后,这些选项会自动被设置回来。
于是我只好使出杀手锏——运行两次大法,也就是把上述代码段执行两次。。
for (int i = 0; i < 2; i++) {//。。。。。。。。 }
结果成功解决了!!!
ue4玄学画面设置实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。