SubViewport
游戏世界的界面,不会创建窗口,也不会直接绘制到屏幕上。
描述
SubViewport 会将场景中的一个矩形区域分离出来,能够独立显示。例如,可以用于在 3D 世界中显示 UI。
注意:**SubViewport 是 Viewport 但不是 Window,即它本身不绘制任何内容。要显示内容,SubViewport** 的大小必须非零,并且应该被放在 SubViewportContainer 内,或被分配给 ViewportTexture。
教程
属性
| ||
| ||
| ||
| ||
|
枚举
enum ClearMode: 🔗
ClearMode CLEAR_MODE_ALWAYS = 0
绘制前始终清除渲染目标。
ClearMode CLEAR_MODE_NEVER = 1
永不清除渲染目标。
ClearMode CLEAR_MODE_ONCE = 2
在下一帧清除渲染目标,然后切换到 CLEAR_MODE_NEVER。
enum UpdateMode: 🔗
UpdateMode UPDATE_DISABLED = 0
不要更新渲染目标。
UpdateMode UPDATE_ONCE = 1
更新渲染目标一次,然后切换到 UPDATE_DISABLED。
UpdateMode UPDATE_WHEN_VISIBLE = 2
仅在渲染目标可见时更新渲染目标。这是默认值。
UpdateMode UPDATE_WHEN_PARENT_VISIBLE = 3
仅在其父级可见时更新渲染目标。
UpdateMode UPDATE_ALWAYS = 4
始终更新渲染目标。
属性说明
ClearMode render_target_clear_mode = 0
🔗
该子视口用作渲染目标时的清除模式。
注意:此属性适用于 2D 用途。
UpdateMode render_target_update_mode = 2
🔗
void set_update_mode(value: UpdateMode)
UpdateMode get_update_mode()
该子视口用作渲染目标时的更新模式。
Vector2i size = Vector2i(512, 512)
🔗
子视口的宽度和高度。必须在两个维度上设置为大于或等于 2 像素的值。否则,不会显示任何内容。
注意:如果父节点是一个 SubViewportContainer,并且它的 SubViewportContainer.stretch 为 true
,则无法手动更改该视口大小。
Vector2i size_2d_override = Vector2i(0, 0)
🔗
子视口的 2D 尺寸覆盖。如果宽度或高度为 0
,则禁用覆盖。
bool size_2d_override_stretch = false
🔗
如果为 true
,则 2D 尺寸覆盖也会影响拉伸。