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