Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
OpenXRSpatialEntityExtension
Experimental: This class may be changed or removed in future versions.
Hereda: OpenXRExtensionWrapper < Object
Extensión de OpenXR que maneja entidades espaciales.
Descripción
Extensión de OpenXR que maneja entidades espaciales y, cuando está habilitada, permite consultar esas entidades espaciales. Esta extensión también gestionará automáticamente objetos XRTracker para entidades estáticas.
Métodos
add_spatial_entity(spatial_context: RID, entity_id: int, entity: int) |
|
create_spatial_context(capability_configurations: Array[OpenXRSpatialCapabilityConfigurationBaseHeader], next: OpenXRStructureBase = null, user_callback: Callable = Callable()) |
|
discover_spatial_entities(spatial_context: RID, component_types: PackedInt64Array, next: OpenXRStructureBase = null, user_callback: Callable = Callable()) |
|
discover_spatial_entities_with_component_data(spatial_context: RID, component_data: Array[OpenXRSpatialComponentData], next: OpenXRStructureBase = null, user_callback: Callable = Callable()) |
|
find_spatial_entity(entity_id: int) |
|
void |
free_spatial_context(spatial_context: RID) |
void |
free_spatial_entity(entity: RID) |
void |
free_spatial_snapshot(spatial_snapshot: RID) |
get_float_buffer(spatial_snapshot: RID, buffer_id: int) const |
|
get_spatial_context_handle(spatial_context: RID) const |
|
get_spatial_context_ready(spatial_context: RID) const |
|
get_spatial_entity_context(entity: RID) const |
|
get_spatial_entity_id(entity: RID) const |
|
get_spatial_snapshot_context(spatial_snapshot: RID) const |
|
get_spatial_snapshot_handle(spatial_snapshot: RID) const |
|
get_string(spatial_snapshot: RID, buffer_id: int) const |
|
get_uint8_buffer(spatial_snapshot: RID, buffer_id: int) const |
|
get_uint16_buffer(spatial_snapshot: RID, buffer_id: int) const |
|
get_uint32_buffer(spatial_snapshot: RID, buffer_id: int) const |
|
get_vector2_buffer(spatial_snapshot: RID, buffer_id: int) const |
|
get_vector3_buffer(spatial_snapshot: RID, buffer_id: int) const |
|
make_spatial_entity(spatial_context: RID, entity_id: int) |
|
query_snapshot(spatial_snapshot: RID, component_data: Array[OpenXRSpatialComponentData], next: OpenXRStructureBase = null) |
|
supports_capability(capability: Capability) |
|
supports_component_type(capability: Capability, component_type: ComponentType) |
|
update_spatial_entities(spatial_context: RID, entities: Array[RID], component_types: PackedInt64Array, next: OpenXRStructureBase = null) |
Señales
spatial_discovery_recommended(spatial_context: RID) 🔗
Emitido cuando OpenXR recomienda ejecutar una consulta de descubrimiento porque las entidades gestionadas por este contexto espacial han (probablemente) cambiado.
Enumeraciones
enum Capability: 🔗
Capability CAPABILITY_PLANE_TRACKING = 1000741000
Capacidad de seguimiento de planos.
Capability CAPABILITY_MARKER_TRACKING_QR_CODE = 1000743000
Capacidad de seguimiento de marcadores basada en códigos QR.
Capability CAPABILITY_MARKER_TRACKING_MICRO_QR_CODE = 1000743001
Capacidad de seguimiento de marcadores basada en códigos Micro QR.
Capability CAPABILITY_MARKER_TRACKING_ARUCO_MARKER = 1000743002
Capacidad de seguimiento de marcadores basada en marcadores Aruco.
Capability CAPABILITY_MARKER_TRACKING_APRIL_TAG = 1000743003
Capacidad de seguimiento de marcadores basada en etiquetas AprilTag.
Capability CAPABILITY_ANCHOR = 1000762000
Capacidad de anclaje.
enum ComponentType: 🔗
ComponentType COMPONENT_TYPE_BOUNDED_2D = 1
Componente que proporciona los límites 2D para una entidad espacial. La estructura de lista correspondiente es XrSpatialComponentBounded2DListEXT; la estructura de datos correspondiente es XrSpatialBounded2DDataEXT.
ComponentType COMPONENT_TYPE_BOUNDED_3D = 2
Componente que proporciona los límites 3D para una entidad espacial. La estructura de lista correspondiente es XrSpatialComponentBounded3DListEXT; la estructura de datos correspondiente es XrBoxf.
ComponentType COMPONENT_TYPE_PARENT = 3
Componente que proporciona el XrSpatialEntityIdEXT del padre para una entidad espacial. La estructura de lista correspondiente es XrSpatialComponentParentListEXT; la estructura de datos correspondiente es XrSpatialEntityIdEXT.
ComponentType COMPONENT_TYPE_MESH_3D = 4
Componente que proporciona una malla 3D para una entidad espacial. La estructura de lista correspondiente es XrSpatialComponentMesh3DListEXT; la estructura de datos correspondiente es XrSpatialMeshDataEXT.
ComponentType COMPONENT_TYPE_PLANE_ALIGNMENT = 1000741000
Componente que proporciona la enumeración de alineación del plano para una entidad espacial. La estructura de lista correspondiente es XrSpatialComponentPlaneAlignmentListEXT; la estructura de datos correspondiente es XrPlaneAlignmentEXT (añadido por la extensión XR_EXT_spatial_plane_tracking.
ComponentType COMPONENT_TYPE_MESH_2D = 1000741001
Component that provides a 2D mesh for a spatial entity. The corresponding list structure is XrSpatialComponentMesh2DListEXT; the corresponding data structure is XrSpatialMeshDataEXT (Added by the XR_EXT_spatial_plane_tracking extension).
ComponentType COMPONENT_TYPE_POLYGON_2D = 1000741002
Componente que proporciona un polígono de límite 2D para una entidad espacial. La estructura de lista correspondiente es XrSpatialComponentPolygon2DListEXT; la estructura de datos correspondiente es XrSpatialPolygon2DDataEXT (añadido por la extensión XR_EXT_spatial_plane_tracking).
ComponentType COMPONENT_TYPE_PLANE_SEMANTIC_LABEL = 1000741003
Componente que proporciona una etiqueta semántica para un plano. La estructura de lista correspondiente es XrSpatialComponentPlaneSemanticLabelListEXT; la estructura de datos correspondiente es XrSpatialPlaneSemanticLabelEXT (añadido por la extensión XR_EXT_spatial_plane_tracking).
ComponentType COMPONENT_TYPE_MARKER = 1000743000
Un componente que describe el tipo de marcador, ID y ubicación. La estructura de lista correspondiente es XrSpatialComponentMarkerListEXT; la estructura de datos correspondiente es XrSpatialMarkerDataEXT (añadido por la extensión XR_EXT_spatial_marker_tracking).
ComponentType COMPONENT_TYPE_ANCHOR = 1000762000
Componente que proporciona la ubicación para un ancla. La estructura de lista correspondiente es XrSpatialComponentAnchorListEXT; la estructura de datos correspondiente es XrPosef (añadido por la extensión XR_EXT_spatial_anchor).
ComponentType COMPONENT_TYPE_PERSISTENCE = 1000763000
Componente que proporciona el UUID persistido para una entidad espacial. La estructura de lista correspondiente es XrSpatialComponentPersistenceListEXT; la estructura de datos correspondiente es [code]XrSpatialPersistenceDataEXT (añadido por la extensión XR_EXT_spatial_persistence).
Descripciones de Métodos
RID add_spatial_entity(spatial_context: RID, entity_id: int, entity: int) 🔗
Registra una entidad que fue creada directamente en el tiempo de ejecución de OpenXR.
OpenXRFutureResult create_spatial_context(capability_configurations: Array[OpenXRSpatialCapabilityConfigurationBaseHeader], next: OpenXRStructureBase = null, user_callback: Callable = Callable()) 🔗
Crea un nuevo contexto espacial que maneja entidades para las configuraciones de capacidad proporcionadas. capability_configurations es un array de OpenXRSpatialCapabilityConfigurationBaseHeader con los datos de configuración de capacidad necesarios.
next es un parámetro opcional que puede contener información adicional para crear nuestro contexto espacial.
Nota: Este es un método asíncrono y devuelve un objeto OpenXRFutureResult con el que rastrear el estado; descartar este objeto no cancelará el proceso de creación. Si tiene éxito, se llamará a user_callback si se especifica. Los datos de resultado para esta función son el RID de nuestro contexto espacial.
OpenXRFutureResult discover_spatial_entities(spatial_context: RID, component_types: PackedInt64Array, next: OpenXRStructureBase = null, user_callback: Callable = Callable()) 🔗
Starts a new discovery query, this will gather all objects tracked by the spatial_context that have at least one of the component types specified in component_types.
next is an optional parameter that can contain additional information for executing the discovery query.
Note: This is an asynchronous method and returns an OpenXRFutureResult object with which to track the status, discarding this object will not cancel the discovery process. On success user_callback will be called if specified. The result data for this function is the RID for our snapshot.
OpenXRFutureResult discover_spatial_entities_with_component_data(spatial_context: RID, component_data: Array[OpenXRSpatialComponentData], next: OpenXRStructureBase = null, user_callback: Callable = Callable()) 🔗
Convenience method when the caller only has an Array of OpenXRSpatialComponentData and needs to discover spatial entities.
RID find_spatial_entity(entity_id: int) 🔗
Devuelve el RID para el ID de entidad espacial especificado.
void free_spatial_context(spatial_context: RID) 🔗
Libera un contexto espacial creado previamente al llamar a create_spatial_context(). Si la creación del contexto espacial aún está en curso, el proceso asíncrono se cancela.
void free_spatial_entity(entity: RID) 🔗
Libera una entidad creada previamente al llamar a add_spatial_entity() o make_spatial_entity().
void free_spatial_snapshot(spatial_snapshot: RID) 🔗
Frees a spatial snapshot previously created when calling discover_spatial_entities(). If the spatial snapshot creation is still ongoing, the asynchronous process is cancelled.
PackedFloat32Array get_float_buffer(spatial_snapshot: RID, buffer_id: int) const 🔗
Returns a buffer with floats from a buffer that was retrieved when taking a snapshot.
int get_spatial_context_handle(spatial_context: RID) const 🔗
Returns the OpenXR spatial context handle for this snapshot.
Note: This method is intended to be used from GDExtensions that implement spatial entity capability handlers.
bool get_spatial_context_ready(spatial_context: RID) const 🔗
Devuelve true si el contexto espacial terminó su creación y está listo para ser usado.
RID get_spatial_entity_context(entity: RID) const 🔗
Devuelve el contexto espacial para esta entidad.
int get_spatial_entity_id(entity: RID) const 🔗
Devuelve el nodo XrSpatialEntityIdEXT asociado con la entidad.
RID get_spatial_snapshot_context(spatial_snapshot: RID) const 🔗
Returns the spatial context related to this spatial snapshot.
int get_spatial_snapshot_handle(spatial_snapshot: RID) const 🔗
Devuelve el manejador de instantánea espacial de OpenXR para esta instantánea.
Nota: Este método está destinado a ser usado desde GDExtensions que implementan manejadores de capacidad de entidad espacial.
String get_string(spatial_snapshot: RID, buffer_id: int) const 🔗
Devuelve una cadena de un búfer que fue recuperado al tomar una instantánea.
PackedByteArray get_uint8_buffer(spatial_snapshot: RID, buffer_id: int) const 🔗
Devuelve un búfer con enteros de 8 bits de un búfer que fue recuperado al tomar una instantánea.
PackedInt32Array get_uint16_buffer(spatial_snapshot: RID, buffer_id: int) const 🔗
Devuelve un búfer con enteros de 16 bits de un búfer que fue recuperado al tomar una instantánea.
PackedInt32Array get_uint32_buffer(spatial_snapshot: RID, buffer_id: int) const 🔗
Devuelve un búfer con enteros de 32 bits de un búfer que fue recuperado al tomar una instantánea.
PackedVector2Array get_vector2_buffer(spatial_snapshot: RID, buffer_id: int) const 🔗
Devuelve un búfer con entradas Vector2 de un búfer que fue recuperado al tomar una instantánea.
PackedVector3Array get_vector3_buffer(spatial_snapshot: RID, buffer_id: int) const 🔗
Devuelve un búfer con entradas Vector3 de un búfer que fue recuperado al tomar una instantánea.
RID make_spatial_entity(spatial_context: RID, entity_id: int) 🔗
Crea una nueva entidad para este entity_id. El spatial_context debe coincidir con el contexto que descubrió la entidad.
bool query_snapshot(spatial_snapshot: RID, component_data: Array[OpenXRSpatialComponentData], next: OpenXRStructureBase = null) 🔗
Véanse los datos de la instantánea. Esto encontrará todas las entidades en la instantánea que contienen todos los componentes solicitados en component_data. Los objetos contenidos en component_data se poblarán con los datos consultados. component_data siempre debe tener un objeto de OpenXRSpatialQueryResultData como primera entrada.
next es un parámetro opcional que puede contener información adicional pasada al establecer nuestras condiciones de consulta.
bool supports_capability(capability: Capability) 🔗
Devuelve true si esta capability de entidad espacial es soportada por el hardware utilizado.
bool supports_component_type(capability: Capability, component_type: ComponentType) 🔗
Devuelve true si esta capability soporta el component_type.
RID update_spatial_entities(spatial_context: RID, entities: Array[RID], component_types: PackedInt64Array, next: OpenXRStructureBase = null) 🔗
Realiza una instantánea para un número limitado de entidades. Este NO es un método asíncrono y devolverá la instantánea inmediatamente.