Version: 1.0.2 Target Device: Youbiquo Leonardo XR
Base SDK: Snapdragon Spaces 1.0.4
I sample sono organizzati in due sezioni:
Il pacchetto Core Samples è importabile da Window > Package Manager > Snapdragon Spaces > Core Samples. Dopo l’import, aggiungi tutte le scene al build tramite Window > XR > Snapdragon Spaces > Add Scenes to Build Settings.
Il pacchetto LeonardoXR Core Samples è importabile da Window > Package Manager > LeonardoXR > Core Samples. Dopo l’import, le scene sono disponibili nella cartella Samples/LeonardoXR/[versione]/Core Samples/Scenes/.
⚠️ Documentazione in preparazione.
Questo sample dimostrerà come accedere ai frame sincronizzati delle due camere di Leonardo XR tramite la feature Dual Camera Access.
Scena:
Samples/LeonardoXR/.../Core Samples/Scenes/DualCameraAccess
Prerequisiti: Feature Dual Camera Access abilitata in LeonardoXR feature group.
⚠️ Documentazione in preparazione.
Questo sample dimostrerà come caricare ed eseguire un modello di inferenza neurale sull’NPU di Leonardo XR tramite il QNN Inference Plugin.
Scena:
Samples/LeonardoXR/.../Core Samples/Scenes/QnnInference
Prerequisiti: Feature QNN Inference Plugin abilitata in LeonardoXR feature group.
⚠️ Documentazione in preparazione.
Questo sample dimostrerà come intercettare funzioni OpenXR a basso livello tramite la feature InterceptOpenXRFunction.
Scena:
Samples/LeonardoXR/.../Core Samples/Scenes/InterceptOpenXRFunction
Prerequisiti: Feature Intercept OpenXR Function abilitata in LeonardoXR feature group.
Scena: Samples/Snapdragon Spaces/.../Core Samples/Scenes/Anchor
Questo sample dimostra come creare e distruggere anchor locali per tracciare con precisione un punto nel mondo reale. Richiede la feature Spatial Anchors abilitata in OpenXR.
Un gizmo di posizionamento trasparente fluttua a 1 metro davanti alla camera. Quando Place anchor on surfaces è abilitato, viene proiettato un ray in avanti ogni frame. Quando una superficie viene colpita il gizmo diventa giallo. Toccare il touchpad o usare il gaze interactor crea un ARAnchor con un gizmo di tracking.
private void OnAnchorsChanged(ARAnchorsChangedEventArgs args)
{
foreach (var anchor in args.updated)
{
Destroy(anchor.transform.GetChild(0).gameObject);
var newGizmo = Instantiate(
anchor.trackingState == TrackingState.None
? GizmoUntrackedAnchor
: GizmoTrackedAnchor);
newGizmo.transform.SetParent(anchor.transform, false);
}
}
Scena: Samples/Snapdragon Spaces/.../Core Samples/Scenes/HandTracking
Dimostra la visualizzazione delle giunture della mano e il riconoscimento dei gesti tramite il pacchetto di interazione QCHT. Richiede la feature Hand Tracking e i pacchetti QCHT / XR Hands.
Scena: Samples/Snapdragon Spaces/.../Core Samples/Scenes/HitTesting
Dimostra l’hit testing continuo tramite raycast contro piani e mesh del mondo reale usando ARRaycastManager. Il sample mostra come posizionare oggetti virtuali sulle superfici rilevate.
Scena: Samples/Snapdragon Spaces/.../Core Samples/Scenes/ImageTracking
Dimostra il tracking di immagini di riferimento stampate e la sovrapposizione di contenuto virtuale. Supporta librerie di immagini statiche e mutabili.
Scena: Samples/Snapdragon Spaces/.../Core Samples/Scenes/PlaneDetection
Dimostra il rilevamento e la visualizzazione di piani orizzontali e verticali tramite ARPlaneManager. Supporta modalità di rilevamento e piani convex hull opzionali.
Scena: Samples/Snapdragon Spaces/.../Core Samples/Scenes/CameraFrameAccess
Dimostra il recupero di frame camera raw (YUV / YUYV) dal dispositivo usando ARCameraManager. Include estrinseci del sensore, query sul numero di camere e accesso ai frame accelerato da GPU.
Importante: Richiede Allow ‘unsafe’ Code abilitato in Player Settings.
Scena: Samples/Snapdragon Spaces/.../Core Samples/Scenes/SpatialMeshing
Dimostra il meshing ambientale in tempo reale usando ARMeshManager. Include uno slider di opacità e il componente opzionale SpacesARMeshManagerConfig.
Scena: Samples/Snapdragon Spaces/.../Core Samples/Scenes/QRCodeTracking
Dimostra la scansione e il tracking di QR code tramite SpacesQrCodeManager. Sono disponibili multiple modalità di tracking.
Scena: Samples/Snapdragon Spaces/.../Core Samples/Scenes/XRInteractionToolkit
Dimostra le interazioni standard XR Interaction Toolkit (ray interactors, direct interactors, teleportation) in un progetto Snapdragon Spaces. Compatibile con la configurazione LeonardoXR.
Il Spaces Composition Layer renderizza texture direttamente all’HMD bypassando i passi di post-processing. I tipi di geometria supportati sono Quad, Cylinder, Sphere e Cube. Utile per UI ad alta nitidezza o elementi che devono mantenere qualità indipendentemente dagli effetti di scena.
| Sample | Descrizione |
|---|---|
| Display Refresh Rate | Query e impostazione runtime del refresh rate del display tramite l’estensione XR_EXT_display_refresh_rate. |
| Performance Settings | Impostazione dei livelli di performance CPU/GPU tramite l’estensione XR_EXT_performance_settings. |