boxmoe_header_banner_img

Hello! 欢迎来到哭哭痛!

文章导读

Screen.SetResolution()


avatar
哭哭痛 7 2 月, 2026 65

UnityAPI的Screen.SetResolution()提供四个重载

public static void SetResolution (int width, int height, bool fullscreen);
public static void SetResolution (int width, int height, bool fullscreen, int preferredRefreshRate= 0);
public static void SetResolution (int width, int height, FullScreenMode fullscreenMode);
public static void SetResolution (int width, int height, FullScreenMode fullscreenMode, int preferredRefreshRate= 0);

width : 宽

height : 高

fullscreen : 是否全屏

fullscreenMode : 枚举类型

ExclusiveFullScreen独占模式。
FullScreenWindow全屏窗口。
MaximizedWindow最大化窗口。
Windowed窗口化。

preferredRefreshRate : 目标刷新率(Hz),0 = 使用系统默认刷新率;需为当前分辨率下显示器支持的数值(如 60、144、240)

Screen.SetResolution()在设置分辨率时会将窗口居中至屏幕正中间

且渲染生效发生在帧结束后:

fixedUpdate()=>Update()=>LateUpdate()=>渲染

而且还会忽略小步长

所以不建议用Screen.width.height来直接作为插值

这里补充一点:

Unity 底层会主动监听 Windows 的窗口消息(WM_SIZE),在窗口模式下自动同步 Screen.width/height 为窗口的有效显示尺寸,这是 Unity 对 Windows 窗口的原生适配逻辑

所以用 user32.dll 的函数进行窗口调整时,Unity会自己调整渲染分辨率



评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字
插入代码