VisualInstance3D

Hereda: Node3D < Node < Object

Heredado por: Decal, FogVolume, GeometryInstance3D, GPUParticlesAttractor3D, GPUParticlesCollision3D, Light3D, LightmapGI, OccluderInstance3D, OpenXRVisibilityMask, ReflectionProbe, RootMotionView, VisibleOnScreenNotifier3D, VoxelGI

Padre de todos los nodos visuales 3D.

Descripción

La VisualInstance3D se utiliza para conectar un recurso a una representación visual. Todos los nodos visuales 3D heredan de VisualInstance3D. En general, no debes acceder directamente a las propiedades de VisualInstance3D ya que son accedidas y gestionadas por los nodos que heredan de VisualInstance3D. VisualInstance3D es la representación del nodo de la instancia RenderingServer.

Propiedades

int

layers

1

float

sorting_offset

0.0

bool

sorting_use_aabb_center

Métodos

AABB

_get_aabb() virtual const

AABB

get_aabb() const

RID

get_base() const

RID

get_instance() const

bool

get_layer_mask_value(layer_number: int) const

void

set_base(base: RID)

void

set_layer_mask_value(layer_number: int, value: bool)


Descripciones de Propiedades

int layers = 1 🔗

  • void set_layer_mask(value: int)

  • int get_layer_mask()

Las capas de renderizado en las que se dibuja este VisualInstance3D.

Este objeto solo será visible para las Camera3Ds cuya máscara de eliminación incluya cualquiera de las capas de renderizado a las que esté establecido este VisualInstance3D.

Para Light3Ds, esto se puede utilizar para controlar qué VisualInstance3Ds se ven afectados por una luz específica. Para GPUParticles3D, esto se puede utilizar para controlar qué partículas se ven afectadas por un atractor específico. Para Decals, esto se puede utilizar para controlar qué VisualInstance3Ds se ven afectados por una calcomanía específica.

Para ajustar layers más fácilmente usando un script, utiliza get_layer_mask_value() y set_layer_mask_value().

Nota: VoxelGI, SDFGI y LightmapGI siempre tendrán en cuenta todas las capas para determinar qué contribuye a la iluminación global. Si esto es un problema, establece GeometryInstance3D.gi_mode a GeometryInstance3D.GI_MODE_DISABLED para las mallas y Light3D.light_bake_mode a Light3D.BAKE_DISABLED para las luces para excluirlas de la iluminación global.


float sorting_offset = 0.0 🔗

  • void set_sorting_offset(value: float)

  • float get_sorting_offset()

Cantidad en la que se ajustará la profundidad de esta VisualInstance3D al ordenar por profundidad. Utiliza las mismas unidades que el motor (que suelen ser metros). Ajustarlo a un valor más alto hará que la VisualInstance3D se dibuje de forma fiable por encima de otras VisualInstance3D que de otro modo estén situadas en el mismo punto. Para asegurar que siempre se dibuje encima de otros objetos a su alrededor (no situados en el mismo punto), establece el valor para que sea mayor que la distancia entre esta VisualInstance3D y las otras VisualInstance3D cercanas.


bool sorting_use_aabb_center 🔗

  • void set_sorting_use_aabb_center(value: bool)

  • bool is_sorting_use_aabb_center()

Si es true, el objeto se ordena según el centro AABB. El objeto se ordenará según la posición global en caso contrario.

La ordenación basada en el centro AABB suele ser más precisa para los modelos 3D. La ordenación basada en la posición, en cambio, permite controlar mejor el orden de dibujado cuando se trabaja con GPUParticles3D y CPUParticles3D.


Descripciones de Métodos

AABB _get_aabb() virtual const 🔗

There is currently no description for this method. Please help us by contributing one!


AABB get_aabb() const 🔗

Devuelve el AABB (también conocido como el cuadro delimitador) para este VisualInstance3D.


RID get_base() const 🔗

Devuelve el RID del recurso asociado con este VisualInstance3D. Por ejemplo, si el Nodo es un MeshInstance3D, esto devolverá el RID de la Mesh asociada.


RID get_instance() const 🔗

Devuelve el RID de esta instancia. Este RID es el mismo que el RID devuelto por RenderingServer.instance_create(). Este RID es necesario si quieres llamar a las funciones de RenderingServer directamente en este VisualInstance3D.


bool get_layer_mask_value(layer_number: int) const 🔗

Devuelve si la capa especificada de layers está activada o no, dado un layer_number entre 1 y 20.


void set_base(base: RID) 🔗

Establece el recurso que es instanciado por este VisualInstance3D, lo cual cambia la forma en que el motor maneja el VisualInstance3D internamente. Equivalente a RenderingServer.instance_set_base().


void set_layer_mask_value(layer_number: int, value: bool) 🔗

Basado en value, activa o desactiva la capa especificada en layers, dado un layer_number entre 1 y 20.