1. 程式人生 > 其它 >【Unity3D】如何解決視覺化大屏windows PC 打包時候解析度失效的問題

【Unity3D】如何解決視覺化大屏windows PC 打包時候解析度失效的問題

在unity完成一個自定義解析度的遊戲,打包成 PC 版本時,經常會遇到一個問題,就是明明已經在 build setting 中設定了解析度,為什麼打包後執行時卻失效了?本文將講解如何解決打包時解析度失效的問題。

為什麼解析度會重置?
當你用 Unity 構建一個新的遊戲時,他會為你在 Player Settings 的公司名稱下儲存一個 登錄檔鍵(windows 中) 或 preference file( Mac 上)。

預設情況下,這是 DefaultCompany。在第一次打包時,Unity 會自動像登錄檔中註冊打包資訊,後續打包時,如果公司名稱沒有變的話,登錄檔鍵 或 preference file 還包含之前顯示設定和其他設定,不會覆蓋當前你新構建的設定,也就是說下次打包即使重新設定解析度也沒用。

如何解決
方法一:修改專案名稱
修改專案名稱(Product Name),重新打包。(這種方法比較草率,治標不治本)

方法二:修改登錄檔
按 Win + R ,在執行視窗輸入 regedit ,回車開啟登錄檔。

Unity 註冊的位置在 HKEY_CURRENT_USER \ Software \ (公司名稱) \ (專案名稱) 。

修改解析度的高和寬,下次打包即可生效。

方法三:
此外還可以用程式碼來控制(大招,最終解決方案),在載入的第一個場景中的 C# 指令碼中,Start() 函式中加入以下程式碼即可。

void Start()
{
    // width 和 height 為解析度的寬和高
    Screen.SetResolution(width,height,true);
}