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
Sperimentale: This class may be changed or removed in future versions.
Eredita: OpenXRExtensionWrapper < Object
Estensione di OpenXR che gestisce entità spaziali.
Descrizione
Estensione di OpenXR che gestisce entità spaziali e, se abilitata, consente di interrogarle. Questa estensione gestirà automaticamente anche gli oggetti XRTracker per le entità statiche.
Metodi
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) |
Segnali
spatial_discovery_recommended(spatial_context: RID) 🔗
Emesso quando OpenXR consiglia di effettuare una richiesta di individuazione perché le entità gestite da questo contesto spaziale sono (probabilmente) cambiate.
Enumerazioni
enum Capability: 🔗
Capability CAPABILITY_PLANE_TRACKING = 1000741000
Capacità di tracciamento dei piani.
Capability CAPABILITY_MARKER_TRACKING_QR_CODE = 1000743000
Capacità di tracciamento dei marcatori basata su codici QR.
Capability CAPABILITY_MARKER_TRACKING_MICRO_QR_CODE = 1000743001
Capacità di tracciamento dei marcatori basata su codici micro QR.
Capability CAPABILITY_MARKER_TRACKING_ARUCO_MARKER = 1000743002
Capacità di tracciamento dei marcatori basata su marcatori Aruco.
Capability CAPABILITY_MARKER_TRACKING_APRIL_TAG = 1000743003
Capacità di tracciamento dei marcatori basata su April tag.
Capability CAPABILITY_ANCHOR = 1000762000
Capacità di ancoraggio.
enum ComponentType: 🔗
ComponentType COMPONENT_TYPE_BOUNDED_2D = 1
Componente che fornisce i limiti 2D per un'entità spaziale. La struttura di lista corrispondente è XrSpatialComponentBounded2DListEXT; la struttura dati corrispondente è XrSpatialBounded2DDataEXT.
ComponentType COMPONENT_TYPE_BOUNDED_3D = 2
Componente che fornisce i limiti 3D per un'entità spaziale. La struttura di lista corrispondente è XrSpatialComponentBounded3DListEXT; la struttura dati corrispondente è XrBoxf.
ComponentType COMPONENT_TYPE_PARENT = 3
Componente che fornisce l'XrSpatialEntityIdEXT del padre per un'entità spaziale. La struttura di lista corrispondente è XrSpatialComponentParentListEXT; la struttura dati corrispondente è XrSpatialEntityIdEXT.
ComponentType COMPONENT_TYPE_MESH_3D = 4
Componente che fornisce una mesh 3D per un'entità spaziale. La struttura di lista corrispondente è XrSpatialComponentMesh3DListEXT; la struttura dati corrispondente è XrSpatialMeshDataEXT.
ComponentType COMPONENT_TYPE_PLANE_ALIGNMENT = 1000741000
Componente che fornisce l'enumerazione dell'allineamento di un piano per un'entità spaziale. La struttura di lista corrispondente è XrSpatialComponentPlaneAlignmentListEXT; la struttura dati corrispondente è XrSpatialPlaneAlignmentEXT (aggiunta dall'estensione XR_EXT_spatial_plane_tracking).
ComponentType COMPONENT_TYPE_MESH_2D = 1000741001
Componente che fornisce una mesh 2D per un'entità spaziale. La struttura di lista corrispondente è XrSpatialComponentMesh2DListEXT; la struttura dati corrispondente è XrSpatialMeshDataEXT (aggiunta dall'estensione XR_EXT_spatial_plane_tracking).
ComponentType COMPONENT_TYPE_POLYGON_2D = 1000741002
Componente che fornisce una poligono di confine 2D per un'entità spaziale. La struttura di lista corrispondente è XrSpatialComponentPolygon2DListEXT; la struttura dati corrispondente è XrSpatialPolygon2DDataEXT (aggiunta dall'estensione XR_EXT_spatial_plane_tracking).
ComponentType COMPONENT_TYPE_PLANE_SEMANTIC_LABEL = 1000741003
Componente che fornisce un'etichetta semantica per un piano. La struttura di lista corrispondente è XrSpatialComponentPlaneSemanticLabelListEXT; la struttura dati corrispondente è XrSpatialPlaneSemanticLabelEXT (aggiunta dall'estensione XR_EXT_spatial_plane_tracking).
ComponentType COMPONENT_TYPE_MARKER = 1000743000
Componente che describe il tipo di marcatore, l'ID e posizione. La struttura di lista corrispondente è XrSpatialComponentMarkerListEXT; la struttura dati corrispondente è XrSpatialMarkerDataEXT (aggiunta dall'estensione XR_EXT_spatial_marker_tracking).
ComponentType COMPONENT_TYPE_ANCHOR = 1000762000
Componente che fornisce la posizione per un ancoraggio. La struttura di elenco corrispondente è XrSpatialComponentAnchorListEXT; la struttura dati corrispondente è XrPosef (aggiunta dall'estensione XR_EXT_spatial_anchor).
ComponentType COMPONENT_TYPE_PERSISTENCE = 1000763000
Componente che fornisce l'UUID persistente per un'entità spaziale. La struttura di lista corrispondente è XrSpatialComponentPersistenceListEXT; la struttura dati corrispondente è [code]XrSpatialPersistenceDataEXT (aggiunta dall'estensione XR_EXT_spatial_persistence).
Descrizioni dei metodi
RID add_spatial_entity(spatial_context: RID, entity_id: int, entity: int) 🔗
Registra un'entità che è stata creata direttamente nel runtime OpenXR.
OpenXRFutureResult create_spatial_context(capability_configurations: Array[OpenXRSpatialCapabilityConfigurationBaseHeader], next: OpenXRStructureBase = null, user_callback: Callable = Callable()) 🔗
Crea un nuovo contesto spaziale che gestisce le entità per le configurazioni di capacità fornite. capability_configurations è un array di OpenXRSpatialCapabilityConfigurationBaseHeader contenente i dati di configurazione delle capacità necessari.
next è un parametro facoltativo che può contenere ulteriori informazioni per creare il contesto spaziale.
Nota: Questo è un metodo asincrono e restituisce un oggetto OpenXRFutureResult con cui tenere traccia dello stato; scartare questo oggetto non annullerà il processo di creazione. In caso di successo, verrà richiamato user_callback se specificato. I dati risultanti da questa funzione sono il RID del contesto spaziale.
OpenXRFutureResult discover_spatial_entities(spatial_context: RID, component_types: PackedInt64Array, next: OpenXRStructureBase = null, user_callback: Callable = Callable()) 🔗
Avvia una nuova richiesta di individuazione, che raccoglierà tutti gli oggetti tracciati dal contesto spaziale spatial_context che hanno almeno uno dei tipi di componente specificati in component_types.
next è un parametro facoltativo che può contenere ulteriori informazioni per eseguire la richiesta di individuazione.
Nota: Questo è un metodo asincrono e restituisce un oggetto OpenXRFutureResult con cui tenere traccia dello stato; scartare questo oggetto non annullerà il processo di individuazione. In caso di successo, verrà richiamata la funzione user_callback se specificata. I dati risultanti per questa funzione sono il RID del nostro snapshot.
OpenXRFutureResult discover_spatial_entities_with_component_data(spatial_context: RID, component_data: Array[OpenXRSpatialComponentData], next: OpenXRStructureBase = null, user_callback: Callable = Callable()) 🔗
Metodo di convenienza quando il chiamante ha solo un Array di OpenXRSpatialComponentData e deve individuare entità spaziali.
RID find_spatial_entity(entity_id: int) 🔗
Restituisce l'RID per l'ID di entità spaziale specificato.
void free_spatial_context(spatial_context: RID) 🔗
Libera un contesto spaziale creato in precedenza tramite create_spatial_context(). Se la creazione del contesto spaziale è ancora in corso, il processo asincrono viene annullato.
void free_spatial_entity(entity: RID) 🔗
Libera un'entità creata in precedenza tramite add_spatial_entity() o make_spatial_entity().
void free_spatial_snapshot(spatial_snapshot: RID) 🔗
Libera uno snapshot spaziale creato in precedenza tramite discover_spatial_entities(). Se la creazione dello snapshot spaziale è ancora in corso, il processo asincrono viene annullato.
PackedFloat32Array get_float_buffer(spatial_snapshot: RID, buffer_id: int) const 🔗
Restituisce un buffer con valori float da un buffer recuperato alla cattura di uno snapshot.
int get_spatial_context_handle(spatial_context: RID) const 🔗
Restituisce il gestore OpenXR del contesto spaziale per questo snapshot.
Nota: Questo metodo è destinato all'uso da GDExtension che implementano gestori di capacità di entità spaziali.
bool get_spatial_context_ready(spatial_context: RID) const 🔗
Restituisce true se il contesto spaziale ha terminato la sua creazione ed è pronto all'uso.
RID get_spatial_entity_context(entity: RID) const 🔗
Restituisce il contesto spaziale per questa entità.
int get_spatial_entity_id(entity: RID) const 🔗
Restituisce il XrSpatialEntityIdEXT interno associato all'entità.
RID get_spatial_snapshot_context(spatial_snapshot: RID) const 🔗
Restituisce il contesto spaziale relativo a questo snapshot spaziale.
int get_spatial_snapshot_handle(spatial_snapshot: RID) const 🔗
Restituisce il gestore OpenXR dello snapshot spaziale per questo snapshot.
Nota: Questo metodo è destinato all'uso da GDExtension che implementano gestori di capacità di entità spaziali.
String get_string(spatial_snapshot: RID, buffer_id: int) const 🔗
Restituisce una stringa da un buffer recuperato alla cattura di uno snapshot.
PackedByteArray get_uint8_buffer(spatial_snapshot: RID, buffer_id: int) const 🔗
Restituisce un buffer con interi a 8 bit da un buffer recuperato alla cattura di uno snapshot.
PackedInt32Array get_uint16_buffer(spatial_snapshot: RID, buffer_id: int) const 🔗
Restituisce un buffer con interi a 16 bit da un buffer recuperato alla cattura di uno snapshot.
PackedInt32Array get_uint32_buffer(spatial_snapshot: RID, buffer_id: int) const 🔗
Restituisce un buffer con interi a 32 bit da un buffer recuperato alla cattura di uno snapshot.
PackedVector2Array get_vector2_buffer(spatial_snapshot: RID, buffer_id: int) const 🔗
Restituisce un buffer con elementi Vector2 da un buffer recuperato alla cattura di uno snapshot.
PackedVector3Array get_vector3_buffer(spatial_snapshot: RID, buffer_id: int) const 🔗
Restituisce un buffer con elementi Vector3 da un buffer recuperato alla cattura di uno snapshot.
RID make_spatial_entity(spatial_context: RID, entity_id: int) 🔗
Crea una nuova entità per questo entity_id. Il contesto spaziale spatial_context deve corrispondere al contesto che ha individuato l'entità.
bool query_snapshot(spatial_snapshot: RID, component_data: Array[OpenXRSpatialComponentData], next: OpenXRStructureBase = null) 🔗
Interroga i dati dello snapshot. Individuerà tutte le entità presenti nello snapshot che contengono tutti i componenti richiesti specificati in component_data. Gli oggetti contenuti in component_data verranno quindi popolati con i dati interrogati. component_data deve sempre contenere un oggetto di tipo OpenXRSpatialQueryResultData come prima voce.
next è un parametro facoltativo che può contenere ulteriori informazioni passate durante l'impostazione delle condizioni da interrogare.
bool supports_capability(capability: Capability) 🔗
Restituisce true se la capacità capability di entità spaziale è supportata dall'hardware utilizzato.
bool supports_component_type(capability: Capability, component_type: ComponentType) 🔗
Restituisce true se la capacità capability supporta il tipo di componente component_type.
RID update_spatial_entities(spatial_context: RID, entities: Array[RID], component_types: PackedInt64Array, next: OpenXRStructureBase = null) 🔗
Cattura uno snapshot per un numero limitato di entità. Questo metodo NON è asincrono e restituirà lo snapshot immediatamente.