在显示窗口拉伸设置中,视口宽度和高度(起作用的主要是宽高比)和其它因素(相机属性参数)决定了相机的视野范围乃至最终的图像。
视口实际的宽高比可能和设置值不同。这时,拉伸设置决定了如何将获得的图像渲染到视口上。
设置方法
项目设置(project.godot)->常规->显示->窗口->拉伸(即属性display/window/stretch/):
模式(Mode)
定义了设置中的宽度和高度如何被拉伸以适应窗口或屏幕的分辨率。
Mode值 | 含义 |
---|---|
disabled(默认) | 不发生拉伸。场景中的一个单位对应于屏幕上的一个像素。比例(Aspect)设置无效。 |
canvas_items | 设置中的宽度和高度被拉伸以覆盖整个屏幕(考虑比例Aspect设置)。对3D没有影响。 |
viewport | 场景先被渲染到设置中的宽度和高度,然后再被缩放以适应屏幕大小(考虑比例Aspect设置)。 |
比例(Aspect)
控制拉伸的纵横比(又称宽高比、长宽比)。只在Mode不等于disabled的情况下有效。
Aspect值 | 含义 |
---|---|
ignore(默认) | 拉伸时忽略宽高比。 |
这使得原始分辨率被拉伸以完全填满视口。这可能会使水平和垂直方向产生比例不一致的拉伸。 | |
keep | 拉伸时保持宽高比。 |
如果实际比设置的宽高比更宽,则会在左右两边添加黑条。 | |
如果实际比设置的宽高比更高,则会在上下两边添加黑条。 | |
如果不想处理不同的宽高比,这是个不错的选择。 | |
keep_width | 拉伸时保持宽高比。 |
如果实际比设置的宽高比更宽,则会在左右两边添加黑条。 | |
如果实际比设置的宽高比更高,将在垂直方向上显示更多内容。 | |
keep_height | 拉伸时保持宽高比。 |
如果实际比设置的宽高比更宽,将在水平方向上显示更多内容。 | |
如果实际比设置的宽高比更高,则会在上下两边添加黑条。 | |
expand | 拉伸时保持宽高比。 |
如果实际比设置的宽高比更宽,将在水平方向上显示更多内容。 | |
如果实际比设置的宽高比更高,将在垂直方向上显示更多内容。 |
要注意的是,这里的keep_width和keep_height同相机设置中的Keep Aspect属性的两个属性值Keep Width和Keep Height的含义是不同的。
相机的Keep Aspect属性用来锁定对应方向的视野范围(Field of View,FOV),缺省角度为75度(Godot 4.1.3)。
拉伸设置中的某些Mode/Aspect属性值组合可以改变相机在某个方向的视野角度(用实际宽高比取代设置宽高比,以显示更多内容)。
缩放(scale)
缩放系数,默认为1。
条件 | 含义 |
---|---|
当Mode=disabled时 | 场景的单位长度对应的缩放比例。 |
当Mode!=disabled时 | 视口输出的像素数按系数缩放。 |