SubViewport¶
应用世界的界面,不创建窗口或直接绘制到屏幕上。
描述¶
SubViewport隔离要独立显示的场景的矩形区域。例如,这可用于在3D空间中显示UI。
注意:SubViewport是一个不是Window的Viewport,即它本身不会绘制任何东西。要显示任何内容,SubViewport必须具有非零大小,并且要么放在SubViewportContainer中,要么分配给ViewportTexture。
注意:InputEvents默认不会传递给独立的SubViewport。为了确保InputEvent传播,可以在SubViewportContainer中放置SubViewport。
属性¶
|
||
|
||
|
||
|
||
|
枚举¶
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尺寸覆盖也会影响拉伸。