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...
OpenXRCompositionLayer
Sperimentale: This class may be changed or removed in future versions.
Eredita: Node3D < Node < Object
Ereditato da: OpenXRCompositionLayerCylinder, OpenXRCompositionLayerEquirect, OpenXRCompositionLayerQuad
Classe padre di tutti i nodi OpenXR dei livelli di composizione.
Descrizione
I livelli di composizione consentono al compositore XR di visualizzare le viewport 2D all'interno del visore tramite proiezioni speciali che ne mantengono la qualità. Ciò consente di renderizzare testo chiaro mantenendo il livello a una risoluzione nativa.
Nota: Se l'esecuzione OpenXR non supporta il tipo di livello di composizione specificato, è possibile generare una mesh di riserva con una ViewportTexture, per emulare il livello di composizione.
Proprietà
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Metodi
intersects_ray(origin: Vector3, direction: Vector3) const |
|
is_natively_supported() const |
Enumerazioni
enum Filter: 🔗
Filter FILTER_NEAREST = 0
Utilizza il filtro vicino più ravvicinato per campionare la texture.
Filter FILTER_LINEAR = 1
Utilizza il filtro lineare per campionare la texture.
Filter FILTER_CUBIC = 2
Utilizza il filtro cubico per campionare la texture.
enum MipmapMode: 🔗
MipmapMode MIPMAP_MODE_DISABLED = 0
Disabilita il mipmapping.
Nota: il mipmapping si può disabilitare solo nel renderer Compatibilità.
MipmapMode MIPMAP_MODE_NEAREST = 1
Utilizza la mipmap della risoluzione più vicina.
MipmapMode MIPMAP_MODE_LINEAR = 2
Utilizza un'interpolazione lineare tra le due mipmap della risoluzione più vicina.
enum Wrap: 🔗
Wrap WRAP_CLAMP_TO_BORDER = 0
Limita la texture al suo colore di bordo specificato.
Wrap WRAP_CLAMP_TO_EDGE = 1
Limita la texture al suo colore di bordo.
Wrap WRAP_REPEAT = 2
Ripete la texture infinitamente.
Wrap WRAP_MIRRORED_REPEAT = 3
Ripeti la texture all'infinito, rispecchiandola a ogni ripetizione.
Wrap WRAP_MIRROR_CLAMP_TO_EDGE = 4
Rispecchia la texture una sola volta e poi la limita al suo colore di bordo.
Nota: Questa modalità di avvolgimento non è disponibile nel renderer Compatibilità.
enum Swizzle: 🔗
Swizzle SWIZZLE_RED = 0
Mappa un canale colore al valore del canale rosso.
Swizzle SWIZZLE_GREEN = 1
Mappa un canale colore al valore del canale verde.
Swizzle SWIZZLE_BLUE = 2
Mappa un canale colore al valore del canale blu.
Swizzle SWIZZLE_ALPHA = 3
Mappa un canale colore al valore del canale alfa.
Swizzle SWIZZLE_ZERO = 4
Mappa un canale colore al valore di zero.
Swizzle SWIZZLE_ONE = 5
Mappa un canale colore al valore di uno.
enum EyeVisibility: 🔗
EyeVisibility EYE_VISIBILITY_BOTH = 0
The layer is visible to both the left and right eyes.
EyeVisibility EYE_VISIBILITY_LEFT = 1
The layer is visible only to the left eye.
EyeVisibility EYE_VISIBILITY_RIGHT = 2
The layer is visible only to the right eye.
Descrizioni delle proprietà
Abilita la fusione del livello usando il suo canale alfa.
Può essere combinato con Viewport.transparent_bg per dare al livello uno sfondo trasparente.
Vector2i android_surface_size = Vector2i(1024, 1024) 🔗
La dimensione della superficie Android da creare se use_android_surface è abilitato.
bool enable_hole_punch = false 🔗
Abilita una tecnica chiamata "hole punching", che consente di posizionare il livello di composizione dietro il livello di proiezione principale (ad esempio impostando sort_order su un valore negativo) mentre "perfora un buco" attraverso tutto ciò che è stato renderizzato da Godot in modo che il livello sia ancora visibile.
Ciò può essere utilizzato per creare l'illusione che il livello di composizione esista nello stesso spazio 3D di tutto ciò che è stato renderizzato da Godot, consentendo agli oggetti di apparire come se passassero dietro o davanti al livello di composizione.
EyeVisibility eye_visibility = 0 🔗
void set_eye_visibility(value: EyeVisibility)
EyeVisibility get_eye_visibility()
The eye(s) the composition layer is visible to.
Note: Not all composition layer types or runtimes support restricting visibility to a single eye.
SubViewport layer_viewport 🔗
void set_layer_viewport(value: SubViewport)
SubViewport get_layer_viewport()
La SubViewport da renderizzare sul livello di composizione.
bool protected_content = false 🔗
If enabled, the OpenXR swapchain will be created with the XR_SWAPCHAIN_CREATE_PROTECTED_CONTENT_BIT flag, which will protect its contents from CPU access.
When used with an Android Surface, this may allow DRM content to be presented, and will only take effect when the Surface is first created; later changes to this property will have no effect.
L'ordine di ordinamento per questo livello di composizione. I numeri più alti saranno mostrati davanti ai numeri più bassi.
Nota: Questo non avrà alcun effetto se si utilizza una mesh di riserva.
Swizzle swapchain_state_alpha_swizzle = 3 🔗
Il valore di permutazione (swizzle) per il canale alfa dello stato della swapchain.
Nota: Questa proprietà ha effetto solo sui dispositivi che supportano le estensioni OpenGLES/Vulkan OpenXR XR_FB_swapchain_update_state.
Swizzle swapchain_state_blue_swizzle = 2 🔗
Il valore di permutazione (swizzle) per il canale blu dello stato della swapchain.
Nota: Questa proprietà ha effetto solo sui dispositivi che supportano le estensioni OpenGLES/Vulkan OpenXR XR_FB_swapchain_update_state.
Color swapchain_state_border_color = Color(0, 0, 0, 0) 🔗
Colore di bordo dello stato di swapchain utilizzato quando la modalità di avvolgimento si limita al bordo.
Nota: Questa proprietà ha effetto solo sui dispositivi che supportano le estensioni OpenGLES/Vulkan OpenXR XR_FB_swapchain_update_state.
Swizzle swapchain_state_green_swizzle = 1 🔗
Il valore di permutazione (swizzle) per il canale verde dello stato della swapchain.
Nota: Questa proprietà ha effetto solo sui dispositivi che supportano le estensioni OpenGLES/Vulkan OpenXR XR_FB_swapchain_update_state.
Wrap swapchain_state_horizontal_wrap = 0 🔗
La modalità di avvolgimento orizzontale dello stato della swapchain.
Nota: Questa proprietà ha effetto solo sui dispositivi che supportano le estensioni OpenGLES/Vulkan OpenXR XR_FB_swapchain_update_state.
Filter swapchain_state_mag_filter = 1 🔗
Il filtro di ingrandimento dello stato della swapchain.
Nota: Questa proprietà ha effetto solo sui dispositivi che supportano le estensioni OpenGLES/Vulkan OpenXR XR_FB_swapchain_update_state.
float swapchain_state_max_anisotropy = 1.0 🔗
L'anisotropia massima dello stato della swapchain.
Nota: Questa proprietà ha effetto solo sui dispositivi che supportano le estensioni OpenGLES/Vulkan OpenXR XR_FB_swapchain_update_state.
Filter swapchain_state_min_filter = 1 🔗
Il filtro di minimizzazione dello stato della swapchain.
Nota: Questa proprietà ha effetto solo sui dispositivi che supportano le estensioni OpenGLES/Vulkan OpenXR XR_FB_swapchain_update_state.
MipmapMode swapchain_state_mipmap_mode = 2 🔗
void set_mipmap_mode(value: MipmapMode)
MipmapMode get_mipmap_mode()
La modalità di mipmap dello stato della swapchain.
Nota: Questa proprietà ha effetto solo sui dispositivi che supportano le estensioni OpenGLES/Vulkan OpenXR XR_FB_swapchain_update_state.
Swizzle swapchain_state_red_swizzle = 0 🔗
Il valore di permutazione (swizzle) per il canale rosso dello stato della swapchain.
Nota: Questa proprietà ha effetto solo sui dispositivi che supportano le estensioni OpenGLES/Vulkan OpenXR XR_FB_swapchain_update_state.
Wrap swapchain_state_vertical_wrap = 0 🔗
La modalità di avvolgimento verticale dello stato della swapchain.
Nota: Questa proprietà ha effetto solo sui dispositivi che supportano le estensioni OpenGLES/Vulkan OpenXR XR_FB_swapchain_update_state.
bool use_android_surface = false 🔗
Se abilitato, sarà creata una superficie Android (con le dimensioni di android_surface_size) che fornirà il contenuto 2D per il livello di composizione, invece di usare layer_viewport.
Consulta get_android_surface() per informazioni su come ottenere la superficie in modo che la tua applicazione ci possa disegnare sopra.
Nota: Ciò funzionerà solo nelle build Android.
Descrizioni dei metodi
JavaObject get_android_surface() 🔗
Restituisce un JavaObject che rappresenta un android.view.Surface se use_android_surface è abilitato e OpenXR ha creato la superficie. Altrimenti, restituirà null.
Nota: È possibile creare la superficie solo durante una sessione OpenXR attiva. Quindi, se use_android_surface è abilitato al di fuori di una sessione OpenXR, non verrà creata finché non si avvia completamente una nuova sessione.
Vector2 intersects_ray(origin: Vector3, direction: Vector3) const 🔗
Restituisce le coordinate UV in cui il raggio specificato interseca il livello di composizione. origin e direction devono essere nello spazio globale.
Restituisce Vector2(-1.0, -1.0) se il raggio non interseca.
bool is_natively_supported() const 🔗
Restituisce true se il runtime OpenXR supporta nativamente questo tipo di livello di composizione.
Nota: Questo metodo restituirà un risultato preciso solo dopo l'avvio della sessione OpenXR.