ue4玄學畫面設置實現
阿新 • • 發佈:2017-06-18
是把 ttext ont distance 項目 stp general true n)
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玄學畫面設置實現