视区

Inherits: Node < Object

类别: 核心

简要说明

在屏幕中创建子视图。

方法

World

find_world ( ) const

World2D

find_world_2d ( ) const

Camera

get_camera ( ) const

Transform2D

get_final_transform ( ) const

Control

get_modal_stack_top ( ) const

Vector2

get_mouse_position ( ) const

int

get_render_info ( RenderInfo info )

ShadowAtlasQuadrantSubdiv

get_shadow_atlas_quadrant_subdiv ( int quadrant ) const

Vector2

get_size_override ( ) const

ViewportTexture

get_texture ( ) const

RID

get_viewport_rid ( ) const

Rect2

get_visible_rect ( ) const

Variant

gui_get_drag_data ( ) const

bool

gui_has_modal_stack ( ) const

bool

gui_is_dragging ( ) const

无效

input ( InputEvent local_event )

bool

is_input_handled ( ) const

bool

is_size_override_enabled ( ) const

无效

set_attach_to_screen_rect ( Rect2 rect )

无效

set_input_as_handled ( )

无效

set_shadow_atlas_quadrant_subdiv ( int quadrant, ShadowAtlasQuadrantSubdiv subdiv )

无效

set_size_override ( bool enable, Vector2 size=Vector2( -1, -1 ), Vector2 margin=Vector2( 0, 0 ) )

无效

unhandled_input ( InputEvent local_event )

无效

update_worlds ( )

无效

warp_mouse ( Vector2 to_position )

信号

  • size_changed ( )

在更改视区大小时发出,无论 set_size_override 调整窗口大小或其他方法。

枚举

枚举 UpdateMode

  • UPDATE_DISABLED = 0 ---不要更新渲染目标。

  • UPDATE_ONCE = 1 ---更新一次呈现目标,然后切换到 UPDATE_DISABLED .

  • UPDATE_WHEN_VISIBLE = 2 ---仅当呈现目标可见时才更新它。这是默认值。

  • UPDATE_ALWAYS = 3 ---始终更新渲染目标。

枚举 ShadowAtlasQuadrantSubdiv

  • SHADOW_ATLAS_QUADRANT_SUBDIV_DISABLED = 0

  • SHADOW_ATLAS_QUADRANT_SUBDIV_1 = 1

  • SHADOW_ATLAS_QUADRANT_SUBDIV_4 = 2

  • SHADOW_ATLAS_QUADRANT_SUBDIV_16 = 3

  • SHADOW_ATLAS_QUADRANT_SUBDIV_64 = 4

  • SHADOW_ATLAS_QUADRANT_SUBDIV_256 = 5

  • SHADOW_ATLAS_QUADRANT_SUBDIV_1024 = 6

  • SHADOW_ATLAS_QUADRANT_SUBDIV_MAX = 7 ---表示 ShadowAtlasQuadrantSubdiv 枚举。

枚举 RenderInfo

  • RENDER_INFO_OBJECTS_IN_FRAME = 0 ---帧中的对象数量。

  • RENDER_INFO_VERTICES_IN_FRAME = 1 ---帧中顶点的数量。

  • RENDER_INFO_MATERIAL_CHANGES_IN_FRAME = 2 ——框架内的材料变化量。

  • RENDER_INFO_SHADER_CHANGES_IN_FRAME = 3 ---帧中的明暗器更改量。

  • RENDER_INFO_SURFACE_CHANGES_IN_FRAME = 4 ——框架内表面变化量。

  • RENDER_INFO_DRAW_CALLS_IN_FRAME = 5 ---帧中的draw调用量。

  • RENDER_INFO_MAX = 6 ---表示 RenderInfo 枚举。

枚举 DebugDraw

  • DEBUG_DRAW_DISABLED = 0 ---对象显示正常。

  • DEBUG_DRAW_UNSHADED = 1 ---显示的对象没有灯光信息。

  • DEBUG_DRAW_OVERDRAW = 2 ---对象通过添加混合显示为半透明,这样您就可以看到它们在哪里相交。

  • DEBUG_DRAW_WIREFRAME = 3 ---对象以线框样式显示。

枚举 MSAA

  • MSAA_DISABLED = 0 ---禁用多样本消除混叠模式。这是默认值。

  • MSAA_2X = 1

  • MSAA_4X = 2

  • MSAA_8X = 3

  • MSAA_16X = 4

枚举 使用

  • USAGE_2D = 0

  • USAGE_2D_NO_SAMPLING = 1

  • USAGE_3D = 2

  • USAGE_3D_NO_EFFECTS = 3

枚举 ClearMode

  • CLEAR_MODE_ALWAYS = 0 ---在绘制之前始终清除渲染目标。

  • CLEAR_MODE_NEVER = 1 ---不要清除渲染目标。

  • CLEAR_MODE_ONLY_NEXT_FRAME = 2 ---清除下一帧的渲染目标,然后切换到 CLEAR_MODE_NEVER .

描述

一个视区在屏幕中创建一个不同的视图,或者在另一个视区中创建一个子视图。子二维节点将显示在其上,子摄影机三维节点也将在其上渲染。

或者,一个视区可以有自己的二维或三维世界,因此它们不会与其他视区共享所绘制的内容。

如果视区是 ViewportContainer ,它将自动占用其大小,否则必须手动设置。

视区也可以选择作为音频监听器,因此它们根据其二维或三维摄影机子级生成位置音频。

此外,如果设备具有多个屏幕,则可以将视区分配给不同的屏幕。

最后,视口也可以作为渲染目标,在这种情况下,除非使用关联的纹理绘制,否则它们将不可见。

属性描述

违约

设定器

设置“使用”arvr(值)

吸气剂

使用_Arvr()

如果 true ,视区将在AR/VR过程中使用。

  • bool audio_listener_enable_2d

违约

设定器

将_设置为_audio_listener_2d(值)

吸气剂

是音频监听器

如果 true ,视区将处理二维音频流。

  • bool audio_listener_enable_3d

违约

设定器

设置为音频监听器(值)

吸气剂

是音频监听器()

如果 true ,视区将处理三维音频流。

设定器

设置画布转换(值)

吸气剂

获取画布转换()

视区的画布转换,用于更改所有子对象的屏幕位置 CanvasItem 这是相对于视区的全局画布转换。

违约

0

设定器

设置调试图(值)

吸气剂

获取调试图()

出于调试目的,用于测试渲染几何体的覆盖模式。

违约

设定器

设置禁用3d(值)

吸气剂

_3d_已禁用()

如果 true ,视区将禁用三维渲染。实际禁用使用 usage .

设定器

设置全局画布转换(值)

吸气剂

获取全局画布转换()

视区的全局画布转换。画布转换与此相关。

  • bool gui_disable_input

违约

设定器

设置禁用输入(值)

吸气剂

_input_disabled()是否禁用?

如果 true ,视区将不接收输入事件。

  • bool gui_snap_controls_to_pixels

违约

设定器

将“捕捉”控件设置为像素(值)

吸气剂

_snap_controls_to_pixels_enabled()启用了吗?

如果 true ,视区上的GUI控件将完美地放置像素。

  • bool handle_input_locally

违约

设定器

在本地设置u句柄u输入(值)

吸气剂

是否在本地处理输入?

违约

设定器

设置HDR(值)

吸气剂

获取HDR()

如果 true 将从高动态范围算法中获益。

  • bool keep_3d_linear

违约

设定器

设置u保持u 3d u线性(值)

吸气剂

获取保持线性

如果 true ,3D渲染后的结果将不会应用线性到sRGB颜色转换。当将视区用作渲染目标时,这一点很重要,其中结果将用作在另一个视区中渲染的3D对象上的纹理。如果将视区用于创建非基于颜色的数据(噪波、高度图、拾取图等),也很重要。当视区用作二维对象上的纹理或视区是最终输出时,不要启用此功能。

违约

0

设定器

设置msaa(值)

吸气剂

获取msaa()

多采样消除混叠模式。

违约

设定器

设置使用自己的世界(值)

吸气剂

使用的是自己的世界

如果 true ,视区将使用 World 定义在 world 财产。

  • bool physics_object_picking

违约

设定器

设置物理对象拾取(值)

吸气剂

获取物理对象拾取()。

如果 true ,视区渲染的对象将成为鼠标选取过程的主题。

  • bool render_direct_to_screen

违约

设定器

将“使用渲染”直接设置为“屏幕”(值)

吸气剂

使用“渲染”直接指向“屏幕”()

如果 true ,直接将视区渲染到屏幕而不是根视区。仅在gles2中可用。这是一个低级的优化,在大多数情况下不应该使用。如果使用,从视区或 SCREEN_TEXTURE 变得不可用。有关详细信息,请参阅 VisualServer.viewport_set_render_direct_to_screen .

违约

0

设定器

设置清除模式(值)

吸气剂

获取清除模式()

当视区用作渲染目标时的清除模式。

违约

2

设定器

设置更新模式(值)

吸气剂

获取更新模式()。

当视区用作渲染目标时的更新模式。

  • bool render_target_v_flip

违约

设定器

设置vflip(值)

吸气剂

获取vflip()

如果 true ,渲染结果将垂直翻转。

违约

2

设定器

设置_shadow_atlas_quadrant_subdiv(值)

吸气剂

获取_shadow_atlas_quadrant_subdiv()

阴影地图集第一象限的细分量。

违约

2

设定器

设置_shadow_atlas_quadrant_subdiv(值)

吸气剂

获取_shadow_atlas_quadrant_subdiv()

阴影地图集第二象限的细分量。

违约

3

设定器

设置_shadow_atlas_quadrant_subdiv(值)

吸气剂

获取_shadow_atlas_quadrant_subdiv()

阴影地图集第三象限的细分量。

违约

4

设定器

设置_shadow_atlas_quadrant_subdiv(值)

吸气剂

获取_shadow_atlas_quadrant_subdiv()

阴影地图集第四象限的细分量。

  • int shadow_atlas_size

违约

0

设定器

设置阴影图集大小(值)

吸气剂

获取_shadow_atlas_size()

阴影地图集的分辨率。宽度和高度都等于一个值。

违约

矢量2(0,0)

设定器

设置大小(值)

吸气剂

获取u大小()

视区的宽度和高度。

  • bool size_override_stretch

违约

设定器

设置“大小”覆盖“拉伸”(值)

吸气剂

是否启用了“大小”覆盖“拉伸”()

如果 true ,大小覆盖也会影响拉伸。

  • bool transparent_bg

违约

设定器

设置透明背景(值)

吸气剂

有透明的背景

如果 true ,视区应将其背景渲染为透明。

违约

2

设定器

设置用途(值)

吸气剂

获取u用法()

视区的渲染模式。

设定器

设置世界(值)

吸气剂

得到世界

习俗 World 可作为三维环境源。

设定器

设置世界二维(值)

吸气剂

获取世界

习俗 World2D 可作为二维环境源。

方法说明

  • World find_world ( ) const

返回视区的三维世界,如果没有,则返回父视区的三维世界。

返回视区的二维世界。

返回活动的3D相机。

返回视区的总转换。

  • Control get_modal_stack_top ( ) const

返回堆栈中的最顶层模式。

  • Vector2 get_mouse_position ( ) const

返回鼠标相对于视区的位置。

从渲染管道返回有关视区的信息。

  • Vector2 get_size_override ( ) const

返回大小覆盖集 set_size_override .

返回视区的纹理。

注: 由于OpenGL的工作方式, ViewportTexture 垂直翻转。你可以用 Image.flip_y 关于结果 Texture.get_data 要将其向后翻转,例如:

var img = get_viewport().get_texture().get_data()
img.flip_y()
  • RID get_viewport_rid ( ) const

VisualServer .

  • Rect2 get_visible_rect ( ) const

返回全局屏幕坐标中的可见矩形。

  • Variant gui_get_drag_data ( ) const

从GUI返回先前由返回的拖动数据 Control.get_drag_data .

  • bool gui_has_modal_stack ( ) const

返回 true 如果屏幕上有可见模式。

  • bool gui_is_dragging ( ) const

  • bool is_input_handled ( ) const

  • bool is_size_override_enabled ( ) const

返回 true 如果启用了大小覆盖。见 set_size_override .

  • void set_attach_to_screen_rect ( Rect2 rect )

  • void set_input_as_handled ( )

  • void set_size_override ( bool enable, Vector2 size=Vector2( -1, -1 ), Vector2 margin=Vector2( 0, 0 ) )

设置视区的大小覆盖。如果 enable 参数是 true 使用覆盖,否则使用默认大小。如果大小参数为 (-1, -1) ,它不会更新大小。

  • void update_worlds ( )

强制更新二维和三维世界。

  • void warp_mouse ( Vector2 to_position )

将鼠标扭曲到相对于视区的位置。