1. 程式人生 > >ue4玄學畫面設置實現

ue4玄學畫面設置實現

是把 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玄學畫面設置實現