视区¶
类别: 核心
简要说明¶
在屏幕中创建子视图。
属性¶
假 |
||
假 |
||
假 |
||
0 |
||
假 |
||
假 |
||
真 |
||
真 |
||
真 |
||
假 |
||
0 |
||
假 |
||
假 |
||
假 |
||
0 |
||
2 |
||
假 |
||
2 |
||
2 |
||
3 |
||
4 |
||
0 |
||
矢量2(0,0) |
||
假 |
||
假 |
||
2 |
||
方法¶
find_world ( ) const |
|
find_world_2d ( ) const |
|
get_camera ( ) const |
|
get_final_transform ( ) const |
|
get_modal_stack_top ( ) const |
|
get_mouse_position ( ) const |
|
get_render_info ( RenderInfo info ) |
|
get_shadow_atlas_quadrant_subdiv ( int quadrant ) const |
|
get_size_override ( ) const |
|
get_texture ( ) const |
|
get_viewport_rid ( ) const |
|
get_visible_rect ( ) const |
|
gui_get_drag_data ( ) const |
|
gui_has_modal_stack ( ) const |
|
gui_is_dragging ( ) const |
|
无效 |
input ( InputEvent local_event ) |
is_input_handled ( ) const |
|
is_size_override_enabled ( ) const |
|
无效 |
set_attach_to_screen_rect ( Rect2 rect ) |
无效 |
|
无效 |
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 ) |
枚举¶
枚举 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 ,它将自动占用其大小,否则必须手动设置。
视区也可以选择作为音频监听器,因此它们根据其二维或三维摄影机子级生成位置音频。
此外,如果设备具有多个屏幕,则可以将视区分配给不同的屏幕。
最后,视口也可以作为渲染目标,在这种情况下,除非使用关联的纹理绘制,否则它们将不可见。
属性描述¶
bool arvr
违约 |
假 |
设定器 |
设置“使用”arvr(值) |
吸气剂 |
使用_Arvr() |
如果 true
,视区将在AR/VR过程中使用。
bool audio_listener_enable_2d
违约 |
假 |
设定器 |
将_设置为_audio_listener_2d(值) |
吸气剂 |
是音频监听器 |
如果 true
,视区将处理二维音频流。
bool audio_listener_enable_3d
违约 |
假 |
设定器 |
设置为音频监听器(值) |
吸气剂 |
是音频监听器() |
如果 true
,视区将处理三维音频流。
Transform2D canvas_transform
设定器 |
设置画布转换(值) |
吸气剂 |
获取画布转换() |
视区的画布转换,用于更改所有子对象的屏幕位置 CanvasItem 这是相对于视区的全局画布转换。
DebugDraw debug_draw
违约 |
0 |
设定器 |
设置调试图(值) |
吸气剂 |
获取调试图() |
出于调试目的,用于测试渲染几何体的覆盖模式。
bool disable_3d
违约 |
假 |
设定器 |
设置禁用3d(值) |
吸气剂 |
_3d_已禁用() |
如果 true
,视区将禁用三维渲染。实际禁用使用 usage
.
Transform2D global_canvas_transform
设定器 |
设置全局画布转换(值) |
吸气剂 |
获取全局画布转换() |
视区的全局画布转换。画布转换与此相关。
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输入(值) |
吸气剂 |
是否在本地处理输入? |
bool hdr
违约 |
真 |
设定器 |
设置HDR(值) |
吸气剂 |
获取HDR() |
如果 true
将从高动态范围算法中获益。
bool keep_3d_linear
违约 |
假 |
设定器 |
设置u保持u 3d u线性(值) |
吸气剂 |
获取保持线性 |
如果 true
,3D渲染后的结果将不会应用线性到sRGB颜色转换。当将视区用作渲染目标时,这一点很重要,其中结果将用作在另一个视区中渲染的3D对象上的纹理。如果将视区用于创建非基于颜色的数据(噪波、高度图、拾取图等),也很重要。当视区用作二维对象上的纹理或视区是最终输出时,不要启用此功能。
MSAA msaa
违约 |
0 |
设定器 |
设置msaa(值) |
吸气剂 |
获取msaa() |
多采样消除混叠模式。
bool own_world
违约 |
假 |
设定器 |
设置使用自己的世界(值) |
吸气剂 |
使用的是自己的世界 |
如果 true
,视区将使用 World 定义在 world
财产。
bool physics_object_picking
违约 |
假 |
设定器 |
设置物理对象拾取(值) |
吸气剂 |
获取物理对象拾取()。 |
如果 true
,视区渲染的对象将成为鼠标选取过程的主题。
bool render_direct_to_screen
违约 |
假 |
设定器 |
将“使用渲染”直接设置为“屏幕”(值) |
吸气剂 |
使用“渲染”直接指向“屏幕”() |
如果 true
,直接将视区渲染到屏幕而不是根视区。仅在gles2中可用。这是一个低级的优化,在大多数情况下不应该使用。如果使用,从视区或 SCREEN_TEXTURE
变得不可用。有关详细信息,请参阅 VisualServer.viewport_set_render_direct_to_screen .
ClearMode render_target_clear_mode
违约 |
0 |
设定器 |
设置清除模式(值) |
吸气剂 |
获取清除模式() |
当视区用作渲染目标时的清除模式。
UpdateMode render_target_update_mode
违约 |
2 |
设定器 |
设置更新模式(值) |
吸气剂 |
获取更新模式()。 |
当视区用作渲染目标时的更新模式。
bool render_target_v_flip
违约 |
假 |
设定器 |
设置vflip(值) |
吸气剂 |
获取vflip() |
如果 true
,渲染结果将垂直翻转。
ShadowAtlasQuadrantSubdiv shadow_atlas_quad_0
违约 |
2 |
设定器 |
设置_shadow_atlas_quadrant_subdiv(值) |
吸气剂 |
获取_shadow_atlas_quadrant_subdiv() |
阴影地图集第一象限的细分量。
ShadowAtlasQuadrantSubdiv shadow_atlas_quad_1
违约 |
2 |
设定器 |
设置_shadow_atlas_quadrant_subdiv(值) |
吸气剂 |
获取_shadow_atlas_quadrant_subdiv() |
阴影地图集第二象限的细分量。
ShadowAtlasQuadrantSubdiv shadow_atlas_quad_2
违约 |
3 |
设定器 |
设置_shadow_atlas_quadrant_subdiv(值) |
吸气剂 |
获取_shadow_atlas_quadrant_subdiv() |
阴影地图集第三象限的细分量。
ShadowAtlasQuadrantSubdiv shadow_atlas_quad_3
违约 |
4 |
设定器 |
设置_shadow_atlas_quadrant_subdiv(值) |
吸气剂 |
获取_shadow_atlas_quadrant_subdiv() |
阴影地图集第四象限的细分量。
int shadow_atlas_size
违约 |
0 |
设定器 |
设置阴影图集大小(值) |
吸气剂 |
获取_shadow_atlas_size() |
阴影地图集的分辨率。宽度和高度都等于一个值。
Vector2 size
违约 |
矢量2(0,0) |
设定器 |
设置大小(值) |
吸气剂 |
获取u大小() |
视区的宽度和高度。
bool size_override_stretch
违约 |
假 |
设定器 |
设置“大小”覆盖“拉伸”(值) |
吸气剂 |
是否启用了“大小”覆盖“拉伸”() |
如果 true
,大小覆盖也会影响拉伸。
bool transparent_bg
违约 |
假 |
设定器 |
设置透明背景(值) |
吸气剂 |
有透明的背景 |
如果 true
,视区应将其背景渲染为透明。
Usage usage
违约 |
2 |
设定器 |
设置用途(值) |
吸气剂 |
获取u用法() |
视区的渲染模式。
World world
设定器 |
设置世界(值) |
吸气剂 |
得到世界 |
习俗 World 可作为三维环境源。
World2D world_2d
设定器 |
设置世界二维(值) |
吸气剂 |
获取世界 |
习俗 World2D 可作为二维环境源。
方法说明¶
World find_world ( ) const
返回视区的三维世界,如果没有,则返回父视区的三维世界。
World2D find_world_2d ( ) const
返回视区的二维世界。
Camera get_camera ( ) const
返回活动的3D相机。
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
返回大小覆盖集 set_size_override .
ViewportTexture get_texture ( ) const
返回视区的纹理。
注: 由于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
void input ( InputEvent local_event )
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_shadow_atlas_quadrant_subdiv ( int quadrant, ShadowAtlasQuadrantSubdiv subdiv )
void set_size_override ( bool enable, Vector2 size=Vector2( -1, -1 ), Vector2 margin=Vector2( 0, 0 ) )
设置视区的大小覆盖。如果 enable
参数是 true
使用覆盖,否则使用默认大小。如果大小参数为 (-1, -1)
,它不会更新大小。
void unhandled_input ( InputEvent local_event )
void update_worlds ( )
强制更新二维和三维世界。
void warp_mouse ( Vector2 to_position )
将鼠标扭曲到相对于视区的位置。