跳到主要内容

VisualServer

继承

Object

简要描述

服务器可见的任何东西。

描述

服务器可见的任何东西。可视服务器是所有可见内容的API后端。整个场景系统安装在其上进行显示。

可视服务器是完全不透明的,内部结构完全是特定于实现的,无法访问。

可视服务器可用于完全绕开场景系统。

资源是使用* _ create函数创建的。

所有对象均绘制到视口。您可以使用SceneTree附带的Viewport,也可以使用viewport_create自己创建一个。使用自定义方案或画布时,需要使用viewport_set_scenarioviewport_attach_canvas将方案或画布附加到视口。

在3D中,所有视觉对象必须与场景相关联。该场景是世界的视觉表示。如果从正在运行的游戏访问视觉服务器,则可以使用[方法Spatial.get_world]从任何Spatial节点的场景树中访问场景。否则,可以使用methodcens_create创建方案。

类似地,在2D中,需要一个画布来绘制所有画布项目。

在3D中,所有可见对象均由资源和实例组成。资源可以是网格,粒子系统,光源或任何其他3D对象。为了使资源可见,必须使用instance_set_base将资源附加到实例。为了使实例可见,还必须使用instance_set_scenario将实例附加到方案。

在2D中,所有可见对象都是某种形式的画布项目。为了可见,画布项目必须是附加到视口的画布的子项,或者需要是最终附加到画布的另一个画布项的子项。

方法

返回值类型方法名称
voidblack_bars_set_images(left: RID, top: RID, right: RID, bottom: RID)
voidblack_bars_set_margins(left: int, top: int, right: int, bottom: int)
RIDcamera_create()
voidcamera_set_cull_mask(camera: RID, layers: int)
voidcamera_set_environment(camera: RID, env: RID)
voidcamera_set_frustum(camera: RID, size: float, offset: Vector2, z_near: float, z_far: float)
voidcamera_set_orthogonal(camera: RID, size: float, z_near: float, z_far: float)
voidcamera_set_perspective(camera: RID, fovy_degrees: float, z_near: float, z_far: float)
voidcamera_set_transform(camera: RID, transform: Transform)
voidcamera_set_use_vertical_aspect(camera: RID, enable: bool)
RIDcanvas_create()
voidcanvas_item_add_circle(item: RID, pos: Vector2, radius: float, color: Color)
voidcanvas_item_add_clip_ignore(item: RID, ignore: bool)
voidcanvas_item_add_line(item: RID, from: Vector2, to: Vector2, color: Color, width: float = 1.0, antialiased: bool = false)
voidcanvas_item_add_mesh(item: RID, mesh: RID, transform: Transform2D = Transform2D( 1, 0, 0, 1, 0, 0 ), modulate: Color = Color( 1, 1, 1, 1 ), texture: RID, normal_map: RID)
voidcanvas_item_add_multimesh(item: RID, mesh: RID, texture: RID, normal_map: RID)
voidcanvas_item_add_nine_patch(item: RID, rect: Rect2, source: Rect2, texture: RID, topleft: Vector2, bottomright: Vector2, x_axis_mode: int = 0, y_axis_mode: int = 0, draw_center: bool = true, modulate: Color = Color( 1, 1, 1, 1 ), normal_map: RID)
voidcanvas_item_add_particles(item: RID, particles: RID, texture: RID, normal_map: RID)
voidcanvas_item_add_polygon(item: RID, points: PoolVector2Array, colors: PoolColorArray, uvs: PoolVector2Array = PoolVector2Array( ), texture: RID, normal_map: RID, antialiased: bool = false)
voidcanvas_item_add_polyline(item: RID, points: PoolVector2Array, colors: PoolColorArray, width: float = 1.0, antialiased: bool = false)
voidcanvas_item_add_primitive(item: RID, points: PoolVector2Array, colors: PoolColorArray, uvs: PoolVector2Array, texture: RID, width: float = 1.0, normal_map: RID)
voidcanvas_item_add_rect(item: RID, rect: Rect2, color: Color)
voidcanvas_item_add_set_transform(item: RID, transform: Transform2D)
voidcanvas_item_add_texture_rect(item: RID, rect: Rect2, texture: RID, tile: bool = false, modulate: Color = Color( 1, 1, 1, 1 ), transpose: bool = false, normal_map: RID)
voidcanvas_item_add_texture_rect_region(item: RID, rect: Rect2, texture: RID, src_rect: Rect2, modulate: Color = Color( 1, 1, 1, 1 ), transpose: bool = false, normal_map: RID, clip_uv: bool = true)
voidcanvas_item_add_triangle_array(item: RID, indices: PoolIntArray, points: PoolVector2Array, colors: PoolColorArray, uvs: PoolVector2Array = PoolVector2Array( ), bones: PoolIntArray = PoolIntArray( ), weights: PoolRealArray = PoolRealArray( ), texture: RID, count: int = -1, normal_map: RID, antialiased: bool = false, antialiasing_use_indices: bool = false)
voidcanvas_item_clear(item: RID)
RIDcanvas_item_create()
voidcanvas_item_set_clip(item: RID, clip: bool)
voidcanvas_item_set_copy_to_backbuffer(item: RID, enabled: bool, rect: Rect2)
voidcanvas_item_set_custom_rect(item: RID, use_custom_rect: bool, rect: Rect2 = Rect2( 0, 0, 0, 0 ))
voidcanvas_item_set_distance_field_mode(item: RID, enabled: bool)
voidcanvas_item_set_draw_behind_parent(item: RID, enabled: bool)
voidcanvas_item_set_draw_index(item: RID, index: int)
voidcanvas_item_set_light_mask(item: RID, mask: int)
voidcanvas_item_set_material(item: RID, material: RID)
voidcanvas_item_set_modulate(item: RID, color: Color)
voidcanvas_item_set_parent(item: RID, parent: RID)
voidcanvas_item_set_self_modulate(item: RID, color: Color)
voidcanvas_item_set_sort_children_by_y(item: RID, enabled: bool)
voidcanvas_item_set_transform(item: RID, transform: Transform2D)
voidcanvas_item_set_use_parent_material(item: RID, enabled: bool)
voidcanvas_item_set_visible(item: RID, visible: bool)
voidcanvas_item_set_z_as_relative_to_parent(item: RID, enabled: bool)
voidcanvas_item_set_z_index(item: RID, z_index: int)
voidcanvas_light_attach_to_canvas(light: RID, canvas: RID)
RIDcanvas_light_create()
voidcanvas_light_occluder_attach_to_canvas(occluder: RID, canvas: RID)
RIDcanvas_light_occluder_create()
voidcanvas_light_occluder_set_enabled(occluder: RID, enabled: bool)
voidcanvas_light_occluder_set_light_mask(occluder: RID, mask: int)
voidcanvas_light_occluder_set_polygon(occluder: RID, polygon: RID)
voidcanvas_light_occluder_set_transform(occluder: RID, transform: Transform2D)
voidcanvas_light_set_color(light: RID, color: Color)
voidcanvas_light_set_enabled(light: RID, enabled: bool)
voidcanvas_light_set_energy(light: RID, energy: float)
voidcanvas_light_set_height(light: RID, height: float)
voidcanvas_light_set_item_cull_mask(light: RID, mask: int)
voidcanvas_light_set_item_shadow_cull_mask(light: RID, mask: int)
voidcanvas_light_set_layer_range(light: RID, min_layer: int, max_layer: int)
voidcanvas_light_set_mode(light: RID, mode: int)
voidcanvas_light_set_scale(light: RID, scale: float)
voidcanvas_light_set_shadow_buffer_size(light: RID, size: int)
voidcanvas_light_set_shadow_color(light: RID, color: Color)
voidcanvas_light_set_shadow_enabled(light: RID, enabled: bool)
voidcanvas_light_set_shadow_filter(light: RID, filter: int)
voidcanvas_light_set_shadow_gradient_length(light: RID, length: float)
voidcanvas_light_set_shadow_smooth(light: RID, smooth: float)
voidcanvas_light_set_texture(light: RID, texture: RID)
voidcanvas_light_set_texture_offset(light: RID, offset: Vector2)
voidcanvas_light_set_transform(light: RID, transform: Transform2D)
voidcanvas_light_set_z_range(light: RID, min_z: int, max_z: int)
RIDcanvas_occluder_polygon_create()
voidcanvas_occluder_polygon_set_cull_mode(occluder_polygon: RID, mode: int)
voidcanvas_occluder_polygon_set_shape(occluder_polygon: RID, shape: PoolVector2Array, closed: bool)
voidcanvas_occluder_polygon_set_shape_as_lines(occluder_polygon: RID, shape: PoolVector2Array)
voidcanvas_set_item_mirroring(canvas: RID, item: RID, mirroring: Vector2)
voidcanvas_set_modulate(canvas: RID, color: Color)
RIDdirectional_light_create()
voiddraw(swap_buffers: bool = true, frame_step: float = 0.0)
RIDenvironment_create()
voidenvironment_set_adjustment(env: RID, enable: bool, brightness: float, contrast: float, saturation: float, ramp: RID)
voidenvironment_set_ambient_light(env: RID, color: Color, energy: float = 1.0, sky_contibution: float = 0.0)
voidenvironment_set_background(env: RID, bg: int)
voidenvironment_set_bg_color(env: RID, color: Color)
voidenvironment_set_bg_energy(env: RID, energy: float)
voidenvironment_set_canvas_max_layer(env: RID, max_layer: int)
voidenvironment_set_dof_blur_far(env: RID, enable: bool, distance: float, transition: float, far_amount: float, quality: int)
voidenvironment_set_dof_blur_near(env: RID, enable: bool, distance: float, transition: float, far_amount: float, quality: int)
voidenvironment_set_fog(env: RID, enable: bool, color: Color, sun_color: Color, sun_amount: float)
voidenvironment_set_fog_depth(env: RID, enable: bool, depth_begin: float, depth_end: float, depth_curve: float, transmit: bool, transmit_curve: float)
voidenvironment_set_fog_height(env: RID, enable: bool, min_height: float, max_height: float, height_curve: float)
voidenvironment_set_glow(env: RID, enable: bool, level_flags: int, intensity: float, strength: float, bloom_threshold: float, blend_mode: int, hdr_bleed_threshold: float, hdr_bleed_scale: float, hdr_luminance_cap: float, bicubic_upscale: bool)
voidenvironment_set_sky(env: RID, sky: RID)
voidenvironment_set_sky_custom_fov(env: RID, scale: float)
voidenvironment_set_sky_orientation(env: RID, orientation: Basis)
voidenvironment_set_ssao(env: RID, enable: bool, radius: float, intensity: float, radius2: float, intensity2: float, bias: float, light_affect: float, ao_channel_affect: float, color: Color, quality: int, blur: int, bilateral_sharpness: float)
voidenvironment_set_ssr(env: RID, enable: bool, max_steps: int, fade_in: float, fade_out: float, depth_tolerance: float, roughness: bool)
voidenvironment_set_tonemap(env: RID, tone_mapper: int, exposure: float, white: float, auto_exposure: bool, min_luminance: float, max_luminance: float, auto_exp_speed: float, auto_exp_grey: float)
voidfinish()
voidforce_draw(swap_buffers: bool = true, frame_step: float = 0.0)
voidforce_sync()
voidfree_rid(rid: RID)
intget_render_info(info: int)
RIDget_test_cube()
RIDget_test_texture()
Stringget_video_adapter_name() const
Stringget_video_adapter_vendor() const
RIDget_white_texture()
RIDgi_probe_create()
floatgi_probe_get_bias(probe: RID) const
AABBgi_probe_get_bounds(probe: RID) const
floatgi_probe_get_cell_size(probe: RID) const
PoolIntArraygi_probe_get_dynamic_data(probe: RID) const
intgi_probe_get_dynamic_range(probe: RID) const
floatgi_probe_get_energy(probe: RID) const
floatgi_probe_get_normal_bias(probe: RID) const
floatgi_probe_get_propagation(probe: RID) const
Transformgi_probe_get_to_cell_xform(probe: RID) const
boolgi_probe_is_compressed(probe: RID) const
boolgi_probe_is_interior(probe: RID) const
voidgi_probe_set_bias(probe: RID, bias: float)
voidgi_probe_set_bounds(probe: RID, bounds: AABB)
voidgi_probe_set_cell_size(probe: RID, range: float)
voidgi_probe_set_compress(probe: RID, enable: bool)
voidgi_probe_set_dynamic_data(probe: RID, data: PoolIntArray)
voidgi_probe_set_dynamic_range(probe: RID, range: int)
voidgi_probe_set_energy(probe: RID, energy: float)
voidgi_probe_set_interior(probe: RID, enable: bool)
voidgi_probe_set_normal_bias(probe: RID, bias: float)
voidgi_probe_set_propagation(probe: RID, propagation: float)
voidgi_probe_set_to_cell_xform(probe: RID, xform: Transform)
boolhas_changed() const
boolhas_feature(feature: int) const
boolhas_os_feature(feature: String) const
voidimmediate_begin(immediate: RID, primitive: int, texture: RID)
voidimmediate_clear(immediate: RID)
voidimmediate_color(immediate: RID, color: Color)
RIDimmediate_create()
voidimmediate_end(immediate: RID)
RIDimmediate_get_material(immediate: RID) const
voidimmediate_normal(immediate: RID, normal: Vector3)
voidimmediate_set_material(immediate: RID, material: RID)
voidimmediate_tangent(immediate: RID, tangent: Plane)
voidimmediate_uv(immediate: RID, tex_uv: Vector2)
voidimmediate_uv2(immediate: RID, tex_uv: Vector2)
voidimmediate_vertex(immediate: RID, vertex: Vector3)
voidimmediate_vertex_2d(immediate: RID, vertex: Vector2)
voidinit()
voidinstance_attach_object_instance_id(instance: RID, id: int)
voidinstance_attach_skeleton(instance: RID, skeleton: RID)
RIDinstance_create()
RIDinstance_create2(base: RID, scenario: RID)
voidinstance_geometry_set_as_instance_lod(instance: RID, as_lod_of_instance: RID)
voidinstance_geometry_set_cast_shadows_setting(instance: RID, shadow_casting_setting: int)
voidinstance_geometry_set_draw_range(instance: RID, min: float, max: float, min_margin: float, max_margin: float)
voidinstance_geometry_set_flag(instance: RID, flag: int, enabled: bool)
voidinstance_geometry_set_material_override(instance: RID, material: RID)
voidinstance_set_base(instance: RID, base: RID)
voidinstance_set_blend_shape_weight(instance: RID, shape: int, weight: float)
voidinstance_set_custom_aabb(instance: RID, aabb: AABB)
voidinstance_set_exterior(instance: RID, enabled: bool)
voidinstance_set_extra_visibility_margin(instance: RID, margin: float)
voidinstance_set_layer_mask(instance: RID, mask: int)
voidinstance_set_scenario(instance: RID, scenario: RID)
voidinstance_set_surface_material(instance: RID, surface: int, material: RID)
voidinstance_set_transform(instance: RID, transform: Transform)
voidinstance_set_use_lightmap(instance: RID, lightmap_instance: RID, lightmap: RID)
voidinstance_set_visible(instance: RID, visible: bool)
Arrayinstances_cull_aabb(aabb: AABB, scenario: RID) const
Arrayinstances_cull_convex(convex: Array, scenario: RID) const
Arrayinstances_cull_ray(from: Vector3, to: Vector3, scenario: RID) const
voidlight_directional_set_blend_splits(light: RID, enable: bool)
voidlight_directional_set_shadow_depth_range_mode(light: RID, range_mode: int)
voidlight_directional_set_shadow_mode(light: RID, mode: int)
voidlight_omni_set_shadow_detail(light: RID, detail: int)
voidlight_omni_set_shadow_mode(light: RID, mode: int)
voidlight_set_color(light: RID, color: Color)
voidlight_set_cull_mask(light: RID, mask: int)
voidlight_set_negative(light: RID, enable: bool)
voidlight_set_param(light: RID, param: int, value: float)
voidlight_set_projector(light: RID, texture: RID)
voidlight_set_reverse_cull_face_mode(light: RID, enabled: bool)
voidlight_set_shadow(light: RID, enabled: bool)
voidlight_set_shadow_color(light: RID, color: Color)
voidlight_set_use_gi(light: RID, enabled: bool)
RIDlightmap_capture_create()
AABBlightmap_capture_get_bounds(capture: RID) const
floatlightmap_capture_get_energy(capture: RID) const
PoolByteArraylightmap_capture_get_octree(capture: RID) const
intlightmap_capture_get_octree_cell_subdiv(capture: RID) const
Transformlightmap_capture_get_octree_cell_transform(capture: RID) const
voidlightmap_capture_set_bounds(capture: RID, bounds: AABB)
voidlightmap_capture_set_energy(capture: RID, energy: float)
voidlightmap_capture_set_octree(capture: RID, octree: PoolByteArray)
voidlightmap_capture_set_octree_cell_subdiv(capture: RID, subdiv: int)
voidlightmap_capture_set_octree_cell_transform(capture: RID, xform: Transform)
RIDmake_sphere_mesh(latitudes: int, longitudes: int, radius: float)
RIDmaterial_create()
Variantmaterial_get_param(material: RID, parameter: String) const
Variantmaterial_get_param_default(material: RID, parameter: String) const
RIDmaterial_get_shader(shader_material: RID) const
voidmaterial_set_line_width(material: RID, width: float)
voidmaterial_set_next_pass(material: RID, next_material: RID)
voidmaterial_set_param(material: RID, parameter: String, value: Variant)
voidmaterial_set_render_priority(material: RID, priority: int)
voidmaterial_set_shader(shader_material: RID, shader: RID)
voidmesh_add_surface_from_arrays(mesh: RID, primitive: int, arrays: Array, blend_shapes: Array = [], compress_format: int = 97280)
voidmesh_clear(mesh: RID)
RIDmesh_create()
intmesh_get_blend_shape_count(mesh: RID) const
intmesh_get_blend_shape_mode(mesh: RID) const
AABBmesh_get_custom_aabb(mesh: RID) const
intmesh_get_surface_count(mesh: RID) const
voidmesh_remove_surface(mesh: RID, index: int)
voidmesh_set_blend_shape_count(mesh: RID, amount: int)
voidmesh_set_blend_shape_mode(mesh: RID, mode: int)
voidmesh_set_custom_aabb(mesh: RID, aabb: AABB)
AABBmesh_surface_get_aabb(mesh: RID, surface: int) const
PoolByteArraymesh_surface_get_array(mesh: RID, surface: int) const
intmesh_surface_get_array_index_len(mesh: RID, surface: int) const
intmesh_surface_get_array_len(mesh: RID, surface: int) const
Arraymesh_surface_get_arrays(mesh: RID, surface: int) const
Arraymesh_surface_get_blend_shape_arrays(mesh: RID, surface: int) const
intmesh_surface_get_format(mesh: RID, surface: int) const
intmesh_surface_get_format_offset(format: int, vertex_len: int, index_len: int, array_index: int) const
intmesh_surface_get_format_stride(format: int, vertex_len: int, index_len: int) const
PoolByteArraymesh_surface_get_index_array(mesh: RID, surface: int) const
RIDmesh_surface_get_material(mesh: RID, surface: int) const
intmesh_surface_get_primitive_type(mesh: RID, surface: int) const
Arraymesh_surface_get_skeleton_aabb(mesh: RID, surface: int) const
voidmesh_surface_set_material(mesh: RID, surface: int, material: RID)
voidmesh_surface_update_region(mesh: RID, surface: int, offset: int, data: PoolByteArray)
voidmultimesh_allocate(multimesh: RID, instances: int, transform_format: int, color_format: int, custom_data_format: int = 0)
RIDmultimesh_create()
AABBmultimesh_get_aabb(multimesh: RID) const
intmultimesh_get_instance_count(multimesh: RID) const
RIDmultimesh_get_mesh(multimesh: RID) const
intmultimesh_get_visible_instances(multimesh: RID) const
Colormultimesh_instance_get_color(multimesh: RID, index: int) const
Colormultimesh_instance_get_custom_data(multimesh: RID, index: int) const
Transformmultimesh_instance_get_transform(multimesh: RID, index: int) const
Transform2Dmultimesh_instance_get_transform_2d(multimesh: RID, index: int) const
voidmultimesh_instance_set_color(multimesh: RID, index: int, color: Color)
voidmultimesh_instance_set_custom_data(multimesh: RID, index: int, custom_data: Color)
voidmultimesh_instance_set_transform(multimesh: RID, index: int, transform: Transform)
voidmultimesh_instance_set_transform_2d(multimesh: RID, index: int, transform: Transform2D)
voidmultimesh_set_as_bulk_array(multimesh: RID, array: PoolRealArray)
voidmultimesh_set_mesh(multimesh: RID, mesh: RID)
voidmultimesh_set_visible_instances(multimesh: RID, visible: int)
RIDomni_light_create()
RIDparticles_create()
AABBparticles_get_current_aabb(particles: RID)
boolparticles_get_emitting(particles: RID)
boolparticles_is_inactive(particles: RID)
voidparticles_request_process(particles: RID)
voidparticles_restart(particles: RID)
voidparticles_set_amount(particles: RID, amount: int)
voidparticles_set_custom_aabb(particles: RID, aabb: AABB)
voidparticles_set_draw_order(particles: RID, order: int)
voidparticles_set_draw_pass_mesh(particles: RID, pass: int, mesh: RID)
voidparticles_set_draw_passes(particles: RID, count: int)
voidparticles_set_emission_transform(particles: RID, transform: Transform)
voidparticles_set_emitting(particles: RID, emitting: bool)
voidparticles_set_explosiveness_ratio(particles: RID, ratio: float)
voidparticles_set_fixed_fps(particles: RID, fps: int)
voidparticles_set_fractional_delta(particles: RID, enable: bool)
voidparticles_set_lifetime(particles: RID, lifetime: float)
voidparticles_set_one_shot(particles: RID, one_shot: bool)
voidparticles_set_pre_process_time(particles: RID, time: float)
voidparticles_set_process_material(particles: RID, material: RID)
voidparticles_set_randomness_ratio(particles: RID, ratio: float)
voidparticles_set_speed_scale(particles: RID, scale: float)
voidparticles_set_use_local_coordinates(particles: RID, enable: bool)
RIDreflection_probe_create()
voidreflection_probe_set_as_interior(probe: RID, enable: bool)
voidreflection_probe_set_cull_mask(probe: RID, layers: int)
voidreflection_probe_set_enable_box_projection(probe: RID, enable: bool)
voidreflection_probe_set_enable_shadows(probe: RID, enable: bool)
voidreflection_probe_set_extents(probe: RID, extents: Vector3)
voidreflection_probe_set_intensity(probe: RID, intensity: float)
voidreflection_probe_set_interior_ambient(probe: RID, color: Color)
voidreflection_probe_set_interior_ambient_energy(probe: RID, energy: float)
voidreflection_probe_set_interior_ambient_probe_contribution(probe: RID, contrib: float)
voidreflection_probe_set_max_distance(probe: RID, distance: float)
voidreflection_probe_set_origin_offset(probe: RID, offset: Vector3)
voidreflection_probe_set_update_mode(probe: RID, mode: int)
voidrequest_frame_drawn_callback(where: Object, method: String, userdata: Variant)
RIDscenario_create()
voidscenario_set_debug(scenario: RID, debug_mode: int)
voidscenario_set_environment(scenario: RID, environment: RID)
voidscenario_set_fallback_environment(scenario: RID, environment: RID)
voidscenario_set_reflection_atlas_size(scenario: RID, size: int, subdiv: int)
voidset_boot_image(image: Image, color: Color, scale: bool, use_filter: bool = true)
voidset_debug_generate_wireframes(generate: bool)
voidset_default_clear_color(color: Color)
RIDshader_create()
Stringshader_get_code(shader: RID) const
RIDshader_get_default_texture_param(shader: RID, name: String) const
Arrayshader_get_param_list(shader: RID) const
voidshader_set_code(shader: RID, code: String)
voidshader_set_default_texture_param(shader: RID, name: String, texture: RID)
voidskeleton_allocate(skeleton: RID, bones: int, is_2d_skeleton: bool = false)
Transformskeleton_bone_get_transform(skeleton: RID, bone: int) const
Transform2Dskeleton_bone_get_transform_2d(skeleton: RID, bone: int) const
voidskeleton_bone_set_transform(skeleton: RID, bone: int, transform: Transform)
voidskeleton_bone_set_transform_2d(skeleton: RID, bone: int, transform: Transform2D)
RIDskeleton_create()
intskeleton_get_bone_count(skeleton: RID) const
RIDsky_create()
voidsky_set_texture(sky: RID, cube_map: RID, radiance_size: int)
RIDspot_light_create()
voidsync()
voidtexture_allocate(texture: RID, width: int, height: int, depth_3d: int, format: int, type: int, flags: int = 7)
voidtexture_bind(texture: RID, number: int)
RIDtexture_create()
RIDtexture_create_from_image(image: Image, flags: int = 7)
Arraytexture_debug_usage()
Imagetexture_get_data(texture: RID, cube_side: int = 0) const
inttexture_get_depth(texture: RID) const
inttexture_get_flags(texture: RID) const
inttexture_get_format(texture: RID) const
inttexture_get_height(texture: RID) const
Stringtexture_get_path(texture: RID) const
inttexture_get_texid(texture: RID) const
inttexture_get_type(texture: RID) const
inttexture_get_width(texture: RID) const
voidtexture_set_data(texture: RID, image: Image, layer: int = 0)
voidtexture_set_data_partial(texture: RID, image: Image, src_x: int, src_y: int, src_w: int, src_h: int, dst_x: int, dst_y: int, dst_mip: int, layer: int = 0)
voidtexture_set_flags(texture: RID, flags: int)
voidtexture_set_path(texture: RID, path: String)
voidtexture_set_shrink_all_x2_on_set_data(shrink: bool)
voidtexture_set_size_override(texture: RID, width: int, height: int, depth: int)
voidtextures_keep_original(enable: bool)
voidviewport_attach_camera(viewport: RID, camera: RID)
voidviewport_attach_canvas(viewport: RID, canvas: RID)
voidviewport_attach_to_screen(viewport: RID, rect: Rect2 = Rect2( 0, 0, 0, 0 ), screen: int = 0)
RIDviewport_create()
voidviewport_detach(viewport: RID)
intviewport_get_render_info(viewport: RID, info: int)
RIDviewport_get_texture(viewport: RID) const
voidviewport_remove_canvas(viewport: RID, canvas: RID)
voidviewport_set_active(viewport: RID, active: bool)
voidviewport_set_canvas_stacking(viewport: RID, canvas: RID, layer: int, sublayer: int)
voidviewport_set_canvas_transform(viewport: RID, canvas: RID, offset: Transform2D)
voidviewport_set_clear_mode(viewport: RID, clear_mode: int)
voidviewport_set_debug_draw(viewport: RID, draw: int)
voidviewport_set_disable_3d(viewport: RID, disabled: bool)
voidviewport_set_disable_environment(viewport: RID, disabled: bool)
voidviewport_set_global_canvas_transform(viewport: RID, transform: Transform2D)
voidviewport_set_hdr(viewport: RID, enabled: bool)
voidviewport_set_hide_canvas(viewport: RID, hidden: bool)
voidviewport_set_hide_scenario(viewport: RID, hidden: bool)
voidviewport_set_msaa(viewport: RID, msaa: int)
voidviewport_set_parent_viewport(viewport: RID, parent_viewport: RID)
voidviewport_set_render_direct_to_screen(viewport: RID, enabled: bool)
voidviewport_set_scenario(viewport: RID, scenario: RID)
voidviewport_set_shadow_atlas_quadrant_subdivision(viewport: RID, quadrant: int, subdivision: int)
voidviewport_set_shadow_atlas_size(viewport: RID, size: int)
voidviewport_set_size(viewport: RID, width: int, height: int)
voidviewport_set_transparent_background(viewport: RID, enabled: bool)
voidviewport_set_update_mode(viewport: RID, update_mode: int)
voidviewport_set_usage(viewport: RID, usage: int)
voidviewport_set_use_arvr(viewport: RID, use_arvr: bool)
voidviewport_set_vflip(viewport: RID, enabled: bool)

信号

  • **frame_post_draw**

在VisualServer完成更新所有视口之后,在帧末尾发出。


  • **frame_pre_draw**

在帧的开始发射,在VisualServer更新所有视口之前。


枚举

enum CubeMapSide:

  • **CUBEMAP_LEFT = 0**

标记立方体贴图的左侧。

  • **CUBEMAP_RIGHT = 1**

标记立方体贴图的右侧。

  • **CUBEMAP_BOTTOM = 2**

标记立方体贴图的底部。

  • **CUBEMAP_TOP = 3**

标记立方体贴图的顶部。

  • **CUBEMAP_FRONT = 4**

标记立方体贴图的正面。

  • **CUBEMAP_BACK = 5**

标记立方体贴图的背面。


enum TextureType:

  • **TEXTURE_TYPE_2D = 0**

具有2个维度,宽度和高度的普通纹理。

  • **TEXTURE_TYPE_CUBEMAP = 1**

由六个面组成的纹理可以在着色器中使用vec3查找。

  • **TEXTURE_TYPE_2D_ARRAY = 2**

二维纹理的数组。

  • **TEXTURE_TYPE_3D = 3**

具有宽度,高度和深度的3维纹理。


enum TextureFlags:

  • **TEXTURE_FLAG_MIPMAPS = 1**

生成mipmap,该mipmap是缩小时使用的相同纹理的较小版本,并保持宽高比。

  • **TEXTURE_FLAG_REPEAT = 2**

重复纹理(而不是钳夹到边缘)。

  • **TEXTURE_FLAG_FILTER = 4**

使用放大滤镜以使纹理平滑放大。

  • **TEXTURE_FLAG_ANISOTROPIC_FILTER = 8**

使用各向异性的Mipmap过滤。 生成具有不同纵横比的相同纹理的较小版本。

从倾斜角度观看时,这会导致外观更好看。

  • **TEXTURE_FLAG_CONVERT_TO_LINEAR = 16**

将纹理转换为sRGB颜色空间。

  • **TEXTURE_FLAG_MIRRORED_REPEAT = 32**

重复纹理并镜像其他部分。

  • **TEXTURE_FLAG_USED_FOR_STREAMING = 2048**

纹理是视频表面。

  • **TEXTURE_FLAGS_DEFAULT = 7**

默认标志。 已启用TEXTURE_FLAG_MIPMAPSTEXTURE_FLAG_REPEATTEXTURE_FLAG_FILTER


enum ShaderMode:

  • **SHADER_SPATIAL = 0**

着色器是3D着色器。

  • **SHADER_CANVAS_ITEM = 1**

着色器是2D着色器。

  • **SHADER_PARTICLES = 2**

着色器是粒子着色器。

  • **SHADER_MAX = 3**

表示ShaderMode枚举的大小。


enum ArrayType:

  • **ARRAY_VERTEX = 0**

数组是一个顶点数组。

  • **ARRAY_NORMAL = 1**

数组是普通数组。

  • **ARRAY_TANGENT = 2**

数组是切线数组。

  • **ARRAY_COLOR = 3**

数组是一种颜色数组。

  • **ARRAY_TEX_UV = 4**

数组是UV坐标数组。

  • **ARRAY_TEX_UV2 = 5**

数组是第二个UV坐标的UV坐标数组。

  • **ARRAY_BONES = 6**

数组包含骨骼信息。

  • **ARRAY_WEIGHTS = 7**

数组是重量信息。

  • **ARRAY_INDEX = 8**

数组是索引数组。

  • **ARRAY_MAX = 9**

表示ArrayType枚举的大小。


enum ArrayFormat:

  • **ARRAY_FORMAT_VERTEX = 1**

用于标记顶点数组的标志。

  • **ARRAY_FORMAT_NORMAL = 2**

用于标记普通数组的标志。

  • **ARRAY_FORMAT_TANGENT = 4**

用于标记切线数组的标志。

  • **ARRAY_FORMAT_COLOR = 8**

用于标记颜色阵列的标志。

  • **ARRAY_FORMAT_TEX_UV = 16**

用于标记UV坐标数组的标志。

  • **ARRAY_FORMAT_TEX_UV2 = 32**

用于将UV坐标数组标记为第二个UV坐标的标志。

  • **ARRAY_FORMAT_BONES = 64**

用于标记骨骼信息数组的标志。

  • **ARRAY_FORMAT_WEIGHTS = 128**

用于标记权重数组的标志。

  • **ARRAY_FORMAT_INDEX = 256**

用于标记索引数组的标志。

  • **ARRAY_COMPRESS_VERTEX = 512**

用于标记压缩(半浮点)顶点数组的标志。

  • **ARRAY_COMPRESS_NORMAL = 1024**

用于标记压缩(半浮点)常规数组的标志。

  • **ARRAY_COMPRESS_TANGENT = 2048**

用于标记压缩(半浮点)切线数组的标志。

  • **ARRAY_COMPRESS_COLOR = 4096**

用于标记压缩(半浮点)颜色数组的标志。

  • **ARRAY_COMPRESS_TEX_UV = 8192**

用于标记压缩(半浮点)UV坐标数组的标志。

  • **ARRAY_COMPRESS_TEX_UV2 = 16384**

用于将压缩的(半浮点)UV坐标数组标记为第二个UV坐标的标志。

  • **ARRAY_COMPRESS_BONES = 32768**

用于标记压缩的骨骼阵列的标志。

  • **ARRAY_COMPRESS_WEIGHTS = 65536**

用于标记压缩(半浮点)权重数组的标志。

  • **ARRAY_COMPRESS_INDEX = 131072**

用于标记压缩索引数组的标志。

  • **ARRAY_FLAG_USE_2D_VERTICES = 262144**

用于标记数组包含2D顶点的标志。

  • **ARRAY_FLAG_USE_16_BIT_BONES = 524288**

用于标记数组使用16位骨骼而不是8位骨骼的标志。

  • **ARRAY_COMPRESS_DEFAULT = 97280**

用于设置标志[常数ARRAY_COMPRESS_VERTEX][常数ARRAY_COMPRESS_NORMAL][常数ARRAY_COMPRESS_TANGENT][常数ARRAY_COMPRESS_COLOR][常数ARRAY_COMPRESS_TEX_UV][常数ARRAY_COMPRESS_TEX_UV2]和[常数ARRAY_COMPRESS_WEPRESS。


enum PrimitiveType:

  • **PRIMITIVE_POINTS = 0**

绘制的基元由点组成。

  • **PRIMITIVE_LINES = 1**

绘制的图元由线条组成。

  • **PRIMITIVE_LINE_STRIP = 2**

绘制的基元由一条从头到尾的线带组成。

  • **PRIMITIVE_LINE_LOOP = 3**

绘制的图元由线环(在最后一个顶点和第一个顶点之间有一条线的线带)组成。

  • **PRIMITIVE_TRIANGLES = 4**

绘制的图元由三角形组成。

  • **PRIMITIVE_TRIANGLE_STRIP = 5**

绘制的图元由一个三角形条组成(最后三个顶点总是组合成一个三角形)。

  • **PRIMITIVE_TRIANGLE_FAN = 6**

绘制的图元由三角形带组成(最后两个顶点始终与第一个顶点组合成一个三角形)。

  • **PRIMITIVE_MAX = 7**

表示PrimitiveType枚举的大小。


enum BlendShapeMode:

  • **BLEND_SHAPE_MODE_NORMALIZED = 0**

混合形状已标准化。

  • **BLEND_SHAPE_MODE_RELATIVE = 1**

混合形状是相对于基本重量的。


enum LightType:

  • **LIGHT_DIRECTIONAL = 0**

是定向(日光)灯。

  • **LIGHT_OMNI = 1**

是万能的灯。

  • **LIGHT_SPOT = 2**

是一个射灯。


enum LightParam:

  • **LIGHT_PARAM_ENERGY = 0**

光的能量。

  • **LIGHT_PARAM_SPECULAR = 2**

光线对镜面反射的影响。

  • **LIGHT_PARAM_RANGE = 3**

灯光范围。

  • **LIGHT_PARAM_ATTENUATION = 4**

光线的衰减。

  • **LIGHT_PARAM_SPOT_ANGLE = 5**

聚光灯的角度。

  • **LIGHT_PARAM_SPOT_ATTENUATION = 6**

聚光灯的衰减。

  • **LIGHT_PARAM_CONTACT_SHADOW_SIZE = 7**

缩放阴影颜色。

  • **LIGHT_PARAM_SHADOW_MAX_DISTANCE = 8**

阴影将被渲染的最大距离。

  • **LIGHT_PARAM_SHADOW_SPLIT_1_OFFSET = 9**

第一次分裂占据的阴影图集的比例。

  • **LIGHT_PARAM_SHADOW_SPLIT_2_OFFSET = 10**

阴影图集被第二个分割占据的比例。

  • **LIGHT_PARAM_SHADOW_SPLIT_3_OFFSET = 11**

第三分裂占据的阴影图集的比例。 第四部分占据其余部分。

  • **LIGHT_PARAM_SHADOW_NORMAL_BIAS = 12**

法向偏差用于通过对象法线来偏移阴影查找。 可用于修复自阴影伪像。

  • **LIGHT_PARAM_SHADOW_BIAS = 13**

偏移阴影查找以修复自阴影伪像。

  • **LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE = 14**

增加对进一步分割的偏见,以修复仅在距离相机很远的地方出现的自阴影。

  • **LIGHT_PARAM_MAX = 15**

表示LightParam枚举的大小。


enum LightOmniShadowMode:

  • **LIGHT_OMNI_SHADOW_DUAL_PARABOLOID = 0**

对全向灯光使用双抛物面阴影贴图。

  • **LIGHT_OMNI_SHADOW_CUBE = 1**

将立方体贴图阴影贴图用于全向灯光。 比双抛物面更慢,但质量更好。


enum LightOmniShadowDetail:

  • **LIGHT_OMNI_SHADOW_DETAIL_VERTICAL = 0**

计算阴影贴图时,垂直使用更多细节。

  • **LIGHT_OMNI_SHADOW_DETAIL_HORIZONTAL = 1**

计算阴影贴图时,水平使用更多细节。


enum LightDirectionalShadowMode:

  • **LIGHT_DIRECTIONAL_SHADOW_ORTHOGONAL = 0**

将正交阴影投影用于定向光。

  • **LIGHT_DIRECTIONAL_SHADOW_PARALLEL_2_SPLITS = 1**

使用定向光时,请使用2个分割进行阴影投影。

  • **LIGHT_DIRECTIONAL_SHADOW_PARALLEL_4_SPLITS = 2**

使用定向光时,请使用4个分割进行阴影投影。


enum LightDirectionalShadowDepthRangeMode:

  • **LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_STABLE = 0**

在照相机移动时保持阴影稳定,但有效分辨率较低。

  • **LIGHT_DIRECTIONAL_SHADOW_DEPTH_RANGE_OPTIMIZED = 1**

优化阴影贴图的使用,提高有效分辨率。 但是可能会导致阴影移动或轻微闪烁。


enum ViewportUpdateMode:

  • **VIEWPORT_UPDATE_DISABLED = 0**

不要更新视口。

  • **VIEWPORT_UPDATE_ONCE = 1**

更新视口一次,然后设置为“禁用”。

  • **VIEWPORT_UPDATE_WHEN_VISIBLE = 2**

只要可见,就更新视口。

  • **VIEWPORT_UPDATE_ALWAYS = 3**

始终更新视口。


enum ViewportClearMode:

  • **VIEWPORT_CLEAR_ALWAYS = 0**

始终在绘制之前清除视口。

  • **VIEWPORT_CLEAR_NEVER = 1**

在绘制之前,永远不会清除视口。

  • **VIEWPORT_CLEAR_ONLY_NEXT_FRAME = 2**

清除视口一次,然后将清除模式设置为VIEWPORT_CLEAR_NEVER


enum ViewportMSAA:

  • **VIEWPORT_MSAA_DISABLED = 0**

禁用多样本抗锯齿。

  • **VIEWPORT_MSAA_2X = 1**

多重采样抗锯齿设置为2x。

  • **VIEWPORT_MSAA_4X = 2**

多重采样抗锯齿设置为4x。

  • **VIEWPORT_MSAA_8X = 3**

多重采样抗锯齿设置为8x。

  • **VIEWPORT_MSAA_16X = 4**

多重采样抗锯齿设置为16倍。

  • **VIEWPORT_MSAA_EXT_2X = 5**

多重采样抗锯齿在外部纹理上设置为2x。

  • **VIEWPORT_MSAA_EXT_4X = 6**

多重采样抗锯齿在外部纹理上设置为4倍。


enum ViewportUsage:

  • **VIEWPORT_USAGE_2D = 0**

视口不渲染3D而是采样。

  • **VIEWPORT_USAGE_2D_NO_SAMPLING = 1**

视口不会渲染3D,也不会采样。

  • **VIEWPORT_USAGE_3D = 2**

视口使用效果渲染3D。

  • **VIEWPORT_USAGE_3D_NO_EFFECTS = 3**

视口将渲染3D,但没有效果。


enum ViewportRenderInfo:

  • **VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME = 0**

在单个框架中绘制的对象数。

  • **VIEWPORT_RENDER_INFO_VERTICES_IN_FRAME = 1**

单个框架中绘制的顶点数。

  • **VIEWPORT_RENDER_INFO_MATERIAL_CHANGES_IN_FRAME = 2**

在此框架期间材料更改的次数。

  • **VIEWPORT_RENDER_INFO_SHADER_CHANGES_IN_FRAME = 3**

在此帧期间着色器更改的数量。

  • **VIEWPORT_RENDER_INFO_SURFACE_CHANGES_IN_FRAME = 4**

在此帧期间表面变化的次数。

  • **VIEWPORT_RENDER_INFO_DRAW_CALLS_IN_FRAME = 5**

此帧期间的绘图调用次数。

  • **VIEWPORT_RENDER_INFO_MAX = 6**

表示ViewportRenderInfo枚举的大小。


enum ViewportDebugDraw:

  • **VIEWPORT_DEBUG_DRAW_DISABLED = 0**

调试绘图已禁用。

  • **VIEWPORT_DEBUG_DRAW_UNSHADED = 1**

调试绘图将对象设置为非阴影。

  • **VIEWPORT_DEBUG_DRAW_OVERDRAW = 2**

将透明颜色覆盖为(0,0,0,0)

  • **VIEWPORT_DEBUG_DRAW_WIREFRAME = 3**

调试绘制在线框中绘制对象。


enum ScenarioDebugMode:

  • **SCENARIO_DEBUG_DISABLED = 0**

不要使用调试模式。

  • **SCENARIO_DEBUG_WIREFRAME = 1**

将所有对象绘制为线框模型。

  • **SCENARIO_DEBUG_OVERDRAW = 2**

绘制所有对象的方式可以显示发生了多少透支。 当绘制一部分像素并为其着色时,就会发生透支,然后另一个对象将其遮盖。 要优化场景,应减少透支。

  • **SCENARIO_DEBUG_SHADELESS = 3**

绘制所有对象而不加阴影。 等效于将所有对象着色器设置为unshaded


enum InstanceType:

  • **INSTANCE_NONE = 0**

该实例没有类型。

  • **INSTANCE_MESH = 1**

该实例是一个网格。

  • **INSTANCE_MULTIMESH = 2**

该实例是一个多重网格。

  • **INSTANCE_IMMEDIATE = 3**

该实例是立即几何。

  • **INSTANCE_PARTICLES = 4**

该实例是粒子发射器。

  • **INSTANCE_LIGHT = 5**

该实例是一盏灯。

  • **INSTANCE_REFLECTION_PROBE = 6**

该实例是反射探针。

  • **INSTANCE_GI_PROBE = 7**

该实例是GI探针。

  • **INSTANCE_LIGHTMAP_CAPTURE = 8**

该实例是一个光照贴图捕获。

  • **INSTANCE_MAX = 9**

表示InstanceType枚举的大小。

  • **INSTANCE_GEOMETRY_MASK = 30**

几何实例标志(网格,多重网格,立即数和粒子)的组合。


enum InstanceFlags:

  • **INSTANCE_FLAG_USE_BAKED_LIGHT = 0**

允许将实例用于烘焙照明。

  • **INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE = 1**

设置后,将手动请求在下一帧上绘制几何图形。

  • **INSTANCE_FLAG_MAX = 2**

表示InstanceFlags枚举的大小。


enum ShadowCastingSetting:

  • **SHADOW_CASTING_SETTING_OFF = 0**

禁用此实例的阴影。

  • **SHADOW_CASTING_SETTING_ON = 1**

从此实例投射阴影。

  • **SHADOW_CASTING_SETTING_DOUBLE_SIDED = 2**

渲染对象阴影时,禁用背面剔除。 这会稍微慢一些,但可能会导致阴影更正确。

  • **SHADOW_CASTING_SETTING_SHADOWS_ONLY = 3**

仅渲染对象的阴影。 对象本身不会被绘制。


enum NinePatchAxisMode:

  • **NINE_PATCH_STRETCH = 0**

九个补丁将在需要的地方拉伸。

  • **NINE_PATCH_TILE = 1**

九个补丁将在需要的地方填充瓷砖。

  • **NINE_PATCH_TILE_FIT = 2**

九个补丁在需要的地方铺满了瓷砖,并在需要时将其拉伸一些。


enum CanvasLightMode:

  • **CANVAS_LIGHT_MODE_ADD = 0**

在画布上添加浅色添加剂。

  • **CANVAS_LIGHT_MODE_SUB = 1**

向画布添加减色。

  • **CANVAS_LIGHT_MODE_MIX = 2**

光线会根据透明度增加颜色。

  • **CANVAS_LIGHT_MODE_MASK = 3**

灯光会根据遮罩增加颜色。


enum CanvasLightShadowFilter:

  • **CANVAS_LIGHT_FILTER_NONE = 0**

不要将滤镜应用于画布上的阴影。

  • **CANVAS_LIGHT_FILTER_PCF3 = 1**

使用PCF3过滤来过滤画布上的阴影。

  • **CANVAS_LIGHT_FILTER_PCF5 = 2**

使用PCF5过滤来过滤画布上的阴影。

  • **CANVAS_LIGHT_FILTER_PCF7 = 3**

使用PCF7过滤来过滤画布上的阴影。

  • **CANVAS_LIGHT_FILTER_PCF9 = 4**

使用PCF9过滤来过滤画布上的阴影。

  • **CANVAS_LIGHT_FILTER_PCF13 = 5**

使用PCF13过滤来过滤画布上的阴影。


enum CanvasOccluderPolygonCullMode:

  • **CANVAS_OCCLUDER_POLYGON_CULL_DISABLED = 0**

禁用画布封堵器。

  • **CANVAS_OCCLUDER_POLYGON_CULL_CLOCKWISE = 1**

画布封堵器的剔除是顺时针进行的。

  • **CANVAS_OCCLUDER_POLYGON_CULL_COUNTER_CLOCKWISE = 2**

帆布封堵器的剔除是逆时针方向进行的。


enum RenderInfo:

  • **INFO_OBJECTS_IN_FRAME = 0**

框架中的对象数量。

  • **INFO_VERTICES_IN_FRAME = 1**

框架中的顶点数量。

  • **INFO_MATERIAL_CHANGES_IN_FRAME = 2**

框架中经过修改的材料的数量。

  • **INFO_SHADER_CHANGES_IN_FRAME = 3**

着色器的数量在框架中重新绑定。

  • **INFO_SURFACE_CHANGES_IN_FRAME = 4**

框架中的表面变化量。

  • **INFO_DRAW_CALLS_IN_FRAME = 5**

框架中的绘制调用数量。

  • **INFO_USAGE_VIDEO_MEM_TOTAL = 6**

在GLES2和GLES3呈现后端中未实现,始终返回0。

  • **INFO_VIDEO_MEM_USED = 7**

所使用的视频内存量,即纹理和顶点内存的总和。

  • **INFO_TEXTURE_MEM_USED = 8**

使用的纹理内存量。

  • **INFO_VERTEX_MEM_USED = 9**

使用的顶点内存量。


enum Features:

  • **FEATURE_SHADERS = 0**

硬件支持着色器。

  • **FEATURE_MULTITHREADED = 1**

硬件支持多线程。


enum MultimeshTransformFormat:

  • **MULTIMESH_TRANSFORM_2D = 0**

使用Transform2D(#method-free_rid)(/docs/api/node/spatial/Particles.md#method-visibility_aabb)(#method-instance_cull_ray)(#method-instance_set_base)(/docs/api/data_types/Transform2D.md)存储MultiMesh变换。

  • **MULTIMESH_TRANSFORM_3D = 1**

使用Transform(#method-instance_set_base)(/docs/api/node/spatial/Particles.md#method-amount)(#method-instance_cull_aabb)(#method-free_rid)(/docs/api/data_types/Transform.md)存储MultiMesh变换。


enum MultimeshColorFormat:

  • **MULTIMESH_COLOR_NONE = 0**

MultiMesh不使用每个实例的颜色。

  • **MULTIMESH_COLOR_8BIT = 1**

MultiMesh颜色每个组件使用8位。

  • **MULTIMESH_COLOR_FLOAT = 2**

MultiMesh颜色在每个通道上使用浮点数。


enum MultimeshCustomDataFormat:

  • **MULTIMESH_CUSTOM_DATA_NONE = 0**

MultiMesh不使用自定义数据。

  • **MULTIMESH_CUSTOM_DATA_8BIT = 1**

MultiMesh自定义数据每个组件使用8位。

  • **MULTIMESH_CUSTOM_DATA_FLOAT = 2**

MultiMesh自定义数据对每个组件使用浮点数。


enum ReflectionProbeUpdateMode:

  • **REFLECTION_PROBE_UPDATE_ONCE = 0**

反射探针将更新一次反射,然后停止。

  • **REFLECTION_PROBE_UPDATE_ALWAYS = 1**

反射探针将更新每个帧。


enum ParticlesDrawOrder:

  • **PARTICLES_DRAW_ORDER_INDEX = 0**

按照它们出现在粒子阵列中的顺序绘制粒子。

  • **PARTICLES_DRAW_ORDER_LIFETIME = 1**

根据粒子的寿命对其进行排序。

  • **PARTICLES_DRAW_ORDER_VIEW_DEPTH = 2**

根据粒子到相机的距离对它们进行排序。


enum EnvironmentBG:

  • **ENV_BG_CLEAR_COLOR = 0**

使用清晰的颜色作为背景。

  • **ENV_BG_COLOR = 1**

使用指定的颜色作为背景。

  • **ENV_BG_SKY = 2**

将天空资源用作背景。

  • **ENV_BG_COLOR_SKY = 3**

对背景使用自定义颜色,但对阴影和反射使用天空。

  • **ENV_BG_CANVAS = 4**

使用指定的画布层作为背景。 这对于在3D世界中实例化2D场景很有用。

  • **ENV_BG_KEEP = 5**

不要清除背景,使用最后渲染的任何内容作为背景。

  • **ENV_BG_MAX = 7**

表示EnvironmentBG枚举的大小。


enum EnvironmentDOFBlurQuality:

  • **ENV_DOF_BLUR_QUALITY_LOW = 0**

使用最低的模糊质量。

  • **ENV_DOF_BLUR_QUALITY_MEDIUM = 1**

使用中等模糊质量。

  • **ENV_DOF_BLUR_QUALITY_HIGH = 2**

使用了最高的模糊质量。 看起来最好,但最慢。


enum EnvironmentGlowBlendMode:

  • **GLOW_BLEND_MODE_ADDITIVE = 0**

在场景顶部添加发光效果。

  • **GLOW_BLEND_MODE_SCREEN = 1**

将发光效果与屏幕融合在一起。 没有像添加剂那样明亮。

  • **GLOW_BLEND_MODE_SOFTLIGHT = 2**

在物体周围产生细微的颜色干扰。

  • **GLOW_BLEND_MODE_REPLACE = 3**

仅显示光晕效果而没有基础场景。


enum EnvironmentToneMapper:

  • **ENV_TONE_MAPPER_LINEAR = 0**

输入进来的颜色。

  • **ENV_TONE_MAPPER_REINHARD = 1**

使用Reinhard色调映射器。

  • **ENV_TONE_MAPPER_FILMIC = 2**

使用电影色调映射器。

  • **ENV_TONE_MAPPER_ACES = 3**

使用ACES tonemapper。


enum EnvironmentSSAOQuality:

  • **ENV_SSAO_QUALITY_LOW = 0**

屏幕空间环境光遮挡的最低质量。

  • **ENV_SSAO_QUALITY_MEDIUM = 1**

中等质量的屏幕空间环境光遮挡。

  • **ENV_SSAO_QUALITY_HIGH = 2**

最高质量的屏幕空间环境光遮挡。


enum EnvironmentSSAOBlur:

  • **ENV_SSAO_BLUR_DISABLED = 0**

禁用SSAO的模糊设置。 将使SSAO看起来更嘈杂。

  • **ENV_SSAO_BLUR_1x1 = 1**

在SSAO输出上执行1x1模糊。

  • **ENV_SSAO_BLUR_2x2 = 2**

在SSAO输出上执行2x2模糊。

  • **ENV_SSAO_BLUR_3x3 = 3**

在SSAO输出上执行3x3模糊。 使用此可实现最平滑的SSAO。


方法说明

  • black_bars_set_images black_bars_set_images(left: RID, top: RID, right: RID, bottom: RID)

设置要在窗口边缘显示的图像。


  • black_bars_set_margins black_bars_set_margins(left: int, top: int, right: int, bottom: int)

设置页边距大小,在此处渲染黑条(或图像,如果使用black_bars_set_images)。


  • camera_create camera_create()

创建一个摄像机并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有camera _ * VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。


  • camera_set_cull_mask camera_set_cull_mask(camera: RID, layers: int)

设置与此摄像机关联的剔除蒙版。 剔除蒙版描述了此摄像机渲染的3D图层。 等效于[成员Camera.cull_mask]


  • camera_set_environment camera_set_environment(camera: RID, env: RID)

设置此相机使用的环境。 等效于[Camera.environment成员]


  • camera_set_frustum camera_set_frustum(camera: RID, size: float, offset: Vector2, z_near: float, z_far: float)

将相机设置为使用视锥投影。


  • camera_set_orthogonal camera_set_orthogonal(camera: RID, size: float, z_near: float, z_far: float)

将相机设置为使用正交投影,也称为正交投影。


  • camera_set_perspective camera_set_perspective(camera: RID, fovy_degrees: float, z_near: float, z_far: float)

将相机设置为使用透视投影。


  • camera_set_transform camera_set_transform(camera: RID, transform: Transform)

设置相机的[变换]


  • camera_set_use_vertical_aspect camera_set_use_vertical_aspect(camera: RID, enable: bool)

如果true,则保留等于Camera.KEEP_WIDTH的水平纵横比。 如果false,则保留等于Camera.KEEP_HEIGHT的垂直长宽比。


  • canvas_create canvas_create()

创建画布并返回分配的RID(/docs/api/datatypes/RID.md)。 可以使用返回的RID对其进行访问。 此RID将在所有`canvas *` VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。


  • canvas_item_add_circle canvas_item_add_circle(item: RID, pos: Vector2, radius: float, color: Color)

CanvasItem的draw命令中添加一个circle命令。


  • canvas_item_add_clip_ignore canvas_item_add_clip_ignore(item: RID, ignore: bool)

如果ignore为true,则VisualServer不会执行剪辑。


  • canvas_item_add_line canvas_item_add_line(item: RID, from: Vector2, to: Vector2, color: Color, width: float = 1.0, antialiased: bool = false)

将行命令添加到CanvasItem的绘制命令中。


  • canvas_item_add_mesh canvas_item_add_mesh(item: RID, mesh: RID, transform: Transform2D = Transform2D( 1, 0, 0, 1, 0, 0 ), modulate: Color = Color( 1, 1, 1, 1 ), texture: RID, normal_map: RID)

将网格命令添加到CanvasItem的绘制命令中。


  • canvas_item_add_multimesh canvas_item_add_multimesh(item: RID, mesh: RID, texture: RID, normal_map: RID)

MultiMesh添加到CanvasItem的绘制命令中。 目前仅影响其aabb。


  • canvas_item_add_nine_patch canvas_item_add_nine_patch(item: RID, rect: Rect2, source: Rect2, texture: RID, topleft: Vector2, bottomright: Vector2, x_axis_mode: int = 0, y_axis_mode: int = 0, draw_center: bool = true, modulate: Color = Color( 1, 1, 1, 1 ), normal_map: RID)

CanvasItem的绘制命令中添加九个补丁图像。

有关更多说明,请参见NinePatchRect


  • canvas_item_add_particles canvas_item_add_particles(item: RID, particles: RID, texture: RID, normal_map: RID)

CanvasItem的绘制命令中添加一个粒子系统。


  • canvas_item_add_polygon canvas_item_add_polygon(item: RID, points: PoolVector2Array, colors: PoolColorArray, uvs: PoolVector2Array = PoolVector2Array( ), texture: RID, normal_map: RID, antialiased: bool = false)

CanvasItem的绘制命令中添加一个多边形。


  • canvas_item_add_polyline canvas_item_add_polyline(item: RID, points: PoolVector2Array, colors: PoolColorArray, width: float = 1.0, antialiased: bool = false)

CanvasItem的绘制命令中添加一条折线,该折线是从多个点开始的一条具有一定宽度的线。


  • canvas_item_add_primitive canvas_item_add_primitive(item: RID, points: PoolVector2Array, colors: PoolColorArray, uvs: PoolVector2Array, texture: RID, width: float = 1.0, normal_map: RID)

CanvasItem的绘制命令中添加基本体。


  • canvas_item_add_rect canvas_item_add_rect(item: RID, rect: Rect2, color: Color)

CanvasItem的绘制命令中添加一个矩形。


  • canvas_item_add_set_transform canvas_item_add_set_transform(item: RID, transform: Transform2D)

CanvasItem的绘制命令中添加Transform2D(#method-free_rid)(/docs/api/node/spatial/Particles.md#method-visibility_aabb)(#method-instance_cull_ray)(#method-instance_set_base)(/docs/api/data_types/Transform2D.md)命令。

这将在执行时设置extra_matrix统一。 这会影响画布项目的后续命令。


  • canvas_item_add_texture_rect canvas_item_add_texture_rect(item: RID, rect: Rect2, texture: RID, tile: bool = false, modulate: Color = Color( 1, 1, 1, 1 ), transpose: bool = false, normal_map: RID)

将纹理化的矩形添加到CanvasItem的绘制命令中。


  • canvas_item_add_texture_rect_region canvas_item_add_texture_rect_region(item: RID, rect: Rect2, texture: RID, src_rect: Rect2, modulate: Color = Color( 1, 1, 1, 1 ), transpose: bool = false, normal_map: RID, clip_uv: bool = true)

将具有区域设置的纹理矩形添加到CanvasItem的绘制命令中。


  • canvas_item_add_triangle_array canvas_item_add_triangle_array(item: RID, indices: PoolIntArray, points: PoolVector2Array, colors: PoolColorArray, uvs: PoolVector2Array = PoolVector2Array( ), bones: PoolIntArray = PoolIntArray( ), weights: PoolRealArray = PoolRealArray( ), texture: RID, count: int = -1, normal_map: RID, antialiased: bool = false, antialiasing_use_indices: bool = false)

CanvasItem的绘制命令中添加一个三角形数组。


  • canvas_item_clear canvas_item_clear(item: RID)

清除CanvasItem并删除其中的所有命令。


  • canvas_item_create canvas_item_create()

创建一个新的CanvasItem并返回其RID(/docs/api/datatypes/RID.md)。 可以使用返回的RID对其进行访问。 此RID将在所有`canvas_item *` VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。


  • canvas_item_set_clip canvas_item_set_clip(item: RID, clip: bool)

设置CanvasItem的裁剪。


  • canvas_item_set_copy_to_backbuffer canvas_item_set_copy_to_backbuffer(item: RID, enabled: bool, rect: Rect2)

设置CanvasItem将rect复制到后缓冲区。


  • canvas_item_set_custom_rect canvas_item_set_custom_rect(item: RID, use_custom_rect: bool, rect: Rect2 = Rect2( 0, 0, 0, 0 ))

CanvasItem定义自定义绘图矩形。


  • canvas_item_set_distance_field_mode canvas_item_set_distance_field_mode(item: RID, enabled: bool)

为显示基于距离字段的字体的GUI元素启用距离字段的使用。


  • canvas_item_set_draw_behind_parent canvas_item_set_draw_behind_parent(item: RID, enabled: bool)

设置CanvasItem在其父级后面绘制。


  • canvas_item_set_draw_index canvas_item_set_draw_index(item: RID, index: int)

设置CanvasItem的索引。


  • canvas_item_set_light_mask canvas_item_set_light_mask(item: RID, mask: int)

遮光罩。


  • canvas_item_set_material canvas_item_set_material(item: RID, material: RID)

将新材质设置为CanvasItem


  • canvas_item_set_modulate canvas_item_set_modulate(item: RID, color: Color)

设置调制CanvasItem及其子项的颜色。


  • canvas_item_set_parent canvas_item_set_parent(item: RID, parent: RID)

设置CanvasItem的父级。 父级可以是另一个画布项目,也可以是附加到视口的根画布。


  • canvas_item_set_self_modulate canvas_item_set_self_modulate(item: RID, color: Color)

设置调制CanvasItem的颜色,不带子级。


  • canvas_item_set_sort_children_by_y canvas_item_set_sort_children_by_y(item: RID, enabled: bool)

设置CanvasItem的子项是否应按y位置排序。


  • canvas_item_set_transform canvas_item_set_transform(item: RID, transform: Transform2D)

设置CanvasItemTransform2D(#method-free_rid)(/docs/api/node/spatial/Particles.md#method-visibility_aabb)(#method-instance_cull_ray)(#method-instance_set_base)(/docs/api/data_types/Transform2D.md)。


  • canvas_item_set_use_parent_material canvas_item_set_use_parent_material(item: RID, enabled: bool)

设置CanvasItem是否使用其父项的材质。


  • canvas_item_set_visible canvas_item_set_visible(item: RID, visible: bool)

设置画布项目(包括其子项)是否可见。


  • canvas_item_set_z_as_relative_to_parent canvas_item_set_z_as_relative_to_parent(item: RID, enabled: bool)

如果启用此选项,则父级的Z索引将添加到子级的Z索引。


  • canvas_item_set_z_index canvas_item_set_z_index(item: RID, z_index: int)

设置CanvasItem的Z索引,即其绘制顺序(首先绘制较低的索引)。


  • canvas_light_attach_to_canvas canvas_light_attach_to_canvas(light: RID, canvas: RID)

将画布灯附加到画布上。 将其从其先前的画布中删除。


  • canvas_light_create canvas_light_create()

创建一个画布灯,并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有canvas_light _ * VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。


  • canvas_light_occluder_attach_to_canvas canvas_light_occluder_attach_to_canvas(occluder: RID, canvas: RID)

在画布上附加遮光器。


  • canvas_light_occluder_create canvas_light_occluder_create()

创建一个光遮挡器,并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有canvas_light_ocluder _ * VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。


  • canvas_light_occluder_set_enabled canvas_light_occluder_set_enabled(occluder: RID, enabled: bool)

启用或禁用光遮挡物。


  • canvas_light_occluder_set_light_mask canvas_light_occluder_set_light_mask(occluder: RID, mask: int)

遮光罩。 有关光罩的更多信息,请参见[Occluder]


  • canvas_light_occluder_set_polygon canvas_light_occluder_set_polygon(occluder: RID, polygon: RID)

设置光遮挡物的多边形。


  • canvas_light_occluder_set_transform canvas_light_occluder_set_transform(occluder: RID, transform: Transform2D)

设置遮光器的Transform2D(#method-free_rid)(/docs/api/node/spatial/Particles.md#method-visibility_aabb)(#method-instance_cull_ray)(#method-instance_set_base)(/docs/api/data_types/Transform2D.md)。


  • canvas_light_set_color canvas_light_set_color(light: RID, color: Color)

设置灯光的颜色。


  • canvas_light_set_enabled canvas_light_set_enabled(light: RID, enabled: bool)

启用或禁用画布灯。


  • canvas_light_set_energy canvas_light_set_energy(light: RID, energy: float)

设置画布灯的能量。


  • canvas_light_set_height canvas_light_set_height(light: RID, height: float)

设置画布灯的高度。


  • canvas_light_set_item_cull_mask canvas_light_set_item_cull_mask(light: RID, mask: int)

遮光罩。


  • canvas_light_set_item_shadow_cull_mask canvas_light_set_item_shadow_cull_mask(light: RID, mask: int)

用于确定此画布灯光的阴影影响哪些层的二进制蒙版。 有关光罩的更多信息,请参见LightOccluder2D


  • canvas_light_set_layer_range canvas_light_set_layer_range(light: RID, min_layer: int, max_layer: int)

用此灯光渲染的图层范围。


  • canvas_light_set_mode canvas_light_set_mode(light: RID, mode: int)

灯光的模式,请参见CanvasLightMode常量。


  • canvas_light_set_scale canvas_light_set_scale(light: RID, scale: float)

设置灯光的纹理比例因子。 等效于[成员Light2D.texture_scale]


  • canvas_light_set_shadow_buffer_size canvas_light_set_shadow_buffer_size(light: RID, size: int)

设置阴影缓冲区的宽度,为此将大小缩放为下一个2的幂。


  • canvas_light_set_shadow_color canvas_light_set_shadow_color(light: RID, color: Color)

设置画布灯光阴影的颜色。


  • canvas_light_set_shadow_enabled canvas_light_set_shadow_enabled(light: RID, enabled: bool)

启用或禁用画布灯光的阴影。


  • canvas_light_set_shadow_filter canvas_light_set_shadow_filter(light: RID, filter: int)

设置画布灯光的阴影的滤镜,请参见CanvasLightShadowFilter常量。


  • canvas_light_set_shadow_gradient_length canvas_light_set_shadow_gradient_length(light: RID, length: float)

设置阴影渐变的长度。


  • canvas_light_set_shadow_smooth canvas_light_set_shadow_smooth(light: RID, smooth: float)

平滑阴影。


  • canvas_light_set_texture canvas_light_set_texture(light: RID, texture: RID)

设置灯光使用的纹理。


  • canvas_light_set_texture_offset canvas_light_set_texture_offset(light: RID, offset: Vector2)

设置灯光纹理的偏移量。


  • canvas_light_set_transform canvas_light_set_transform(light: RID, transform: Transform2D)

设置画布灯的Transform2D(#method-free_rid)(/docs/api/node/spatial/Particles.md#method-visibility_aabb)(#method-instance_cull_ray)(#method-instance_set_base)(/docs/api/data_types/Transform2D.md)。


  • canvas_light_set_z_range canvas_light_set_z_range(light: RID, min_z: int, max_z: int)

设置将受此灯光影响的对象的Z范围。 等效于[成员Light2D.range_z_min][成员Light2D.range_z_max]


  • canvas_occluder_polygon_create canvas_occluder_polygon_create()

创建一个新的光遮挡物多边形并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有canvas_occluder_polygon _ * VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。


  • canvas_occluder_polygon_set_cull_mode canvas_occluder_polygon_set_cull_mode(occluder_polygon: RID, mode: int)

设置遮挡物多边形剔除模式。


  • canvas_occluder_polygon_set_shape canvas_occluder_polygon_set_shape(occluder_polygon: RID, shape: PoolVector2Array, closed: bool)

设置遮挡物多边形的形状。


  • canvas_occluder_polygon_set_shape_as_lines canvas_occluder_polygon_set_shape_as_lines(occluder_polygon: RID, shape: PoolVector2Array)

将遮挡物多边形的形状设置为线。


  • canvas_set_item_mirroring canvas_set_item_mirroring(canvas: RID, item: RID, mirroring: Vector2)

画布项目的副本将以镜像Vector2的局部偏移绘制。


  • canvas_set_modulate canvas_set_modulate(canvas: RID, color: Color)

调制给定画布中的所有颜色。


  • directional_light_create directional_light_create()

创建一个定向光并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID可以在大多数light _ * VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。

要放置在场景中,请使用instance_set_base(使用返回的RID)将此定向光源附加到实例。


  • draw draw(swap_buffers: bool = true, frame_step: float = 0.0)

画一个框架。


  • environment_create environment_create()

Creates an environment and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all environment_* VisualServer functions.

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。


  • environment_set_adjustment environment_set_adjustment(env: RID, enable: bool, brightness: float, contrast: float, saturation: float, ramp: RID)

设置要与“调整”后处理效果一起使用的值。


  • environment_set_ambient_light environment_set_ambient_light(env: RID, color: Color, energy: float = 1.0, sky_contibution: float = 0.0)

设置环境光参数。 有关更多详细信息,请参见[环境]


  • environment_set_background environment_set_background(env: RID, bg: int)

设置环境的 BGMode 。 等效于[成员Environment.background_mode]


  • environment_set_bg_color environment_set_bg_color(env: RID, color: Color)

为场景的清晰区域显示的颜色(如果使用“自定义颜色”或“彩色天空”背景模式)。


  • environment_set_bg_energy environment_set_bg_energy(env: RID, energy: float)

设置背景颜色的强度。


  • environment_set_canvas_max_layer environment_set_canvas_max_layer(env: RID, max_layer: int)

设置使用“画布”背景模式时要使用的最大图层。


  • environment_set_dof_blur_far environment_set_dof_blur_far(env: RID, enable: bool, distance: float, transition: float, far_amount: float, quality: int)

设置要与“ DoF远距模糊”后期处理效果一起使用的值。 有关更多详细信息,请参见[环境]


  • environment_set_dof_blur_near environment_set_dof_blur_near(env: RID, enable: bool, distance: float, transition: float, far_amount: float, quality: int)

设置要与“ DoF Near Blur”后期处理效果一起使用的值。 有关更多详细信息,请参见[环境]


  • environment_set_fog environment_set_fog(env: RID, enable: bool, color: Color, sun_color: Color, sun_amount: float)

设置要与场景雾一起使用的变量。 有关更多详细信息,请参见[环境]


  • environment_set_fog_depth environment_set_fog_depth(env: RID, enable: bool, depth_begin: float, depth_end: float, depth_curve: float, transmit: bool, transmit_curve: float)

设置要与雾深效果一起使用的变量。有关更多详细信息,请参见[环境]


  • environment_set_fog_height environment_set_fog_height(env: RID, enable: bool, min_height: float, max_height: float, height_curve: float)

设置要与雾高效果一起使用的变量。有关更多详细信息,请参见[环境]


  • environment_set_glow environment_set_glow(env: RID, enable: bool, level_flags: int, intensity: float, strength: float, bloom_threshold: float, blend_mode: int, hdr_bleed_threshold: float, hdr_bleed_scale: float, hdr_luminance_cap: float, bicubic_upscale: bool)

设置要与“发光”后处理效果一起使用的变量。有关更多详细信息,请参见[环境]


  • environment_set_sky environment_set_sky(env: RID, sky: RID)

设置使用 BGMode 天空时,将[天空]用作环境的背景。 等效于[成员Environment.background_sky]


  • environment_set_sky_custom_fov environment_set_sky_custom_fov(env: RID, scale: float)

设置背景[天空]的自定义视野。 等效于[成员Environment.background_sky_custom_fov]


  • environment_set_sky_orientation environment_set_sky_orientation(env: RID, orientation: Basis)

设置背景[天空]的旋转,以[基础]表示。 等效于[成员Environment.background_sky_orientation]


  • environment_set_ssao environment_set_ssao(env: RID, enable: bool, radius: float, intensity: float, radius2: float, intensity2: float, bias: float, light_affect: float, ao_channel_affect: float, color: Color, quality: int, blur: int, bilateral_sharpness: float)

设置要与“屏幕空间环境光遮挡(SSAO)”后处理效果一起使用的变量。 有关更多详细信息,请参见[环境]


  • environment_set_ssr environment_set_ssr(env: RID, enable: bool, max_steps: int, fade_in: float, fade_out: float, depth_tolerance: float, roughness: bool)

设置要与“屏幕空间反射”后处理效果一起使用的变量。 有关更多详细信息,请参见[环境]


  • environment_set_tonemap environment_set_tonemap(env: RID, tone_mapper: int, exposure: float, white: float, auto_exposure: bool, min_luminance: float, max_luminance: float, auto_exp_speed: float, auto_exp_grey: float)

设置要与“ tonemap”后期处理效果一起使用的变量。 有关更多详细信息,请参见[环境]


  • finish finish()

删除缓冲区并清除测试立方体。


  • force_draw force_draw(swap_buffers: bool = true, frame_step: float = 0.0)

调用函数时强制绘制框架。 绘制框架会更新所有设置为要更新的[视口]。 使用时要格外小心。


  • force_sync force_sync()

同步线程。


  • free_rid free_rid(rid: RID)

尝试释放VisualServer中的对象。


  • get_render_info get_render_info(info: int)

返回特定信息,有关选项,请参见RenderInfo


  • get_test_cube get_test_cube()

返回测试多维数据集的ID。 如果不存在,则创建一个。


  • get_test_texture get_test_texture()

返回测试纹理的ID。 如果不存在,则创建一个。


  • get_video_adapter_name get_video_adapter_name() const

返回视频适配器的名称(例如“ GeForce GTX 1080 /PCIe /SSE2”)。

注意:运行无头或服务器二进制文件时,此函数返回空字符串。


  • get_video_adapter_vendor get_video_adapter_vendor() const

返回视频适配器的供应商(例如“ NVIDIA Corporation”)。

注意:运行无头或服务器二进制文件时,此函数返回空字符串。


  • get_white_texture get_white_texture()

返回白色纹理的ID。 如果不存在,则创建一个。


  • gi_probe_create gi_probe_create()

创建一个GI探针并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有gi_probe _ * VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。

要放置在场景中,请使用instance_set_base(使用返回的RID)将此GI探针附加到实例。


  • gi_probe_get_bias gi_probe_get_bias(probe: RID) const

返回GI探针的偏差值。 偏差用于避免自我遮挡。 等效于[成员GIProbeData.bias]


  • gi_probe_get_bounds gi_probe_get_bounds(probe: RID) const

返回覆盖GI探针整个范围的与轴对齐的边界框。


  • gi_probe_get_cell_size gi_probe_get_cell_size(probe: RID) const

返回由gi_probe_set_cell_size设置的像元大小。


  • gi_probe_get_dynamic_data gi_probe_get_dynamic_data(probe: RID) const

返回GI探针使用的数据。


  • gi_probe_get_dynamic_range gi_probe_get_dynamic_range(probe: RID) const

返回为此GI探针设置的动态范围。


  • gi_probe_get_energy gi_probe_get_energy(probe: RID) const

返回此GI探针的能量乘数。 等效于[GIProbe.energy成员]


  • gi_probe_get_normal_bias gi_probe_get_normal_bias(probe: RID) const

返回此GI探针的正常偏差。


  • gi_probe_get_propagation gi_probe_get_propagation(probe: RID) const

返回此GI探针的传播值。 等效于[成员GIProbe.propagation]


  • gi_probe_get_to_cell_xform gi_probe_get_to_cell_xform(probe: RID) const

返回[方法gi_probe_set_to_cell_xform]设置的变换。


  • gi_probe_is_compressed gi_probe_is_compressed(probe: RID) const

如果与该GI探针关联的GI探针数据已压缩,则返回true。 等效于[成员GIProbe.compress]


  • gi_probe_is_interior gi_probe_is_interior(probe: RID) const

如果GI探针设置为内部,则返回true,这意味着它不考虑天光。 等效于[GIProbe.interior成员]


  • gi_probe_set_bias gi_probe_set_bias(probe: RID, bias: float)

设置偏差值以避免自闭塞。 等效于[GIProbe.bias成员]


  • gi_probe_set_bounds gi_probe_set_bounds(probe: RID, bounds: AABB)

设置覆盖GI探针范围的与轴对齐的边界框。


  • gi_probe_set_cell_size gi_probe_set_cell_size(probe: RID, range: float)

设置GI探针内单个细胞的大小。


  • gi_probe_set_compress gi_probe_set_compress(probe: RID, enable: bool)

设置GI探针数据的压缩设置。 压缩的数据将占用较少的空间,但看起来可能更糟。 等效于[成员GIProbe.compress]


  • gi_probe_set_dynamic_data gi_probe_set_dynamic_data(probe: RID, data: PoolIntArray)

设置要在GI探针中用于照明计算的数据。 通常,这是在GIProbe节点内部创建和调用的。 您不应该尝试自行设置。


  • gi_probe_set_dynamic_range gi_probe_set_dynamic_range(probe: RID, range: int)

设置GI探头的动态范围。 动态范围设置了明亮度的限制。 较小的范围可以捕获更多细节,但会限制明亮的灯光。 等效于[成员GIProbe.dynamic_range]


  • gi_probe_set_energy gi_probe_set_energy(probe: RID, energy: float)

设置此GI探头的能量倍增器。 较高的能量会使来自GI探头的间接光更亮。 等效于[GIProbe.energy成员]


  • gi_probe_set_interior gi_probe_set_interior(probe: RID, enable: bool)

设置此GI探头的内部值。 计算照明时,设置为内部的GI探头不包括天空。 等效于[GIProbe.interior成员]


  • gi_probe_set_normal_bias gi_probe_set_normal_bias(probe: RID, bias: float)

设置此GI探头的正常偏置。 正常偏见的行为类似于其他形式的偏见,并且可以帮助减少自我遮挡。 等效于[成员GIProbe.normal_bias]


  • gi_probe_set_propagation gi_probe_set_propagation(probe: RID, propagation: float)

设置此GI探头内的光传播。 等效于[成员GIProbe.propagation]


  • gi_probe_set_to_cell_xform gi_probe_set_to_cell_xform(probe: RID, xform: Transform)

将此GI探针设置为“转换”单元格。


  • has_changed has_changed() const

如果对VisualServer的数据进行了更改,则返回true。 如果发生这种情况,通常会调用draw


  • has_feature has_feature(feature: int) const

尚未实现。 始终返回false


  • has_os_feature has_os_feature(feature: String) const

如果操作系统支持某个功能,则返回true。 功能可能是s3tcetcetc2pvrtc


  • immediate_begin immediate_begin(immediate: RID, primitive: int, texture: RID)

设置ImmediateGeometry(#method-instance_cull_convex)(#method-Instant_vertex)(./ImmediateGeometry.md)内部构件以准备绘制。 等效于InstantGeometry.begin


  • immediate_clear immediate_clear(immediate: RID)

清除Instant_beginInstant_end之间设置的所有内容。 等效于InstantGeometry.clear


  • immediate_color immediate_color(immediate: RID, color: Color)

设置下一个顶点要使用的颜色。 等效于[InstantGeometry.set_color]


  • immediate_create immediate_create()

创建立即几何并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有immediate _ * VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。

要放置在场景中,请使用instance_set_base(使用返回的RID)将此立即几何附加到实例。


  • immediate_end immediate_end(immediate: RID)

结束绘制ImmediateGeometry(#method-instance_cull_convex)(#method-Instant_vertex)(./ImmediateGeometry.md)并显示它。 等效于InstantGeometry.end


  • immediate_get_material immediate_get_material(immediate: RID) const

返回分配给ImmediateGeometry(#method-instance_cull_convex)(#method-Instant_vertex)(./ImmediateGeometry.md)的材质。


  • immediate_normal immediate_normal(immediate: RID, normal: Vector3)

设置下一个顶点要使用的法线。 等效于InstantGeometry.set_normal


  • immediate_set_material immediate_set_material(immediate: RID, material: RID)

设置用于绘制ImmediateGeometry(#method-instance_cull_convex)(#method-Instant_vertex)(./ImmediateGeometry.md)的材质。


  • immediate_tangent immediate_tangent(immediate: RID, tangent: Plane)

设置要与下一个顶点一起使用的切线。 等效于InstantGeometry.set_tangent


  • immediate_uv immediate_uv(immediate: RID, tex_uv: Vector2)

设置要用于下一个顶点的UV。 等效于InstantGeometry.set_uv


  • immediate_uv2 immediate_uv2(immediate: RID, tex_uv: Vector2)

设置要用于下一个顶点的UV2。 等效于InstantGeometry.set_uv2


  • immediate_vertex immediate_vertex(immediate: RID, vertex: Vector3)

使用预先提供的信息添加下一个顶点。 等效于InstantGeometry.add_vertex


  • immediate_vertex_2d immediate_vertex_2d(immediate: RID, vertex: Vector2)

使用预先提供的信息添加下一个顶点。 这是一个帮助程序类,它在后台调用[Instant_vertex]方法。 等效于InstantGeometry.add_vertex


  • init init()

初始化可视服务器。 在引擎初始化期间,此功能由平台相关的代码在内部调用。 如果从正在运行的游戏中调用,它将不会执行任何操作。


  • instance_attach_object_instance_id instance_attach_object_instance_id(instance: RID, id: int)

将唯一的对象ID附加到实例。 必须将对象ID附加到实例,以便使用instance_cull_aabbinstance_cull_convex[instance_cull_ray]进行适当的剔除。


  • instance_attach_skeleton instance_attach_skeleton(instance: RID, skeleton: RID)

将骨架附加到实例。 从实例中删除先前的骨架。


  • instance_create instance_create()

创建一个视觉实例并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有instance _ * VisualServer函数中使用。

完成RID后,您将要使用VisualServer的free_rid静态方法释放RID。

实例是在场景中放置3D对象的一种方式。 需要使用instance_set_base将诸如粒子,网格和反射探针之类的对象与实例相关联,以使其在场景中可见。


  • instance_create2 instance_create2(base: RID, scenario: RID)

创建一个视觉实例,将其添加到VisualServer,并设置基础实例和方案。 可以使用返回的RID对其进行访问。 此RID将在所有instance _ * VisualServer函数中使用。

完成RID后,您将要使用VisualServer的free_rid静态方法释放RID。


  • instance_geometry_set_as_instance_lod instance_geometry_set_as_instance_lod(instance: RID, as_lod_of_instance: RID)

在IdeaXR 3.x中未实现。


  • instance_geometry_set_cast_shadows_setting instance_geometry_set_cast_shadows_setting(instance: RID, shadow_casting_setting: int)

将阴影投射设置设置为ShadowCastingSetting之一。


  • instance_geometry_set_draw_range instance_geometry_set_draw_range(instance: RID, min: float, max: float, min_margin: float, max_margin: float)

在IdeaXR 3.x中未实现。


  • instance_geometry_set_flag instance_geometry_set_flag(instance: RID, flag: int, enabled: bool)

设置给定InstanceFlags的标志。 有关更多详细信息,请参见[枚举InstanceFlags]


  • instance_geometry_set_material_override instance_geometry_set_material_override(instance: RID, material: RID)

设置一个材质,该材质将覆盖与此实例关联的网格上所有曲面的材质。 等效于[GeometryInstance.material_override]


  • instance_set_base instance_set_base(instance: RID, base: RID)

设置实例的基础。 基础可以是可以显示的VisualServer中创建的任何3D对象。 例如,任何灯光类型,网格,多网格,即时几何体,粒子系统,反射探针,光照贴图捕获和GI探针都是可以设置为实例基础以便在场景中显示的所有类型。 。


  • instance_set_blend_shape_weight instance_set_blend_shape_weight(instance: RID, shape: int, weight: float)

设置与此实例关联的给定混合形状的权重。


  • instance_set_custom_aabb instance_set_custom_aabb(instance: RID, aabb: AABB)

设置从视锥中剔除对象时要使用的自定义AABB。 等效于[GeometryInstance.set_custom_aabb]


  • instance_set_exterior instance_set_exterior(instance: RID, enabled: bool)

在IdeaXR 3.x中未实现的功能。


  • instance_set_extra_visibility_margin instance_set_extra_visibility_margin(instance: RID, margin: float)

设置边距以从视锥中剔除对象时增加AABB的大小。 这样可以避免剔除掉在视锥范围内的对象。 等效于[GeometryInstance.extra_cull_margin]


  • instance_set_layer_mask instance_set_layer_mask(instance: RID, mask: int)

设置此实例将被绘制到的渲染层。 等效于[成员VisualInstance.layers]


  • instance_set_scenario instance_set_scenario(instance: RID, scenario: RID)

设置实例所在的场景。场景是将在其中显示对象的3D世界。


  • instance_set_surface_material instance_set_surface_material(instance: RID, surface: int, material: RID)

设置特定表面的材料。 等效于[MeshInstance.set_surface_material]


  • instance_set_transform instance_set_transform(instance: RID, transform: Transform)

设置实例的世界空间变换。 等效于[成员Spatial.transform]


  • instance_set_use_lightmap instance_set_use_lightmap(instance: RID, lightmap_instance: RID, lightmap: RID)

设置要用于此实例的光照贴图。


  • instance_set_visible instance_set_visible(instance: RID, visible: bool)

设置是否绘制实例。 等效于[成员Spatial.visible]


  • instances_cull_aabb instances_cull_aabb(aabb: AABB, scenario: RID) const

返回与提供的AABB相交的对象ID的数组。 仅考虑视觉3D节点,例如[MeshInstance]DirectionalLight(#enum-LightDirectionalShadowDepthRangeMode)。 使用[@]获取实际的节点。 必须提供方案RID,该ID在您要查询的世界(#enum-LightDirectionalShadowMode)中可用。 这将强制所有排队更新的资源进行更新。

警告:此功能主要供编辑使用。 对于游戏中的用例,更喜欢物理碰撞。


  • instances_cull_convex instances_cull_convex(convex: Array, scenario: RID) const

返回与提供的凸形形状相交的对象ID的数组。 仅考虑视觉3D节点,例如[MeshInstance]DirectionalLight(#enum-LightDirectionalShadowDepthRangeMode)。 使用[@]获取实际的节点。 必须提供方案RID,该ID在您要查询的世界(#enum-LightDirectionalShadowMode)中可用。 这将强制所有排队更新的资源进行更新。

警告:此功能主要供编辑使用。 对于游戏中的用例,更喜欢物理碰撞。


  • instances_cull_ray instances_cull_ray(from: Vector3, to: Vector3, scenario: RID) const

返回与提供的3D射线相交的对象ID的数组。 仅考虑视觉3D节点,例如[MeshInstance]DirectionalLight(#enum-LightDirectionalShadowDepthRangeMode)。 使用[@]获取实际的节点。 必须提供方案RID,该ID在您要查询的世界(#enum-LightDirectionalShadowMode)中可用。 这将强制所有排队更新的资源进行更新。

警告:此功能主要供编辑使用。 对于游戏中的用例,更喜欢物理碰撞。


  • light_directional_set_blend_splits light_directional_set_blend_splits(light: RID, enable: bool)

如果true,此定向光将在阴影贴图分割之间混合,从而使它们之间的过渡更加平滑。 等效于[成员DirectionalLight.direction_shadow_blend_splits]


  • light_directional_set_shadow_depth_range_mode light_directional_set_shadow_depth_range_mode(light: RID, range_mode: int)

设置此定向光的阴影深度范围模式。 等效于[成员DirectionalLight.direction_shadow_depth_range]。 有关选项,请参见[LightDirectionalShadowDepthRangeMode]


  • light_directional_set_shadow_mode light_directional_set_shadow_mode(light: RID, mode: int)

设置此定向光的阴影模式。 等效于成员DirectionalLight.directional_shadow_mode。 有关选项,请参见LightDirectionalShadowMode


  • light_omni_set_shadow_detail light_omni_set_shadow_detail(light: RID, detail: int)

设置是否对该多功能灯使用垂直或水平细节。 这可用于减轻阴影贴图中的伪影。 等效于[成员OmniLight.omni_shadow_detail]


  • light_omni_set_shadow_mode light_omni_set_shadow_mode(light: RID, mode: int)

设置对阴影贴图使用双抛物面还是立方体贴图。 双抛物面速度更快,但可能会出现伪影。 等效于[成员OmniLight.omni_shadow_mode]


  • light_set_color light_set_color(light: RID, color: Color)

设置灯光的颜色。 等效于成员Light.light_color


  • light_set_cull_mask light_set_cull_mask(light: RID, mask: int)

设置此光的剔除蒙版。 灯光仅影响选定图层中的对象。 等效于[成员Light.light_cull_mask]


  • light_set_negative light_set_negative(light: RID, enable: bool)

如果true,则光将减去光而不是增加光。 等效于[成员Light.light_negative]


  • light_set_param light_set_param(light: RID, param: int, value: float)

设置指定的灯光参数。 有关选项,请参见LightParam。 等效于Light.set_param


  • light_set_projector light_set_projector(light: RID, texture: RID)

在IdeaXR 3.x中未实现。


  • light_set_reverse_cull_face_mode light_set_reverse_cull_face_mode(light: RID, enabled: bool)

如果true,则反转网格的背面剔除。 当您的平面网格后面有灯光时,这很有用。 如果需要在网格的两侧投射阴影,请将网格设置为使用instance_geometry_set_cast_shadows_setting的双面阴影。 等效于[成员Light.shadow_reverse_cull_face]


  • light_set_shadow light_set_shadow(light: RID, enabled: bool)

如果true,则光线会投射阴影。 等效于成员Light.shadow_enabled


  • light_set_shadow_color light_set_shadow_color(light: RID, color: Color)

设置灯光投射的阴影的颜色。 等效于成员Light.shadow_color


  • light_set_use_gi light_set_use_gi(light: RID, enabled: bool)

设置GI探针是否从该光中捕获光信息。


  • lightmap_capture_create lightmap_capture_create()

创建一个光照贴图捕获并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有lightmap_capture _ * VisualServer函数中使用。

完成RID后,您将要使用VisualServer的free_rid静态方法释放RID。

要放置在场景中,请使用instance_set_base(使用返回的RID)将此光照贴图捕获附加到实例。


  • lightmap_capture_get_bounds lightmap_capture_get_bounds(capture: RID) const

返回光照图捕获区域的大小。


  • lightmap_capture_get_energy lightmap_capture_get_energy(capture: RID) const

返回光照图捕获使用的能量乘数。


  • lightmap_capture_get_octree lightmap_capture_get_octree(capture: RID) const

返回光照图捕获使用的八叉树。


  • lightmap_capture_get_octree_cell_subdiv lightmap_capture_get_octree_cell_subdiv(capture: RID) const

返回此光照贴图捕获的八叉树使用的像元细分量。


  • lightmap_capture_get_octree_cell_transform lightmap_capture_get_octree_cell_transform(capture: RID) const

返回此光照贴图捕获的八叉树的像元变换。


  • lightmap_capture_set_bounds lightmap_capture_set_bounds(capture: RID, bounds: AABB)

设置光照贴图捕获覆盖的区域的大小。 等效于成员BakedLightmapData.bounds


  • lightmap_capture_set_energy lightmap_capture_set_energy(capture: RID, energy: float)

设置此光照贴图捕获的能量倍增器。 等效于BakedLightmapData.energy成员


  • lightmap_capture_set_octree lightmap_capture_set_octree(capture: RID, octree: PoolByteArray)

设置此光照贴图捕获要使用的八叉树。 [BakedLightmap]节点通常使用此功能。 等效于[BakedLightmapData.octree成员]


  • lightmap_capture_set_octree_cell_subdiv lightmap_capture_set_octree_cell_subdiv(capture: RID, subdiv: int)

设置此光照贴图捕获的八叉树的细分级别。 等效于BakedLightmapData.cell_subdiv成员


  • lightmap_capture_set_octree_cell_transform lightmap_capture_set_octree_cell_transform(capture: RID, xform: Transform)

设置此光照贴图捕获的八叉树的八叉树单元格变换。 等效于成员BakedLightmapData.cell_space_transform


  • make_sphere_mesh make_sphere_mesh(latitudes: int, longitudes: int, radius: float)

返回具有给定的水平和垂直细分量的球体网格。


  • material_create material_create()

创建一个空的材质并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有material _ * VisualServer函数中使用。

完成RID后,您将要使用VisualServer的free_rid静态方法释放RID。


  • material_get_param material_get_param(material: RID, parameter: String) const

返回某种材料参数的值。


  • material_get_param_default material_get_param_default(material: RID, parameter: String) const

返回参数的默认值(如果有)。 否则返回一个空的[Variant]


  • material_get_shader material_get_shader(shader_material: RID) const

返回特定材质的着色器的着色器。 如果材质没有着色器,则返回一个空的RID。


  • material_set_line_width material_set_line_width(material: RID, width: float)

设置材料的线宽。


  • material_set_next_pass material_set_next_pass(material: RID, next_material: RID)

设置对象的下一个材质。


  • material_set_param material_set_param(material: RID, parameter: String, value: Variant)

设置材料的参数。


  • material_set_render_priority material_set_render_priority(material: RID, priority: int)

设置材质的渲染优先级。


  • material_set_shader material_set_shader(shader_material: RID, shader: RID)

设置材质球材质的材质球。


  • mesh_add_surface_from_arrays mesh_add_surface_from_arrays(mesh: RID, primitive: int, arrays: Array, blend_shapes: Array = [], compress_format: int = 97280)

将从“阵列”生成的曲面添加到网格中。 有关类型,请参见PrimitiveType常量。


  • mesh_clear mesh_clear(mesh: RID)

从网格中删除所有曲面。


  • mesh_create mesh_create()

创建一个新的网格并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有mesh _ * VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。

要放置在场景中,请使用instance_set_base(使用返回的RID)将此网格附加到实例。


  • mesh_get_blend_shape_count mesh_get_blend_shape_count(mesh: RID) const

返回网格的混合形状计数。


  • mesh_get_blend_shape_mode mesh_get_blend_shape_mode(mesh: RID) const

返回网格的混合形状模式。


  • mesh_get_custom_aabb mesh_get_custom_aabb(mesh: RID) const

返回网格的自定义aabb。


  • mesh_get_surface_count mesh_get_surface_count(mesh: RID) const

返回网格的曲面数。


  • mesh_remove_surface mesh_remove_surface(mesh: RID, index: int)

移除网格的表面。


  • mesh_set_blend_shape_count mesh_set_blend_shape_count(mesh: RID, amount: int)

设置网格的混合形状计数。


  • mesh_set_blend_shape_mode mesh_set_blend_shape_mode(mesh: RID, mode: int)

设置网格的混合形状模式。


  • mesh_set_custom_aabb mesh_set_custom_aabb(mesh: RID, aabb: AABB)

设置网格的自定义aabb。


  • mesh_surface_get_aabb mesh_surface_get_aabb(mesh: RID, surface: int) const

返回网格物体表面的aabb。


  • mesh_surface_get_array mesh_surface_get_array(mesh: RID, surface: int) const

返回网格表面的顶点缓冲区。


  • mesh_surface_get_array_index_len mesh_surface_get_array_index_len(mesh: RID, surface: int) const

返回网格表面的索引数量。


  • mesh_surface_get_array_len mesh_surface_get_array_len(mesh: RID, surface: int) const

返回网格表面的顶点数量。


  • mesh_surface_get_arrays mesh_surface_get_arrays(mesh: RID, surface: int) const

返回网格物体表面的缓冲区数组。


  • mesh_surface_get_blend_shape_arrays mesh_surface_get_blend_shape_arrays(mesh: RID, surface: int) const

返回混合形状的网格表面的数组。


  • mesh_surface_get_format mesh_surface_get_format(mesh: RID, surface: int) const

返回网格表面的格式。


  • mesh_surface_get_format_offset mesh_surface_get_format_offset(format: int, vertex_len: int, index_len: int, array_index: int) const

功能在IdeaXR 3.x中未使用。


  • mesh_surface_get_format_stride mesh_surface_get_format_stride(format: int, vertex_len: int, index_len: int) const

功能在IdeaXR 3.x中未使用。


  • mesh_surface_get_index_array mesh_surface_get_index_array(mesh: RID, surface: int) const

返回网格表面的索引缓冲区。


  • mesh_surface_get_material mesh_surface_get_material(mesh: RID, surface: int) const

返回网格表面的材质。


  • mesh_surface_get_primitive_type mesh_surface_get_primitive_type(mesh: RID, surface: int) const

返回网格表面的基本类型。


  • mesh_surface_get_skeleton_aabb mesh_surface_get_skeleton_aabb(mesh: RID, surface: int) const

返回网格表面骨架的aabb。


  • mesh_surface_set_material mesh_surface_set_material(mesh: RID, surface: int, material: RID)

设置网格物体表面的材质。


  • mesh_surface_update_region mesh_surface_update_region(mesh: RID, surface: int, offset: int, data: PoolByteArray)

更新指定表面的顶点缓冲区的特定区域。 警告:此功能无需任何安全机制即可直接更改顶点缓冲区,您很容易破坏网格。


  • multimesh_allocate multimesh_allocate(multimesh: RID, instances: int, transform_format: int, color_format: int, custom_data_format: int = 0)

为多网格数据分配空间。 格式参数确定OpenGL如何存储数据。 有关用法,请参见MultimeshTransformFormat[MultimeshColorFormat]MultimeshCustomDataFormat。 等效于[成员MultiMesh.instance_count]


  • multimesh_create multimesh_create()

在VisualServer上创建一个新的多重网格,并返回一个RID(/docs/api/datatypes/RID.md)句柄。 此RID将在所有`multimesh *` VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。

要放置在场景中,请使用instance_set_base(使用返回的RID)将此多重网格附加到实例。


  • multimesh_get_aabb multimesh_get_aabb(multimesh: RID) const

计算并返回将所有网格封闭在多网格中的与轴对齐的边界框。


  • multimesh_get_instance_count multimesh_get_instance_count(multimesh: RID) const

返回为此多重网格分配的实例数。


  • multimesh_get_mesh multimesh_get_mesh(multimesh: RID) const

返回将在绘制此多重网格时使用的网格的RID。


  • multimesh_get_visible_instances multimesh_get_visible_instances(multimesh: RID) const

返回此多重网格的可见实例数。


  • multimesh_instance_get_color multimesh_instance_get_color(multimesh: RID, index: int) const

返回将调制指定实例的颜色。


  • multimesh_instance_get_custom_data multimesh_instance_get_custom_data(multimesh: RID, index: int) const

返回与指定实例关联的自定义数据。


  • multimesh_instance_get_transform multimesh_instance_get_transform(multimesh: RID, index: int) const

返回指定实例的Transform(#method-instance_set_base)(/docs/api/node/spatial/Particles.md#method-amount)(#method-instance_cull_aabb)(#method-free_rid)(/docs/api/data_types/Transform.md)。


  • multimesh_instance_get_transform_2d multimesh_instance_get_transform_2d(multimesh: RID, index: int) const

返回指定实例的Transform2D(#method-free_rid)(/docs/api/node/spatial/Particles.md#method-visibility_aabb)(#method-instance_cull_ray)(#method-instance_set_base)(/docs/api/data_types/Transform2D.md)。 在将多重网格设置为使用2D变换时使用。


  • multimesh_instance_set_color multimesh_instance_set_color(multimesh: RID, index: int, color: Color)

设置将调制此实例的颜色。 等效于MultiMesh.set_instance_color


  • multimesh_instance_set_custom_data multimesh_instance_set_custom_data(multimesh: RID, index: int, custom_data: Color)

设置此实例的自定义数据。 自定义数据以Color的形式传递,但在着色器中被解释为vec4。 等效于MultiMesh.set_instance_custom_data


  • multimesh_instance_set_transform multimesh_instance_set_transform(multimesh: RID, index: int, transform: Transform)

设置此实例的Transform(#method-instance_set_base)(/docs/api/node/spatial/Particles.md#method-amount)(#method-instance_cull_aabb)(#method-free_rid)(/docs/api/data_types/Transform.md)。 等效于MultiMesh.set_instance_transform


  • multimesh_instance_set_transform_2d multimesh_instance_set_transform_2d(multimesh: RID, index: int, transform: Transform2D)

设置此实例的Transform2D(#method-free_rid)(/docs/api/node/spatial/Particles.md#method-visibility_aabb)(#method-instance_cull_ray)(#method-instance_set_base)(/docs/api/data_types/Transform2D.md)。 在2D中使用多重网格时使用。 等效于MultiMesh.set_instance_transform_2d


  • multimesh_set_as_bulk_array multimesh_set_as_bulk_array(multimesh: RID, array: PoolRealArray)

一次性设置与实例相关的所有数据。 当从磁盘加载数据或从GDNative准备数据时,这特别有用。

所有数据打包在一个大的float数组中。 数组可能如下所示:转换实例1,将颜色数据转换为实例1,将自定义数据转换为实例1,将数据转换为实例2,将颜色数据转换为实例2,以此类推。

Transform(#method-instance_set_base)(/docs/api/node/spatial/Particles.md#method-amount)(#method-instance_cull_aabb)(#method-free_rid)(/docs/api/data_types/Transform.md)存储为12个浮点数,Transform2D(#method-free_rid)(/docs/api/node/spatial/Particles.md#method-visibility_aabb)(#method-instance_cull_ray)(#method-instance_set_base)(/docs/api/data_types/Transform2D.md)存储为8个浮点数,COLOR_8BIT /CUSTOM_DATA_8BIT存储为1个浮点数(按原样为4个字节),COLOR_FLOAT /CUSTOM_DATA_FLOAT存储为4个浮点数。


  • multimesh_set_mesh multimesh_set_mesh(multimesh: RID, mesh: RID)

设置要由多重网格绘制的网格。 等效于成员MultiMesh.mesh


  • multimesh_set_visible_instances multimesh_set_visible_instances(multimesh: RID, visible: int)

设置在给定时间可见的实例数。 如果为-1,则将绘制所有已分配的实例。 等效于成员MultiMesh.visible_instance_count


  • omni_light_create omni_light_create()

创建一个新的omni light并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID可以在大多数light _ * VisualServer函数中使用。

完成RID后,您将要使用VisualServer的free_rid静态方法释放RID。

要放置在场景中,请使用instance_set_base(使用返回的RID)将此泛光灯附加到实例。


  • particles_create particles_create()

创建一个粒子系统并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有particles _ * VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。

要放置在场景中,请使用返回的RID的instance_set_base将这些粒子附加到实例。


  • particles_get_current_aabb particles_get_current_aabb(particles: RID)

计算并返回包含所有粒子的与轴对齐的边界框。 等效于[Particles.capture_aabb]


  • particles_get_emitting particles_get_emitting(particles: RID)

如果当前将粒子设置为发射,则返回true


  • particles_is_inactive particles_is_inactive(particles: RID)

如果粒子不发光并且粒子设置为非活动,则返回true


  • particles_request_process particles_request_process(particles: RID)

将粒子系统添加到需要更新的粒子系统列表中。 更新将在下一帧或在对instance_cull_aabbinstance_cull_convex[instance_cull_ray]的下一次调用时进行。


  • particles_restart particles_restart(particles: RID)

在下次更新时重置粒子。 等效于Particles.restart


  • particles_set_amount particles_set_amount(particles: RID, amount: int)

设置要绘制的粒子数并为其分配内存。 等效于Particles.amount


  • particles_set_custom_aabb particles_set_custom_aabb(particles: RID, aabb: AABB)

设置粒子系统的自定义轴对齐的边界框。 等效于Particles.visibility_aabb


  • particles_set_draw_order particles_set_draw_order(particles: RID, order: int)

将粒子的绘制顺序设置为ParticlesDrawOrder中的命名枚举之一。 有关选项,请参见ParticlesDrawOrder。 等效于Particles.draw_order


  • particles_set_draw_pass_mesh particles_set_draw_pass_mesh(particles: RID, pass: int, mesh: RID)

设置用于指定绘制过程的网格。 等效于成员Particles.draw_pass_1成员Particles.draw_pass_2成员Particles.draw_pass_3成员Particles.draw_pass_4


  • particles_set_draw_passes particles_set_draw_passes(particles: RID, count: int)

设置要使用的绘制通道数。 等效于Particles.draw_passes


  • particles_set_emission_transform particles_set_emission_transform(particles: RID, transform: Transform)

设置粒子首次发射时将使用的Transform(#method-instance_set_base)(/docs/api/node/spatial/Particles.md#method-amount)(#method-instance_cull_aabb)(#method-free_rid)(/docs/api/data_types/Transform.md)。


  • particles_set_emitting particles_set_emitting(particles: RID, emitting: bool)

如果true,粒子将随着时间的流逝而发射。 设置为false不会重置粒子,而只会停止其发射。 等效于[Particles.mission]


  • particles_set_explosiveness_ratio particles_set_explosiveness_ratio(particles: RID, ratio: float)

设置爆炸率。 等效于Particles.explosiveness


  • particles_set_fixed_fps particles_set_fixed_fps(particles: RID, fps: int)

设置粒子系统渲染将固定为的帧速率。 等效于[Particles.fixed_fps]


  • particles_set_fractional_delta particles_set_fractional_delta(particles: RID, enable: bool)

如果true,则使用分数增量,以平滑粒子的运动。 等效于[Particles.fract_delta]


  • particles_set_lifetime particles_set_lifetime(particles: RID, lifetime: float)

设置系统中每个粒子的寿命。 等效于[Particles.lifetime]


  • particles_set_one_shot particles_set_one_shot(particles: RID, one_shot: bool)

如果true,粒子将发射一次,然后停止。 等效于[Particles.one_shot]


  • particles_set_pre_process_time particles_set_pre_process_time(particles: RID, time: float)

设置粒子动画的预处理时间。 这使您可以延迟开始动画,直到粒子开始发光为止。 等效于[Particles.preprocess]


  • particles_set_process_material particles_set_process_material(particles: RID, material: RID)

设置用于处理粒子的材料。 注意:这不是用于绘制材料的材料。 等效于[Particles.process_material]


  • particles_set_randomness_ratio particles_set_randomness_ratio(particles: RID, ratio: float)

设置发射随机率。 这使粒子在其相内的发射随机化。 等效于[Particles.randomness]


  • particles_set_speed_scale particles_set_speed_scale(particles: RID, scale: float)

设置粒子系统的速度标度。 等效于[Particles.speed_scale]


  • particles_set_use_local_coordinates particles_set_use_local_coordinates(particles: RID, enable: bool)

如果true,则粒子使用局部坐标。 如果false,则使用全局坐标。 等效于[Particles.local_coords]


  • reflection_probe_create reflection_probe_create()

创建一个反射探针并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有reflection_probe _ * VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。

要放置在场景中,请使用instance_set_base(使用返回的RID)将此反射探针附加到实例。


  • reflection_probe_set_as_interior reflection_probe_set_as_interior(probe: RID, enable: bool)

如果true为真,则反射将忽略天空贡献。 等效于成员ReflectionProbe.interior_enable


  • reflection_probe_set_cull_mask reflection_probe_set_cull_mask(probe: RID, layers: int)

设置此反射探针的渲染剔除蒙版。 此探针将仅渲染具有匹配的剔除蒙版的实例。 等效于ReflectionProbe.cull_mask


  • reflection_probe_set_enable_box_projection reflection_probe_set_enable_box_projection(probe: RID, enable: bool)

如果true,则使用框投影。 在某些情况下,这可以使反射看起来更正确。 等效于[成员ReflectionProbe.box_projection]


  • reflection_probe_set_enable_shadows reflection_probe_set_enable_shadows(probe: RID, enable: bool)

如果true,则在反射探针中计算阴影。 这会使反射的计算速度变慢。 等效于[成员ReflectionProbe.enable_shadows]


  • reflection_probe_set_extents reflection_probe_set_extents(probe: RID, extents: Vector3)

设置反射探针将捕获的区域的大小。 等效于[成员ReflectionProbe.extents]


  • reflection_probe_set_intensity reflection_probe_set_intensity(probe: RID, intensity: float)

设置反射探针的强度。 强度调节反射强度。 等效于[成员ReflectionProbe.intensity]


  • reflection_probe_set_interior_ambient reflection_probe_set_interior_ambient(probe: RID, color: Color)

设置为内部模式时,设置此反射探针的环境光颜色。 等效于成员ReflectionProbe.interior_ambient_color


  • reflection_probe_set_interior_ambient_energy reflection_probe_set_interior_ambient_energy(probe: RID, energy: float)

设置为内部模式时,为此反射探头设置能量倍增器,以探测环境光。 等效于成员ReflectionProbe.interior_ambient_energy


  • reflection_probe_set_interior_ambient_probe_contribution reflection_probe_set_interior_ambient_probe_contribution(probe: RID, contrib: float)

设置当设置为内部模式时,反射对此反射探针的环境光有多大影响的贡献值。 有用,以使环境光与房间的颜色匹配。 等效于成员ReflectionProbe.interior_ambient_contrib


  • reflection_probe_set_max_distance reflection_probe_set_max_distance(probe: RID, distance: float)

设置物体被剔除前与探针的最大距离。 等效于成员ReflectionProbe.max_distance


  • reflection_probe_set_origin_offset reflection_probe_set_origin_offset(probe: RID, offset: Vector3)

设置当此反射探针处于盒投影模式时要使用的原点偏移。 等效于成员ReflectionProbe.origin_offset


  • reflection_probe_set_update_mode reflection_probe_set_update_mode(probe: RID, mode: int)

设置反射探针更新的频率。 可以是一次或每帧。 有关选项,请参见[ReflectionProbeUpdateMode]


  • request_frame_drawn_callback request_frame_drawn_callback(where: Object, method: String, userdata: Variant)

在绘制框架后,将回调计划到where上对应的名为method的回调。

回调方法只能使用1个参数,该参数将与userdata一起调用。


  • scenario_create scenario_create()

创建一个方案并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有scenario _ * VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。

场景是所有视觉实例都存在的3D世界。


  • scenario_set_debug scenario_set_debug(scenario: RID, debug_mode: int)

设置此方案的[ScenarioDebugMode]


  • scenario_set_environment scenario_set_environment(scenario: RID, environment: RID)

设置将用于此方案的环境。


  • scenario_set_fallback_environment scenario_set_fallback_environment(scenario: RID, environment: RID)

设置此方案要使用的后备环境。 如果未设置环境,则使用后备环境。 在内部,编辑器使用它提供默认环境。


  • scenario_set_reflection_atlas_size scenario_set_reflection_atlas_size(scenario: RID, size: int, subdiv: int)

设置此方案中所有反射探针共享的反射图集的大小。


  • set_boot_image set_boot_image(image: Image, color: Color, scale: bool, use_filter: bool = true)

设置启动映像。 颜色定义背景色。 如果scaletrue,则将缩放图像以适合屏幕尺寸。 如果use_filtertrue,则将使用线性插值对图像进行缩放。 如果use_filterfalse,则将使用最近邻插值对图像进行缩放。


  • set_debug_generate_wireframes set_debug_generate_wireframes(generate: bool)

如果true,则引擎将生成线框以用于线框调试模式。


  • set_default_clear_color set_default_clear_color(color: Color)

设置默认的透明色,当未选择特定的透明色时使用。


  • shader_create shader_create()

创建一个空的着色器并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有shader _ * VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。


  • shader_get_code shader_get_code(shader: RID) const

返回着色器的代码。


  • shader_get_default_texture_param shader_get_default_texture_param(shader: RID, name: String) const

从按名称搜索的着色器中返回默认纹理。


  • shader_get_param_list shader_get_param_list(shader: RID) const

返回着色器的参数。


  • shader_set_code shader_set_code(shader: RID, code: String)

设置着色器的代码。


  • shader_set_default_texture_param shader_set_default_texture_param(shader: RID, name: String, texture: RID)

设置着色器的默认纹理。


  • skeleton_allocate skeleton_allocate(skeleton: RID, bones: int, is_2d_skeleton: bool = false)

为此骨架分配GPU缓冲区。


  • skeleton_bone_get_transform skeleton_bone_get_transform(skeleton: RID, bone: int) const

返回为此骨架的特定骨骼设置的Transform(#method-instance_set_base)(/docs/api/node/spatial/Particles.md#method-amount)(#method-instance_cull_aabb)(#method-free_rid)(/docs/api/data_types/Transform.md)集。


  • skeleton_bone_get_transform_2d skeleton_bone_get_transform_2d(skeleton: RID, bone: int) const

返回为此骨架的特定骨骼设置的Transform2D(#method-free_rid)(/docs/api/node/spatial/Particles.md#method-visibility_aabb)(#method-instance_cull_ray)(#method-instance_set_base)(/docs/api/data_types/Transform2D.md)。


  • skeleton_bone_set_transform skeleton_bone_set_transform(skeleton: RID, bone: int, transform: Transform)

设置此骨骼的特定骨骼的Transform(#method-instance_set_base)(/docs/api/node/spatial/Particles.md#method-amount)(#method-instance_cull_aabb)(#method-free_rid)(/docs/api/data_types/Transform.md)。


  • skeleton_bone_set_transform_2d skeleton_bone_set_transform_2d(skeleton: RID, bone: int, transform: Transform2D)

设置此骨架的特定骨骼的Transform2D(#method-free_rid)(/docs/api/node/spatial/Particles.md#method-visibility_aabb)(#method-instance_cull_ray)(#method-instance_set_base)(/docs/api/data_types/Transform2D.md)。


  • skeleton_create skeleton_create()

创建一个骨架并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有skeleton _ * VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。


  • skeleton_get_bone_count skeleton_get_bone_count(skeleton: RID) const

返回为此骨骼分配的骨骼数量。


  • sky_create sky_create()

创建一个空的天空并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有sky _ * VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。


  • sky_set_texture sky_set_texture(sky: RID, cube_map: RID, radiance_size: int)

设置天空的纹理。


  • spot_light_create spot_light_create()

创建一个聚光灯并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID可以在大多数light _ * VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。

要放置在场景中,请使用instance_set_base(使用返回的RID)将此聚光灯附加到实例。


  • sync sync()

在IdeaXR 3.x中未实现。


  • texture_allocate texture_allocate(texture: RID, width: int, height: int, depth_3d: int, format: int, type: int, flags: int = 7)

为纹理分配GPU内存。


  • texture_bind texture_bind(texture: RID, number: int)

将纹理绑定到纹理插槽。


  • texture_create texture_create()

创建一个空纹理并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有texture _ * VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。


  • texture_create_from_image texture_create_from_image(image: Image, flags: int = 7)

创建纹理,为图像分配空间,然后填充图像。


  • texture_debug_usage texture_debug_usage()

返回所有纹理及其信息的列表。


  • texture_get_data texture_get_data(texture: RID, cube_side: int = 0) const

除非是CubeMap,否则返回纹理图像的副本,在这种情况下,它将在立方体的任一侧返回图像的RID(/docs/api/data_types/RID.md)。


  • texture_get_depth texture_get_depth(texture: RID) const

返回纹理的深度。


  • texture_get_flags texture_get_flags(texture: RID) const

返回纹理的标志。


  • texture_get_format texture_get_format(texture: RID) const

返回纹理图像的格式。


  • texture_get_height texture_get_height(texture: RID) const

返回纹理的高度。


  • texture_get_path texture_get_path(texture: RID) const

返回纹理的路径。


  • texture_get_texid texture_get_texid(texture: RID) const

返回纹理图像的opengl id。


  • texture_get_type texture_get_type(texture: RID) const

返回纹理的类型,可以是[TextureType]中的任何一种。


  • texture_get_width texture_get_width(texture: RID) const

返回纹理的宽度。


  • texture_set_data texture_set_data(texture: RID, image: Image, layer: int = 0)

设置纹理的图像数据。 如果是CubeMap,则将图像数据设置在多维数据集一侧。


  • texture_set_data_partial texture_set_data_partial(texture: RID, image: Image, src_x: int, src_y: int, src_w: int, src_h: int, dst_x: int, dst_y: int, dst_mip: int, layer: int = 0)

为纹理设置数据的一部分。 警告:此函数将直接调用基础图形API,如果使用不当,可能会损坏您的纹理。


  • texture_set_flags texture_set_flags(texture: RID, flags: int)

设置纹理的标志。 有关选项,请参见[枚举TextureFlags]


  • texture_set_path texture_set_path(texture: RID, path: String)

设置纹理的路径。


  • texture_set_shrink_all_x2_on_set_data texture_set_shrink_all_x2_on_set_data(shrink: bool)

如果true,则设置内部进程以将所有图像数据缩小到一半大小。


  • texture_set_size_override texture_set_size_override(texture: RID, width: int, height: int, depth: int)

将纹理调整为指定的尺寸。


  • textures_keep_original textures_keep_original(enable: bool)

如果true,则如果覆盖,则图像将存储在纹理的images数组中。


  • viewport_attach_camera viewport_attach_camera(viewport: RID, camera: RID)

设置视口的相机。


  • viewport_attach_canvas viewport_attach_canvas(viewport: RID, canvas: RID)

设置视口的画布。


  • viewport_attach_to_screen viewport_attach_to_screen(viewport: RID, rect: Rect2 = Rect2( 0, 0, 0, 0 ), screen: int = 0)

将视口复制到rect指定的屏幕区域。 如果[成员Viewport.render_direct_to_screen]true,则视口不使用帧缓冲区,并且视口的内容直接呈现到屏幕上。 但是,请注意,根视口是最后绘制的,因此它将在屏幕上绘制。 因此,必须将根视口设置为一个不覆盖该视口已附加到的区域的区域。

例如,可以使用以下代码将根视口设置为完全不渲染:

func _ready():
get_viewport().set_attach_to_screen_rect(Rect2())
$Viewport.set_attach_to_screen_rect(Rect2(0, 0, 600, 600))

使用此功能可能会导致重大优化,尤其是在低端设备上。 但是,这是以必须手动管理视口为代价的。 有关进一步的优化,请参见[方法viewport_set_render_direct_to_screen]


  • viewport_create viewport_create()

创建一个空视口并将其添加到VisualServer。 可以使用返回的RID对其进行访问。 此RID将在所有viewport _ * VisualServer函数中使用。

一旦完成RID,您将要使用VisualServer的free_rid静态方法释放RID。


  • viewport_detach viewport_detach(viewport: RID)

从屏幕上分离视口。


  • viewport_get_render_info viewport_get_render_info(viewport: RID, info: int)

返回视口的渲染信息。 有关选项,请参见ViewportRenderInfo常量。


  • viewport_get_texture viewport_get_texture(viewport: RID) const

返回视口的最后一个渲染帧。


  • viewport_remove_canvas viewport_remove_canvas(viewport: RID, canvas: RID)

从画布上分离视口,反之亦然。


  • viewport_set_active viewport_set_active(viewport: RID, active: bool)

如果true,则将视口设置为活动,否则将其设置为非活动。


  • viewport_set_canvas_stacking viewport_set_canvas_stacking(viewport: RID, canvas: RID, layer: int, sublayer: int)

设置视口画布的堆叠顺序。

layer是实际的画布层,而sublayer指定画布在同一层中的堆叠顺序。


  • viewport_set_canvas_transform viewport_set_canvas_transform(viewport: RID, canvas: RID, offset: Transform2D)

设置视口画布的变换。


  • viewport_set_clear_mode viewport_set_clear_mode(viewport: RID, clear_mode: int)

设置视口的清除模式。 有关选项,请参见[ViewportClearMode]


  • viewport_set_debug_draw viewport_set_debug_draw(viewport: RID, draw: int)

设置视口的调试绘制模式。 有关选项,请参见[ViewportDebugDraw]


  • viewport_set_disable_3d viewport_set_disable_3d(viewport: RID, disabled: bool)

如果true,则禁用视口的3D渲染。


  • viewport_set_disable_environment viewport_set_disable_environment(viewport: RID, disabled: bool)

如果true,则禁用视口环境的渲染。


  • viewport_set_global_canvas_transform viewport_set_global_canvas_transform(viewport: RID, transform: Transform2D)

设置视口的全局转换矩阵。


  • viewport_set_hdr viewport_set_hdr(viewport: RID, enabled: bool)

如果true,则视口将呈现为hdr。


  • viewport_set_hide_canvas viewport_set_hide_canvas(viewport: RID, hidden: bool)

如果true,则不渲染视口的画布。


  • viewport_set_hide_scenario viewport_set_hide_scenario(viewport: RID, hidden: bool)

目前在IdeaXR 3.x中未实现。


  • viewport_set_msaa viewport_set_msaa(viewport: RID, msaa: int)

设置抗锯齿模式。 有关选项,请参见[ViewportMSAA]


  • viewport_set_parent_viewport viewport_set_parent_viewport(viewport: RID, parent_viewport: RID)

将视口的父级设置为另一个视口。


  • viewport_set_render_direct_to_screen viewport_set_render_direct_to_screen(viewport: RID, enabled: bool)

如果true,则将视口的内容直接呈现到屏幕上。 这允许进行低级优化,您可以在其中跳过将视口绘制到根视口的操作。 尽管此优化可以显着提高速度(尤其是在较旧的设备上),但要付出可用性的代价。 启用此功能后,您将无法从视口或SCREEN_TEXTURE中读取内容。 您还会失去某些窗口设置(例如各种拉伸模式)的好处。 需要注意的另一个结果是,在2D模式下,渲染是在窗口坐标中进行的,因此,如果您的视口是窗口大小的两倍,并且设置了该视口,则只会绘制适合窗口的部分, 即使您的游戏场景明显大于窗口大小,也无法自动缩放。


  • viewport_set_scenario viewport_set_scenario(viewport: RID, scenario: RID)

设置视口的场景。

该方案包含有关[ScenarioDebugMode],环境信息,反射图集等的信息。


  • viewport_set_shadow_atlas_quadrant_subdivision viewport_set_shadow_atlas_quadrant_subdivision(viewport: RID, quadrant: int, subdivision: int)

设置阴影图集象限的细分。


  • viewport_set_shadow_atlas_size viewport_set_shadow_atlas_size(viewport: RID, size: int)

设置阴影图集图像的大小(用于全向和聚光灯)。 该值将四舍五入到最接近的2的幂。


  • viewport_set_size viewport_set_size(viewport: RID, width: int, height: int)

设置视口的宽度和高度。


  • viewport_set_transparent_background viewport_set_transparent_background(viewport: RID, enabled: bool)

如果true,则视口将其背景渲染为透明。


  • viewport_set_update_mode viewport_set_update_mode(viewport: RID, update_mode: int)

设置何时更新视口。 有关选项,请参见[ViewportUpdateMode]常量。


  • viewport_set_usage viewport_set_usage(viewport: RID, usage: int)

设置视口的2D /3D模式。 有关选项,请参见[ViewportUsage]常量。


  • viewport_set_use_arvr viewport_set_use_arvr(viewport: RID, use_arvr: bool)

如果为true,则视口将使用增强或虚拟现实技术。 请参阅[ARVRInterface]


  • viewport_set_vflip viewport_set_vflip(viewport: RID, enabled: bool)

如果true,则视口的渲染垂直翻转。