{"version":"1.0","provider_name":"Geckode!","provider_url":"https:\/\/www.youbiquo.eu\/geckode","author_name":"alessandroionni","author_url":"https:\/\/www.youbiquo.eu\/geckode\/author\/alessandroionni\/","title":"VR\/MR - Leonardo XR SDK - Geckode!","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"eDPlDHnbBm\"><a href=\"https:\/\/www.youbiquo.eu\/geckode\/vr-mr-leonardo-xr-sdk\/\">VR\/MR &#8211; Leonardo XR SDK<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/www.youbiquo.eu\/geckode\/vr-mr-leonardo-xr-sdk\/embed\/#?secret=eDPlDHnbBm\" width=\"600\" height=\"338\" title=\"&#8220;VR\/MR &#8211; Leonardo XR SDK&#8221; &#8212; Geckode!\" data-secret=\"eDPlDHnbBm\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/www.youbiquo.eu\/geckode\/wp-includes\/js\/wp-embed.min.js\n<\/script>\n","description":"VR\/MR &#8211; LeonardoXR SDK VR\/MR \u2014 LeonardoXR SDK VR\/MR \u2014 LeonardoXR SDK Version:\u00a01.0.2Target Device:\u00a0Youbiquo Leonardo XRBase SDK:\u00a0Snapdragon Spaces 1.0.4 Configurazione Manuale del Progetto Unity \u00c8 raccomandato usare il\u00a0Configuration Tool\u00a0per la configurazione iniziale del progetto (vedi\u00a0Getting Started). Questa guida descrive i passi manuali equivalenti per chi preferisce un controllo diretto sulle impostazioni. Modifica le Project Settings Vai su\u00a0Edit &gt; Project Settings &gt; XR Plug-in Management\u00a0e apri la scheda\u00a0Android. Abilita il plug-in\u00a0OpenXR\u00a0e il\u00a0Snapdragon Spaces feature group. Clicca sul punto esclamativo rosso accanto a\u00a0OpenXR\u00a0per aprire la finestra\u00a0OpenXR Project Validation. Clicca\u00a0Fix\u00a0accanto a ciascuna voce. Applica l&#8217;impostazione &#8220;Enable both Input Systems&#8221;\u00a0per ultima, poich\u00e9 richiede un riavvio dell&#8217;editor. Play In Editor:\u00a0Per le impostazioni aggiuntive relative al workflow in editor vedi la sezione dedicata in\u00a0Getting Started. Abilita le Spaces Features Abilita le features che devono essere attive a runtime in\u00a0OpenXR Settings. Ciascuna feature corrisponde a un AR Foundation Manager e un XR Subsystem: Feature AR Foundation Manager XR Subsystem Base Runtime AR Session XRSessionSubsystem Camera Frame Access AR Camera Manager XRCameraSubsystem Hit Testing AR Raycast Manager XRRaycastSubsystem Image Tracking AR Tracked Image Manager XRImageTrackingSubsystem Plane Detection AR Plane Manager XRPlaneSubsystem Spatial Anchors AR Anchor Manager XRAnchorSubsystem Spatial Meshing AR Mesh Manager XRMeshSubsystem Aggiungi i Feature Usage Data all&#8217;Android Manifest Vai su\u00a0Edit &gt; Project Settings &gt; Snapdragon Spaces Launcher Settings\u00a0per dichiarare le features richieste o supportate dall&#8217;applicazione per:\u00a0Hand Tracking,\u00a0Eye Tracking,\u00a0Passthrough,\u00a0Controllers\u00a0e\u00a0Room Scale. Attenzione:\u00a0Per default tutti i valori\u00a0uses-feature\u00a0sono impostati su\u00a0true. Imposta su\u00a0false\u00a0le features non utilizzate dall&#8217;applicazione per evitare falsi requisiti nel manifest. Importa i Samples Apri\u00a0Window &gt; Package Manager, seleziona il pacchetto Snapdragon Spaces. Clicca\u00a0Import\u00a0su\u00a0Core Samples. Aggiungi tutte le scene al build tramite\u00a0Window &gt; XR &gt; Snapdragon Spaces &gt; Add Scenes to Build Settings. Importante:\u00a0Il sample Camera Frame Access richiede la modalit\u00e0 unsafe abilitata in\u00a0Player Settings &gt; Android &gt; Other Settings &gt; Script Compilation &gt; Allow &#8216;unsafe&#8217; Code. Passthrough Setup Il\u00a0Passthrough\u00a0permette di visualizzare l&#8217;ambiente fisico come overlay di immagine su dispositivi VR. Su LeonardoXR \u00e8 disponibile sui dispositivi compatibili. Si attiva tramite il pannello\u00a0Extend Content\u00a0nell&#8217;UI in-app (visibile solo su dispositivi compatibili con Passthrough). Pu\u00f2 essere attivato anche con i tasti\u00a0X\u00a0e\u00a0A\u00a0del controller. La funzione di abilitazione \u00e8\u00a0OnPassthroughToggle()\u00a0in\u00a0MainMenuSampleController, che imposta\u00a0PassthroughToggle\u00a0su\u00a0BaseRuntimeFeature. ATTENZIONE:\u00a0La camera della sessione deve avere il canale\u00a0Alpha\u00a0del\u00a0Background\u00a0impostato su\u00a00\u00a0per usare il Passthrough correttamente. Viene registrato un avviso automatico se le impostazioni sono errate. Il delegate\u00a0OnSpacesAppSpaceChange\u00a0in\u00a0BaseRuntimeFeature\u00a0notifica quando il dispositivo esegue un recenter (attivato tenendo premuto il tasto menu per 2 secondi sul VRX). Scene Setup Nota:\u00a0Questa guida presuppone conoscenza pregressa di AR Foundation e OpenXR. Consulta la documentazione ufficiale di AR Foundation e OpenXR per i concetti base. Gerarchia Minima della Scena Per abilitare il positional head tracking su LeonardoXR sono necessari i seguenti oggetti: AR Session XR Origin \u2514\u2500\u2500 Camera Offset \u2514\u2500\u2500 Main Camera (tagged as \"MainCamera\") Creali facendo clic destro nella Hierarchy e selezionando\u00a0XR &gt; AR Session\u00a0oppure\u00a0XR &gt; XR Origin. Attenzione:\u00a0Disabilita il componente\u00a0AR Camera Manager\u00a0se non stai recuperando frame RGB dalla camera, per evitare problemi nel lifecycle.Importante:\u00a0Disabilita il componente\u00a0AR Camera Background\u00a0\u2014 non \u00e8 supportato e verr\u00e0 disabilitato automaticamente a runtime. Application Lifecycle \u2014 Compatibilit\u00e0 con Runtime Precedenti La libreria\u00a0Older Runtime Compatibility\u00a0impedisce l&#8217;avvio dell&#8217;applicazione quando l&#8217;SDK non \u00e8 compatibile con il runtime OpenXR installato sul dispositivo. All&#8217;avvio vengono aggiunte due voci all&#8217;Android manifest: targetAPI\u00a0\u2014 corrisponde alla versione del runtime OpenXR inclusa nell&#8217;SDK. minAPI\u00a0\u2014 la versione minima del runtime che ciascuna feature supporta. Versione:\u00a0A partire da Snapdragon Spaces 1.0.4, il\u00a0minAPI\u00a0per tutte le features \u00e8\u00a00.22.0. Risultati di Compatibilit\u00e0 Risultato Descrizione Success Nessuna incompatibilit\u00e0 rilevata. Error Runtime Failure Errore del runtime OpenXR. Error Validation Failure Errore nella validazione Older Runtime Compatibility. Error Uninitialized System Errore per mancanza di inizializzazione. Error Runtime Too Old For Application Il runtime installato \u00e8 troppo vecchio per l&#8217;SDK. Error Application Too Old For Runtime L&#8217;SDK \u00e8 troppo vecchio per il runtime installato. Quando viene rilevata un&#8217;incompatibilit\u00e0 compare un popup con un messaggio di errore e un pulsante\u00a0Quit. Per le app con Dual Render Fusion l&#8217;utente viene informato ma l&#8217;applicazione pu\u00f2 comunque avviarsi. Known Issues \u2014 VR\/MR su LeonardoXR Per problemi non elencati qui, consulta le known issues generali della piattaforma Snapdragon Spaces. Gradle Build Issue L&#8217;aggiunta di un archivio controller personalizzato pu\u00f2 causare errori di caching Gradle. Eliminare la cartella\u00a0Temp &gt; gradleOut\u00a0risolve generalmente il problema. AR Foundation Issues AR Raycast Hit restituisce Trackable ID errato\u00a0\u2014\u00a0ARRaycastHit.trackableId\u00a0restituisce sempre\u00a00-0. Plane Detection bloccata\u00a0\u2014 La triangolazione mesh entra in un loop infinito in AR Foundation 6.2.1. XRIT Issues AR Raycast Manager aggiunto automaticamente\u00a0\u2014 XRIT 3.x aggiunge un\u00a0AR Raycast Manager\u00a0quando \u00e8 presente un\u00a0XR Raycast Interactor, abilitando lo Spatial Meshing indipendentemente dal flag\u00a0EnableARRaycasting. Questo pu\u00f2 ridurre le performance. Propriet\u00e0 AR Mesh Manager non supportate\u00a0\u2014 L&#8217;uso di propriet\u00e0 non supportate genera avvisi a runtime. AR Camera Manager \/ AR Camera Background Issues\u00a0\u2014 Spostarsi tra scene con\u00a0AR Camera Manager\u00a0abilitato pu\u00f2 causare freeze. Disabilita\u00a0AR Camera Background\u00a0per evitare problemi di rendering. Play In Editor Known Issues Memory Leak in Camera Access Simulation\u00a0\u2014 Risolto in AR Foundation 6.0+. AR Mesh Manager crash senza Normals\u00a0\u2014 Aggiorna AR Foundation o abilita le normals. QR Code Tracking non caricato in Simulation\u00a0\u2014 Non esiste un subsystem di simulazione; aggira i controlli nelle build editor. ScriptableSingleton Warning\u00a0\u2014 Risolto in AR Foundation 5.1.2+."}