VisualServer
继承
简要描述
服务器可见的任何东西。
描述
服务器可见的任何东西。可视服务器是所有可见内容的API后端。整个场景系统安装在其上进行显示。
可视服务器是完全不透明的,内部结构完全是特定于实现的,无法访问。
可视服务器可用于完全绕开场景系统。
资源是使用* _ create
函数创建的。
所有对象均绘制到视口。您可以使用SceneTree附带的Viewport,也可以使用viewport_create自己创建一个。使用自定义方案或画布时,需要使用viewport_set_scenario或viewport_attach_canvas将方案或画布附加到视口。
在3D中,所有视觉对象必须与场景相关联。该场景是世界的视觉表示。如果从正在运行的游戏访问视觉服务器,则可以使用[方法Spatial.get_world]从任何Spatial节点的场景树中访问场景。否则,可以使用methodcens_create创建方案。
类似地,在2D中,需要一个画布来绘制所有画布项目。
在3D中,所有可见对象均由资源和实例组成。资源可以是网格,粒子系统,光源或任何其他3D对象。为了使资源可见,必须使用instance_set_base将资源附加到实例。为了使实例可见,还必须使用instance_set_scenario将实例附加到方案。
在2D中,所有可见对象都是某种形式的画布项目。为了可见,画布项目必须是附加到视口的画布的子项,或者需要是最终附加到画布的另一个画布项的子项。
方法
返回值类型 | 方法名称 |
---|---|
void | black_bars_set_images(left: RID, top: RID, right: RID, bottom: RID) |
void | black_bars_set_margins(left: int, top: int, right: int, bottom: int) |
RID | camera_create() |
void | camera_set_cull_mask(camera: RID, layers: int) |
void | camera_set_environment(camera: RID, env: RID) |
void | camera_set_frustum(camera: RID, size: float, offset: Vector2, z_near: float, z_far: float) |
void | camera_set_orthogonal(camera: RID, size: float, z_near: float, z_far: float) |
void | camera_set_perspective(camera: RID, fovy_degrees: float, z_near: float, z_far: float) |
void | camera_set_transform(camera: RID, transform: Transform) |
void | camera_set_use_vertical_aspect(camera: RID, enable: bool) |
RID | canvas_create() |
void | canvas_item_add_circle(item: RID, pos: Vector2, radius: float, color: Color) |
void | canvas_item_add_clip_ignore(item: RID, ignore: bool) |
void | canvas_item_add_line(item: RID, from: Vector2, to: Vector2, color: Color, width: float = 1.0, antialiased: bool = false) |
void | 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) |
void | canvas_item_add_multimesh(item: RID, mesh: RID, texture: RID, normal_map: RID) |
void | 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) |
void | canvas_item_add_particles(item: RID, particles: RID, texture: RID, normal_map: RID) |
void | canvas_item_add_polygon(item: RID, points: PoolVector2Array, colors: PoolColorArray, uvs: PoolVector2Array = PoolVector2Array( ), texture: RID, normal_map: RID, antialiased: bool = false) |
void | canvas_item_add_polyline(item: RID, points: PoolVector2Array, colors: PoolColorArray, width: float = 1.0, antialiased: bool = false) |
void | canvas_item_add_primitive(item: RID, points: PoolVector2Array, colors: PoolColorArray, uvs: PoolVector2Array, texture: RID, width: float = 1.0, normal_map: RID) |
void | canvas_item_add_rect(item: RID, rect: Rect2, color: Color) |
void | canvas_item_add_set_transform(item: RID, transform: Transform2D) |
void | 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) |
void | 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) |
void | 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) |
void | canvas_item_clear(item: RID) |
RID | canvas_item_create() |
void | canvas_item_set_clip(item: RID, clip: bool) |
void | canvas_item_set_copy_to_backbuffer(item: RID, enabled: bool, rect: Rect2) |
void | canvas_item_set_custom_rect(item: RID, use_custom_rect: bool, rect: Rect2 = Rect2( 0, 0, 0, 0 )) |
void | canvas_item_set_distance_field_mode(item: RID, enabled: bool) |
void | canvas_item_set_draw_behind_parent(item: RID, enabled: bool) |
void | canvas_item_set_draw_index(item: RID, index: int) |
void | canvas_item_set_light_mask(item: RID, mask: int) |
void | canvas_item_set_material(item: RID, material: RID) |
void | canvas_item_set_modulate(item: RID, color: Color) |
void | canvas_item_set_parent(item: RID, parent: RID) |
void | canvas_item_set_self_modulate(item: RID, color: Color) |
void | canvas_item_set_sort_children_by_y(item: RID, enabled: bool) |
void | canvas_item_set_transform(item: RID, transform: Transform2D) |
void | canvas_item_set_use_parent_material(item: RID, enabled: bool) |
void | canvas_item_set_visible(item: RID, visible: bool) |
void | canvas_item_set_z_as_relative_to_parent(item: RID, enabled: bool) |
void | canvas_item_set_z_index(item: RID, z_index: int) |
void | canvas_light_attach_to_canvas(light: RID, canvas: RID) |
RID | canvas_light_create() |
void | canvas_light_occluder_attach_to_canvas(occluder: RID, canvas: RID) |
RID | canvas_light_occluder_create() |
void | canvas_light_occluder_set_enabled(occluder: RID, enabled: bool) |
void | canvas_light_occluder_set_light_mask(occluder: RID, mask: int) |
void | canvas_light_occluder_set_polygon(occluder: RID, polygon: RID) |
void | canvas_light_occluder_set_transform(occluder: RID, transform: Transform2D) |
void | canvas_light_set_color(light: RID, color: Color) |
void | canvas_light_set_enabled(light: RID, enabled: bool) |
void | canvas_light_set_energy(light: RID, energy: float) |
void | canvas_light_set_height(light: RID, height: float) |
void | canvas_light_set_item_cull_mask(light: RID, mask: int) |
void | canvas_light_set_item_shadow_cull_mask(light: RID, mask: int) |
void | canvas_light_set_layer_range(light: RID, min_layer: int, max_layer: int) |
void | canvas_light_set_mode(light: RID, mode: int) |
void | canvas_light_set_scale(light: RID, scale: float) |
void | canvas_light_set_shadow_buffer_size(light: RID, size: int) |
void | canvas_light_set_shadow_color(light: RID, color: Color) |
void | canvas_light_set_shadow_enabled(light: RID, enabled: bool) |
void | canvas_light_set_shadow_filter(light: RID, filter: int) |
void | canvas_light_set_shadow_gradient_length(light: RID, length: float) |
void | canvas_light_set_shadow_smooth(light: RID, smooth: float) |
void | canvas_light_set_texture(light: RID, texture: RID) |
void | canvas_light_set_texture_offset(light: RID, offset: Vector2) |
void | canvas_light_set_transform(light: RID, transform: Transform2D) |
void | canvas_light_set_z_range(light: RID, min_z: int, max_z: int) |
RID | canvas_occluder_polygon_create() |
void | canvas_occluder_polygon_set_cull_mode(occluder_polygon: RID, mode: int) |
void | canvas_occluder_polygon_set_shape(occluder_polygon: RID, shape: PoolVector2Array, closed: bool) |
void | canvas_occluder_polygon_set_shape_as_lines(occluder_polygon: RID, shape: PoolVector2Array) |
void | canvas_set_item_mirroring(canvas: RID, item: RID, mirroring: Vector2) |
void | canvas_set_modulate(canvas: RID, color: Color) |
RID | directional_light_create() |
void | draw(swap_buffers: bool = true, frame_step: float = 0.0) |
RID | environment_create() |
void | environment_set_adjustment(env: RID, enable: bool, brightness: float, contrast: float, saturation: float, ramp: RID) |
void | environment_set_ambient_light(env: RID, color: Color, energy: float = 1.0, sky_contibution: float = 0.0) |
void | environment_set_background(env: RID, bg: int) |
void | environment_set_bg_color(env: RID, color: Color) |
void | environment_set_bg_energy(env: RID, energy: float) |
void | environment_set_canvas_max_layer(env: RID, max_layer: int) |
void | environment_set_dof_blur_far(env: RID, enable: bool, distance: float, transition: float, far_amount: float, quality: int) |
void | environment_set_dof_blur_near(env: RID, enable: bool, distance: float, transition: float, far_amount: float, quality: int) |
void | environment_set_fog(env: RID, enable: bool, color: Color, sun_color: Color, sun_amount: float) |
void | environment_set_fog_depth(env: RID, enable: bool, depth_begin: float, depth_end: float, depth_curve: float, transmit: bool, transmit_curve: float) |
void | environment_set_fog_height(env: RID, enable: bool, min_height: float, max_height: float, height_curve: float) |
void | 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) |
void | environment_set_sky(env: RID, sky: RID) |
void | environment_set_sky_custom_fov(env: RID, scale: float) |
void | environment_set_sky_orientation(env: RID, orientation: Basis) |
void | 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) |
void | environment_set_ssr(env: RID, enable: bool, max_steps: int, fade_in: float, fade_out: float, depth_tolerance: float, roughness: bool) |
void | 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) |
void | finish() |
void | force_draw(swap_buffers: bool = true, frame_step: float = 0.0) |
void | force_sync() |
void | free_rid(rid: RID) |
int | get_render_info(info: int) |
RID | get_test_cube() |
RID | get_test_texture() |
String | get_video_adapter_name() const |
String | get_video_adapter_vendor() const |
RID | get_white_texture() |
RID | gi_probe_create() |
float | gi_probe_get_bias(probe: RID) const |
AABB | gi_probe_get_bounds(probe: RID) const |
float | gi_probe_get_cell_size(probe: RID) const |
PoolIntArray | gi_probe_get_dynamic_data(probe: RID) const |
int | gi_probe_get_dynamic_range(probe: RID) const |
float | gi_probe_get_energy(probe: RID) const |
float | gi_probe_get_normal_bias(probe: RID) const |
float | gi_probe_get_propagation(probe: RID) const |
Transform | gi_probe_get_to_cell_xform(probe: RID) const |
bool | gi_probe_is_compressed(probe: RID) const |
bool | gi_probe_is_interior(probe: RID) const |
void | gi_probe_set_bias(probe: RID, bias: float) |
void | gi_probe_set_bounds(probe: RID, bounds: AABB) |
void | gi_probe_set_cell_size(probe: RID, range: float) |
void | gi_probe_set_compress(probe: RID, enable: bool) |
void | gi_probe_set_dynamic_data(probe: RID, data: PoolIntArray) |
void | gi_probe_set_dynamic_range(probe: RID, range: int) |
void | gi_probe_set_energy(probe: RID, energy: float) |
void | gi_probe_set_interior(probe: RID, enable: bool) |
void | gi_probe_set_normal_bias(probe: RID, bias: float) |
void | gi_probe_set_propagation(probe: RID, propagation: float) |
void | gi_probe_set_to_cell_xform(probe: RID, xform: Transform) |
bool | has_changed() const |
bool | has_feature(feature: int) const |
bool | has_os_feature(feature: String) const |
void | immediate_begin(immediate: RID, primitive: int, texture: RID) |
void | immediate_clear(immediate: RID) |
void | immediate_color(immediate: RID, color: Color) |
RID | immediate_create() |
void | immediate_end(immediate: RID) |
RID | immediate_get_material(immediate: RID) const |
void | immediate_normal(immediate: RID, normal: Vector3) |
void | immediate_set_material(immediate: RID, material: RID) |
void | immediate_tangent(immediate: RID, tangent: Plane) |
void | immediate_uv(immediate: RID, tex_uv: Vector2) |
void | immediate_uv2(immediate: RID, tex_uv: Vector2) |
void | immediate_vertex(immediate: RID, vertex: Vector3) |
void | immediate_vertex_2d(immediate: RID, vertex: Vector2) |
void | init() |
void | instance_attach_object_instance_id(instance: RID, id: int) |
void | instance_attach_skeleton(instance: RID, skeleton: RID) |
RID | instance_create() |
RID | instance_create2(base: RID, scenario: RID) |
void | instance_geometry_set_as_instance_lod(instance: RID, as_lod_of_instance: RID) |
void | instance_geometry_set_cast_shadows_setting(instance: RID, shadow_casting_setting: int) |
void | instance_geometry_set_draw_range(instance: RID, min: float, max: float, min_margin: float, max_margin: float) |
void | instance_geometry_set_flag(instance: RID, flag: int, enabled: bool) |
void | instance_geometry_set_material_override(instance: RID, material: RID) |
void | instance_set_base(instance: RID, base: RID) |
void | instance_set_blend_shape_weight(instance: RID, shape: int, weight: float) |
void | instance_set_custom_aabb(instance: RID, aabb: AABB) |
void | instance_set_exterior(instance: RID, enabled: bool) |
void | instance_set_extra_visibility_margin(instance: RID, margin: float) |
void | instance_set_layer_mask(instance: RID, mask: int) |
void | instance_set_scenario(instance: RID, scenario: RID) |
void | instance_set_surface_material(instance: RID, surface: int, material: RID) |
void | instance_set_transform(instance: RID, transform: Transform) |
void | instance_set_use_lightmap(instance: RID, lightmap_instance: RID, lightmap: RID) |
void | instance_set_visible(instance: RID, visible: bool) |
Array | instances_cull_aabb(aabb: AABB, scenario: RID) const |
Array | instances_cull_convex(convex: Array, scenario: RID) const |
Array | instances_cull_ray(from: Vector3, to: Vector3, scenario: RID) const |
void | light_directional_set_blend_splits(light: RID, enable: bool) |
void | light_directional_set_shadow_depth_range_mode(light: RID, range_mode: int) |
void | light_directional_set_shadow_mode(light: RID, mode: int) |
void | light_omni_set_shadow_detail(light: RID, detail: int) |
void | light_omni_set_shadow_mode(light: RID, mode: int) |
void | light_set_color(light: RID, color: Color) |
void | light_set_cull_mask(light: RID, mask: int) |
void | light_set_negative(light: RID, enable: bool) |
void | light_set_param(light: RID, param: int, value: float) |
void | light_set_projector(light: RID, texture: RID) |
void | light_set_reverse_cull_face_mode(light: RID, enabled: bool) |
void | light_set_shadow(light: RID, enabled: bool) |
void | light_set_shadow_color(light: RID, color: Color) |
void | light_set_use_gi(light: RID, enabled: bool) |
RID | lightmap_capture_create() |
AABB | lightmap_capture_get_bounds(capture: RID) const |
float | lightmap_capture_get_energy(capture: RID) const |
PoolByteArray | lightmap_capture_get_octree(capture: RID) const |
int | lightmap_capture_get_octree_cell_subdiv(capture: RID) const |
Transform | lightmap_capture_get_octree_cell_transform(capture: RID) const |
void | lightmap_capture_set_bounds(capture: RID, bounds: AABB) |
void | lightmap_capture_set_energy(capture: RID, energy: float) |
void | lightmap_capture_set_octree(capture: RID, octree: PoolByteArray) |
void | lightmap_capture_set_octree_cell_subdiv(capture: RID, subdiv: int) |
void | lightmap_capture_set_octree_cell_transform(capture: RID, xform: Transform) |
RID | make_sphere_mesh(latitudes: int, longitudes: int, radius: float) |
RID | material_create() |
Variant | material_get_param(material: RID, parameter: String) const |
Variant | material_get_param_default(material: RID, parameter: String) const |
RID | material_get_shader(shader_material: RID) const |
void | material_set_line_width(material: RID, width: float) |
void | material_set_next_pass(material: RID, next_material: RID) |
void | material_set_param(material: RID, parameter: String, value: Variant) |
void | material_set_render_priority(material: RID, priority: int) |
void | material_set_shader(shader_material: RID, shader: RID) |
void | mesh_add_surface_from_arrays(mesh: RID, primitive: int, arrays: Array, blend_shapes: Array = [], compress_format: int = 97280) |
void | mesh_clear(mesh: RID) |
RID | mesh_create() |
int | mesh_get_blend_shape_count(mesh: RID) const |
int | mesh_get_blend_shape_mode(mesh: RID) const |
AABB | mesh_get_custom_aabb(mesh: RID) const |
int | mesh_get_surface_count(mesh: RID) const |
void | mesh_remove_surface(mesh: RID, index: int) |
void | mesh_set_blend_shape_count(mesh: RID, amount: int) |
void | mesh_set_blend_shape_mode(mesh: RID, mode: int) |
void | mesh_set_custom_aabb(mesh: RID, aabb: AABB) |
AABB | mesh_surface_get_aabb(mesh: RID, surface: int) const |
PoolByteArray | mesh_surface_get_array(mesh: RID, surface: int) const |
int | mesh_surface_get_array_index_len(mesh: RID, surface: int) const |
int | mesh_surface_get_array_len(mesh: RID, surface: int) const |
Array | mesh_surface_get_arrays(mesh: RID, surface: int) const |
Array | mesh_surface_get_blend_shape_arrays(mesh: RID, surface: int) const |
int | mesh_surface_get_format(mesh: RID, surface: int) const |
int | mesh_surface_get_format_offset(format: int, vertex_len: int, index_len: int, array_index: int) const |
int | mesh_surface_get_format_stride(format: int, vertex_len: int, index_len: int) const |
PoolByteArray | mesh_surface_get_index_array(mesh: RID, surface: int) const |
RID | mesh_surface_get_material(mesh: RID, surface: int) const |
int | mesh_surface_get_primitive_type(mesh: RID, surface: int) const |
Array | mesh_surface_get_skeleton_aabb(mesh: RID, surface: int) const |
void | mesh_surface_set_material(mesh: RID, surface: int, material: RID) |
void | mesh_surface_update_region(mesh: RID, surface: int, offset: int, data: PoolByteArray) |
void | multimesh_allocate(multimesh: RID, instances: int, transform_format: int, color_format: int, custom_data_format: int = 0) |
RID | multimesh_create() |
AABB | multimesh_get_aabb(multimesh: RID) const |
int | multimesh_get_instance_count(multimesh: RID) const |
RID | multimesh_get_mesh(multimesh: RID) const |
int | multimesh_get_visible_instances(multimesh: RID) const |
Color | multimesh_instance_get_color(multimesh: RID, index: int) const |
Color | multimesh_instance_get_custom_data(multimesh: RID, index: int) const |
Transform | multimesh_instance_get_transform(multimesh: RID, index: int) const |
Transform2D | multimesh_instance_get_transform_2d(multimesh: RID, index: int) const |
void | multimesh_instance_set_color(multimesh: RID, index: int, color: Color) |
void | multimesh_instance_set_custom_data(multimesh: RID, index: int, custom_data: Color) |
void | multimesh_instance_set_transform(multimesh: RID, index: int, transform: Transform) |
void | multimesh_instance_set_transform_2d(multimesh: RID, index: int, transform: Transform2D) |
void | multimesh_set_as_bulk_array(multimesh: RID, array: PoolRealArray) |
void | multimesh_set_mesh(multimesh: RID, mesh: RID) |
void | multimesh_set_visible_instances(multimesh: RID, visible: int) |
RID | omni_light_create() |
RID | particles_create() |
AABB | particles_get_current_aabb(particles: RID) |
bool | particles_get_emitting(particles: RID) |
bool | particles_is_inactive(particles: RID) |
void | particles_request_process(particles: RID) |
void | particles_restart(particles: RID) |
void | particles_set_amount(particles: RID, amount: int) |
void | particles_set_custom_aabb(particles: RID, aabb: AABB) |
void | particles_set_draw_order(particles: RID, order: int) |
void | particles_set_draw_pass_mesh(particles: RID, pass: int, mesh: RID) |
void | particles_set_draw_passes(particles: RID, count: int) |
void | particles_set_emission_transform(particles: RID, transform: Transform) |
void | particles_set_emitting(particles: RID, emitting: bool) |
void | particles_set_explosiveness_ratio(particles: RID, ratio: float) |
void | particles_set_fixed_fps(particles: RID, fps: int) |
void | particles_set_fractional_delta(particles: RID, enable: bool) |
void | particles_set_lifetime(particles: RID, lifetime: float) |
void | particles_set_one_shot(particles: RID, one_shot: bool) |
void | particles_set_pre_process_time(particles: RID, time: float) |
void | particles_set_process_material(particles: RID, material: RID) |
void | particles_set_randomness_ratio(particles: RID, ratio: float) |
void | particles_set_speed_scale(particles: RID, scale: float) |
void | particles_set_use_local_coordinates(particles: RID, enable: bool) |
RID | reflection_probe_create() |
void | reflection_probe_set_as_interior(probe: RID, enable: bool) |
void | reflection_probe_set_cull_mask(probe: RID, layers: int) |
void | reflection_probe_set_enable_box_projection(probe: RID, enable: bool) |
void | reflection_probe_set_enable_shadows(probe: RID, enable: bool) |
void | reflection_probe_set_extents(probe: RID, extents: Vector3) |
void | reflection_probe_set_intensity(probe: RID, intensity: float) |
void | reflection_probe_set_interior_ambient(probe: RID, color: Color) |
void | reflection_probe_set_interior_ambient_energy(probe: RID, energy: float) |
void | reflection_probe_set_interior_ambient_probe_contribution(probe: RID, contrib: float) |
void | reflection_probe_set_max_distance(probe: RID, distance: float) |
void | reflection_probe_set_origin_offset(probe: RID, offset: Vector3) |
void | reflection_probe_set_update_mode(probe: RID, mode: int) |
void | request_frame_drawn_callback(where: Object, method: String, userdata: Variant) |
RID | scenario_create() |
void | scenario_set_debug(scenario: RID, debug_mode: int) |
void | scenario_set_environment(scenario: RID, environment: RID) |
void | scenario_set_fallback_environment(scenario: RID, environment: RID) |
void | scenario_set_reflection_atlas_size(scenario: RID, size: int, subdiv: int) |
void | set_boot_image(image: Image, color: Color, scale: bool, use_filter: bool = true) |
void | set_debug_generate_wireframes(generate: bool) |
void | set_default_clear_color(color: Color) |
RID | shader_create() |
String | shader_get_code(shader: RID) const |
RID | shader_get_default_texture_param(shader: RID, name: String) const |
Array | shader_get_param_list(shader: RID) const |
void | shader_set_code(shader: RID, code: String) |
void | shader_set_default_texture_param(shader: RID, name: String, texture: RID) |
void | skeleton_allocate(skeleton: RID, bones: int, is_2d_skeleton: bool = false) |
Transform | skeleton_bone_get_transform(skeleton: RID, bone: int) const |
Transform2D | skeleton_bone_get_transform_2d(skeleton: RID, bone: int) const |
void | skeleton_bone_set_transform(skeleton: RID, bone: int, transform: Transform) |
void | skeleton_bone_set_transform_2d(skeleton: RID, bone: int, transform: Transform2D) |
RID | skeleton_create() |
int | skeleton_get_bone_count(skeleton: RID) const |
RID | sky_create() |
void | sky_set_texture(sky: RID, cube_map: RID, radiance_size: int) |
RID | spot_light_create() |
void | sync() |
void | texture_allocate(texture: RID, width: int, height: int, depth_3d: int, format: int, type: int, flags: int = 7) |
void | texture_bind(texture: RID, number: int) |
RID | texture_create() |
RID | texture_create_from_image(image: Image, flags: int = 7) |
Array | texture_debug_usage() |
Image | texture_get_data(texture: RID, cube_side: int = 0) const |
int | texture_get_depth(texture: RID) const |
int | texture_get_flags(texture: RID) const |
int | texture_get_format(texture: RID) const |
int | texture_get_height(texture: RID) const |
String | texture_get_path(texture: RID) const |
int | texture_get_texid(texture: RID) const |
int | texture_get_type(texture: RID) const |
int | texture_get_width(texture: RID) const |
void | texture_set_data(texture: RID, image: Image, layer: int = 0) |
void | 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) |
void | texture_set_flags(texture: RID, flags: int) |
void | texture_set_path(texture: RID, path: String) |
void | texture_set_shrink_all_x2_on_set_data(shrink: bool) |
void | texture_set_size_override(texture: RID, width: int, height: int, depth: int) |
void | textures_keep_original(enable: bool) |
void | viewport_attach_camera(viewport: RID, camera: RID) |
void | viewport_attach_canvas(viewport: RID, canvas: RID) |
void | viewport_attach_to_screen(viewport: RID, rect: Rect2 = Rect2( 0, 0, 0, 0 ), screen: int = 0) |
RID | viewport_create() |
void | viewport_detach(viewport: RID) |
int | viewport_get_render_info(viewport: RID, info: int) |
RID | viewport_get_texture(viewport: RID) const |
void | viewport_remove_canvas(viewport: RID, canvas: RID) |
void | viewport_set_active(viewport: RID, active: bool) |
void | viewport_set_canvas_stacking(viewport: RID, canvas: RID, layer: int, sublayer: int) |
void | viewport_set_canvas_transform(viewport: RID, canvas: RID, offset: Transform2D) |
void | viewport_set_clear_mode(viewport: RID, clear_mode: int) |
void | viewport_set_debug_draw(viewport: RID, draw: int) |
void | viewport_set_disable_3d(viewport: RID, disabled: bool) |
void | viewport_set_disable_environment(viewport: RID, disabled: bool) |
void | viewport_set_global_canvas_transform(viewport: RID, transform: Transform2D) |
void | viewport_set_hdr(viewport: RID, enabled: bool) |
void | viewport_set_hide_canvas(viewport: RID, hidden: bool) |
void | viewport_set_hide_scenario(viewport: RID, hidden: bool) |
void | viewport_set_msaa(viewport: RID, msaa: int) |
void | viewport_set_parent_viewport(viewport: RID, parent_viewport: RID) |
void | viewport_set_render_direct_to_screen(viewport: RID, enabled: bool) |
void | viewport_set_scenario(viewport: RID, scenario: RID) |
void | viewport_set_shadow_atlas_quadrant_subdivision(viewport: RID, quadrant: int, subdivision: int) |
void | viewport_set_shadow_atlas_size(viewport: RID, size: int) |
void | viewport_set_size(viewport: RID, width: int, height: int) |
void | viewport_set_transparent_background(viewport: RID, enabled: bool) |
void | viewport_set_update_mode(viewport: RID, update_mode: int) |
void | viewport_set_usage(viewport: RID, usage: int) |
void | viewport_set_use_arvr(viewport: RID, use_arvr: bool) |
void | viewport_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_MIPMAPS,TEXTURE_FLAG_REPEAT和TEXTURE_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)
设置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)。
- 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
。 功能可能是s3tc
,etc
,etc2
和pvrtc
。
- 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_begin和Instant_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_aabb,instance_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_aabb,instance_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)
设置启动映像。 颜色定义背景色。 如果scale
为true
,则将缩放图像以适合屏幕尺寸。 如果use_filter
为true
,则将使用线性插值对图像进行缩放。 如果use_filter
为false
,则将使用最近邻插值对图像进行缩放。
- 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
,则视口的渲染垂直翻转。