{"id":1254,"date":"2026-04-10T10:01:46","date_gmt":"2026-04-10T08:01:46","guid":{"rendered":"https:\/\/www.youbiquo.eu\/geckode\/?page_id=1254"},"modified":"2026-04-10T15:23:55","modified_gmt":"2026-04-10T13:23:55","slug":"guida-campione","status":"publish","type":"page","link":"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/","title":{"rendered":"Guida campione"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1254\" class=\"elementor elementor-1254\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-59a1b7c e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"59a1b7c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4552b6e elementor-widget elementor-widget-heading\" data-id=\"4552b6e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Guida Campione<\/h2>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-af25e4d e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"af25e4d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-03d1ffe e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"03d1ffe\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2d8b463 elementor-widget__width-initial elementor-absolute elementor-widget elementor-widget-table-of-contents\" data-id=\"2d8b463\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;headings_by_tags&quot;:[&quot;h3&quot;,&quot;h4&quot;,&quot;h5&quot;,&quot;h6&quot;],&quot;exclude_headings_by_selector&quot;:&quot;footer&quot;,&quot;marker_view&quot;:&quot;bullets&quot;,&quot;icon&quot;:{&quot;value&quot;:&quot;far fa-dot-circle&quot;,&quot;library&quot;:&quot;fa-regular&quot;,&quot;rendered_tag&quot;:&quot;&lt;svg class=\\&quot;e-font-icon-svg e-far-dot-circle\\&quot; viewBox=\\&quot;0 0 512 512\\&quot; xmlns=\\&quot;http:\\\/\\\/www.w3.org\\\/2000\\\/svg\\&quot;&gt;&lt;path d=\\&quot;M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\\&quot;&gt;&lt;\\\/path&gt;&lt;\\\/svg&gt;&quot;},&quot;no_headings_message&quot;:&quot;Non sono state trovate intestazioni in questa pagina.&quot;,&quot;_position&quot;:&quot;absolute&quot;,&quot;min_height&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"table-of-contents.default\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-toc__header\">\n\t\t\t\t\t\t<h2 class=\"elementor-toc__header-title\">\n\t\t\t\tGuida Campione \u2014 LeonardoXR SDK\t\t\t<\/h2>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div id=\"elementor-toc__2d8b463\" class=\"elementor-toc__body\">\n\t\t\t<div class=\"elementor-toc__spinner-container\">\n\t\t\t\t<svg class=\"elementor-toc__spinner eicon-animation-spin e-font-icon-svg e-eicon-loading\" aria-hidden=\"true\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M500 975V858C696 858 858 696 858 500S696 142 500 142 142 304 142 500H25C25 237 238 25 500 25S975 237 975 500 763 975 500 975Z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-110d8e7 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"110d8e7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5538572 elementor-widget elementor-widget-text-editor\" data-id=\"5538572\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h1 id=\"samples-guide\" class=\"code-line code-active-line\" dir=\"auto\" data-line=\"0\">Guida Campione<\/h1><ul><li class=\"code-line\" dir=\"auto\" data-line=\"2\"><strong>Versione<\/strong> 1.0.2<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"2\"><strong>Dispositivo:<\/strong> Youbiquo Leonardo XR<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"2\"><strong>SDK di base:<\/strong> Snapdragon Spaces 1.0.4<\/li><\/ul><p dir=\"auto\" data-line=\"4\">\u00a0<\/p><p class=\"code-line\" dir=\"auto\" data-line=\"4\">Samples are organised in two sections:<\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"6\"><li class=\"code-line\" dir=\"auto\" data-line=\"6\"><strong>Esempi LeonardoXR:<\/strong> esempi specifici per le funzionalit\u00e0 proprietarie e di interazione di Leonardo XR.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"6\"><strong>Esempi Snapdragon Spaces Core:<\/strong> esempi forniti da Qualcomm per le funzionalit\u00e0 AR\/XR di base.<\/li><\/ul><h2 id=\"importing-samples\" class=\"code-line\" dir=\"auto\" data-line=\"9\"><strong>Importazione di campioni<\/strong><\/h2><h3 id=\"snapdragon-spaces-core-samples\" class=\"code-line\" dir=\"auto\" data-line=\"11\"><strong>Esempi principali di Snapdragon Spaces<\/strong><\/h3><p class=\"code-line\" dir=\"auto\" data-line=\"13\">Il pacchetto Core Samples \u00e8 importabile da <strong>Window &gt; Package Manager &gt; Snapdragon Spaces &gt; Core Samples<\/strong>. Dopo l&#8217;importazione, aggiungi tutte le scene alla build tramite <strong>Window &gt; XR &gt; Snapdragon Spaces &gt; Add Scenes to Build Settings<\/strong>.<\/p><h3 id=\"leonardoxr-core-samples\" class=\"code-line\" dir=\"auto\" data-line=\"15\"><strong>Campioni principali LeonardoXR<\/strong><\/h3><p class=\"code-line\" dir=\"auto\" data-line=\"17\">Il pacchetto LeonardoXR Core Samples \u00e8 importabile da <strong>Window &gt; Package Manager &gt; LeonardoXR &gt; Core Samples<\/strong>. Dopo l&#8217;importazione, le scene sono disponibili nel <code>Samples\/LeonardoXR\/[version]\/Core Samples\/Scenes\/<\/code>.<\/p><hr class=\"code-line\" dir=\"auto\" data-line=\"19\" \/><h2 id=\"leonardoxr-samples\" class=\"code-line\" dir=\"auto\" data-line=\"21\">Campioni LeonardoXR<\/h2><h3 id=\"interaction-scene\" class=\"code-line\" dir=\"auto\" data-line=\"23\">Scena di interazione<\/h3><ul class=\"code-line\" dir=\"auto\" data-line=\"25\"><li class=\"code-line\" dir=\"auto\" data-line=\"25\"><strong>Scena<\/strong>:\u00a0<code>Samples\/LeonardoXR\/...\/Core Samples\/Scenes\/Interaction<\/code><\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"27\">Una scena interattiva completamente preconfigurata per l&#8217;utilizzo con controller e mani. Il giocatore assembla un motore V8 su un tavolo fluttuante fantascientifico, dimostrando le principali funzionalit\u00e0 di interazione dell&#8217;SDK.<\/p><p class=\"code-line\" dir=\"auto\" data-line=\"29\"><strong>Cosa dimostra<\/strong><\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"30\"><li class=\"code-line\" dir=\"auto\" data-line=\"30\">XR Grab Interattivo con aggancio a presa<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"31\">Sistema di affordance (feedback visivo e audio alla selezione e al passaggio del mouse)<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"32\">Menu a mano per la navigazione all&#8217;interno della scena<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"33\">Compatibile sia con il controller (Companion Controller) che con il tracciamento delle mani (modalit\u00e0 Dual Hand).<\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"35\"><strong>Come eseguirlo<\/strong><\/p><p class=\"code-line\" dir=\"auto\" data-line=\"37\">Apri la scena di interazione dagli esempi del Gestore pacchetti, aggiungila alle impostazioni di compilazione e distribuiscila su LeonardoXR. Vedi il sezione seguente. <a href=\"https:\/\/file+.vscode-resource.vscode-cdn.net\/c%3A\/Users\/Aida%20Garfami\/Downloads\/Documentation\/Documentation\/Documentation\/Documentation~\/Samples%20Guide.md#build-and-run\" data-href=\"#build-and-run\">Build and Run<\/a>\u00a0<\/p><p class=\"code-line\" dir=\"auto\" data-line=\"39\"><img decoding=\"async\" id=\"image-0\" src=\"https:\/\/file+.vscode-resource.vscode-cdn.net\/c%3A\/Users\/Aida%20Garfami\/Downloads\/Documentation\/Documentation\/Documentation\/Documentation~\/imgs\/sample_project\/TP_open.png\" alt=\"\" data-src=\"imgs\/sample_project\/TP_open.png\" data-vscode-context=\"{&quot;webviewSection&quot;:&quot;localImage&quot;,&quot;id&quot;:&quot;image-0&quot;,&quot;preventDefaultContextMenuItems&quot;:true,&quot;resource&quot;:&quot;file:\/\/\/c%3A\/Users\/Aida%20Garfami\/Downloads\/Documentation\/Documentation\/Documentation\/Documentation~\/Samples%20Guide.md&quot;,&quot;imageSource&quot;:&quot;imgs\/sample_project\/TP_open.png&quot;}\" \/><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone wp-image-1206 size-full\" src=\"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_open.png\" alt=\"\" width=\"2559\" height=\"1325\" srcset=\"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_open.png 2559w, https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_open-300x155.png 300w, https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_open-1024x530.png 1024w, https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_open-768x398.png 768w, https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_open-1536x795.png 1536w, https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_open-2048x1060.png 2048w\" sizes=\"(max-width: 2559px) 100vw, 2559px\" \/><\/p><hr class=\"code-line\" dir=\"auto\" data-line=\"41\" \/><h3 id=\"hand-gestures-scene\" class=\"code-line\" dir=\"auto\" data-line=\"43\">Scena dei gesti delle mani<\/h3><ul class=\"code-line\" dir=\"auto\" data-line=\"45\"><li class=\"code-line\" dir=\"auto\" data-line=\"45\"><strong>Scena<\/strong>:\u00a0<code>Samples\/LeonardoXR\/...\/Core Samples\/Scenes\/Hand Gestures<\/code><\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"47\">Dimostra il tracciamento della mano, il riconoscimento di gesti personalizzati e l&#8217;ispezione in tempo reale della forma della mano su LeonardoXR.<\/p><p class=\"code-line\" dir=\"auto\" data-line=\"49\"><strong>Cosa dimostra<\/strong><\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"50\"><li class=\"code-line\" dir=\"auto\" data-line=\"50\">Definizione di gesti personalizzati utilizzando le risorse di posa di <code>XRHandShape<\/code><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"51\">Icone gestuali e feedback visivo per i gesti riconosciuti.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"52\"><code>XRHandGestureDebugUI<\/code> per l&#8217;ispezione in tempo reale dello stato congiunto e gestuale.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"53\"><pre id=\"tw-target-text\" class=\"tw-data-text tw-text-large tw-ta\" dir=\"ltr\" tabindex=\"-1\" role=\"text\" data-placeholder=\"Translation\" data-ved=\"2ahUKEwi966ef5-KTAxWygP0HHfYvDFsQ3ewLegQIDBAV\" aria-label=\"Translated text: Integrazione con il sistema di gesti XR Hands\"><span class=\"Y2IQFc\" lang=\"it\">Integrazione con il sistema di gesti <\/span>XR Hands<\/pre><\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"55\"><strong>Prerequisiti:<\/strong> Pacchetto XR Hands installato con i campioni Gestures e Hand Visualizer importati.<\/p><hr class=\"code-line\" dir=\"auto\" data-line=\"57\" \/><h3 id=\"dual-camera-access-scene\" class=\"code-line\" dir=\"auto\" data-line=\"59\">Scena di accesso con doppia fotocamera<\/h3><ul class=\"code-line\" dir=\"auto\" data-line=\"61\"><li class=\"code-line\" dir=\"auto\" data-line=\"61\"><strong>Scena<\/strong>:\u00a0<code>Samples\/LeonardoXR\/...\/Core Samples\/Scenes\/Dual Camera Access<\/code><\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"63\">Dimostra l&#8217;accesso sincronizzato a entrambe le fotocamere Leonardo XR utilizzando l&#8217;API Android Camera2 tramite un plugin Java nativo.<\/p><p class=\"code-line\" dir=\"auto\" data-line=\"65\"><strong>Cosa dimostra<\/strong><\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"66\"><li class=\"code-line\" dir=\"auto\" data-line=\"66\"><pre id=\"tw-target-text\" class=\"tw-data-text tw-text-large tw-ta\" dir=\"ltr\" tabindex=\"-1\" role=\"text\" data-placeholder=\"Translation\" data-ved=\"2ahUKEwi966ef5-KTAxWygP0HHfYvDFsQ3ewLegQIDBAV\" aria-label=\"Translated text: Recupero diretto dei fotogrammi della fotocamera tramite l'API Android Camera2.\"><span class=\"Y2IQFc\" lang=\"it\">Recupero diretto dei fotogrammi della fotocamera tramite l'API Android<\/span><code style=\"font-size: 16px;\">Camera2<\/code><\/pre><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"67\">Integrazione del plugin nativo (<code>CameraAccessUtility.cs che funge da ponte verso<br \/><\/code> <code>Camera2StateCallback.java<\/code>)<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"68\">Visualizzazione delle informazioni della fotocamera e rendering dell&#8217;inquadratura nel visore<\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"70\"><strong>Prerequisiti<\/strong>: Accesso alla doppia fotocamera abilitato nel gruppo di funzionalit\u00e0 di LeonardoXR.<\/p><blockquote class=\"code-line\" dir=\"auto\" data-line=\"72\"><p class=\"code-line\" dir=\"auto\" data-line=\"72\"><strong>DOCUMENTAZIONE IN CORSO<\/strong> La documentazione dettagliata dell&#8217;API e la guida alla configurazione saranno disponibili in una versione futura.<\/p><\/blockquote><hr class=\"code-line\" dir=\"auto\" data-line=\"74\" \/><h3 id=\"ai-image-analyzer-scene\" class=\"code-line\" dir=\"auto\" data-line=\"76\">Scena di analisi delle immagini tramite IA<\/h3><ul class=\"code-line\" dir=\"auto\" data-line=\"78\"><li class=\"code-line\" dir=\"auto\" data-line=\"78\"><strong>Scena<\/strong>:\u00a0<code>Samples\/LeonardoXR\/...\/Core Samples\/Scenes\/GPT Image Analyzer<\/code><\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"80\">Dimostrazione di analisi delle immagini basata sull&#8217;intelligenza artificiale su LeonardoXR utilizzando le API di visione GPT, con output audio tramite Google Text-to-Speech.<\/p><p class=\"code-line\" dir=\"auto\" data-line=\"82\"><strong>Cosa dimostra<\/strong><\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"83\"><li class=\"code-line\" dir=\"auto\" data-line=\"83\">Acquisizione di fotogrammi dalla fotocamera del dispositivo<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"84\">Invio di frame a un&#8217;API di analisi delle immagini GPT (<code>GPTImageAnalyzer.cs<\/code>)<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"85\">Conversione della risposta testuale in voce e riproduzione. (<code>GoogleTextToSpeechConverter.cs<\/code>)<\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"87\"><strong>Prerequisiti<\/strong>: Chiavi API GPT e Google TTS valide configurate nella scena.<\/p><hr class=\"code-line\" dir=\"auto\" data-line=\"89\" \/><h3 id=\"webxr-scene\" class=\"code-line\" dir=\"auto\" data-line=\"91\">Scena WebXR\u00a0<\/h3><ul class=\"code-line\" dir=\"auto\" data-line=\"93\"><li class=\"code-line\" dir=\"auto\" data-line=\"93\"><strong>Scena<\/strong>:\u00a0<code>Samples\/LeonardoXR\/...\/Core Samples\/Scenes\/WebXR<\/code><\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"95\">Una scena preconfigurata per l&#8217;esportazione in WebXR, destinata al browser Wolvic preinstallato su LeonardoXR.<\/p><p class=\"code-line\" dir=\"auto\" data-line=\"97\"><strong>Cosa dimostra<\/strong><\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"98\"><li class=\"code-line\" dir=\"auto\" data-line=\"98\"><pre id=\"tw-target-text\" class=\"tw-data-text tw-text-large tw-ta\" dir=\"ltr\" tabindex=\"-1\" role=\"text\" data-placeholder=\"Translation\" data-ved=\"2ahUKEwi966ef5-KTAxWygP0HHfYvDFsQ3ewLegQIDBAV\" aria-label=\"Translated text: Configurazione di un simulatore XR compatibile con WebXR utilizzando il prefab XRRig WebXR (Controllers).\"><span class=\"Y2IQFc\" lang=\"it\">Configurazione di un simulatore XR compatibile con WebXR utilizzando il prefab<\/span><code style=\"font-size: 16px;\">XRRig WebXR (Controllers)<\/code><\/pre><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"99\">Come creare un progetto Unity per WebXR utilizzando l&#8217;utility di esportazione WebXR di De-Panther.<\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"101\"><strong>Prerequisites<\/strong>:<\/p><pre id=\"tw-target-text\" class=\"tw-data-text tw-text-large tw-ta\" dir=\"ltr\" tabindex=\"-1\" role=\"text\" data-placeholder=\"Translation\" data-ved=\"2ahUKEwi966ef5-KTAxWygP0HHfYvDFsQ3ewLegQIDBAV\" aria-label=\"Translated text: Scarica e installa l'utilit\u00e0 di esportazione De-Panther WebXR prima di iniziare la compilazione.\"><span class=\"Y2IQFc\" lang=\"it\">Scarica e installa l'utilit\u00e0 di esportazione <\/span><a href=\"https:\/\/github.com\/De-Panther\/unity-webxr-export\" data-href=\"https:\/\/github.com\/De-Panther\/unity-webxr-export\">De-Panther WebXR Export Utility <\/a><br \/><span class=\"Y2IQFc\" lang=\"it\">prima di iniziare la compilazione.<\/span><\/pre><hr class=\"code-line\" dir=\"auto\" data-line=\"103\" \/><h2 id=\"snapdragon-spaces-core-samples-1\" class=\"code-line\" dir=\"auto\" data-line=\"105\">Esempi principali di Snapdragon Spaces<\/h2><h3 id=\"local-anchors-sample\" class=\"code-line\" dir=\"auto\" data-line=\"107\">Esempio di ancore locali<\/h3><ul class=\"code-line\" dir=\"auto\" data-line=\"109\"><li class=\"code-line\" dir=\"auto\" data-line=\"109\"><strong>Scena<\/strong>:\u00a0<code>Samples\/Snapdragon Spaces\/...\/Core Samples\/Scenes\/Anchor<\/code><\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"111\">Questo esempio mostra come creare e distruggere punti di ancoraggio locali per tracciare con precisione un punto nel mondo reale. Richiede che la funzione <strong>&#8220;Spacial Anchors&#8221;<\/strong> sia abilitata in OpenXR.<\/p><p class=\"code-line\" dir=\"auto\" data-line=\"113\"><strong>Come funziona<\/strong><\/p><p class=\"code-line\" dir=\"auto\" data-line=\"115\">Un dispositivo di posizionamento trasparente fluttua a 1 metro di distanza dalla telecamera. Quando l&#8217;opzione &#8220;Posiziona ancoraggio sulle superfici&#8221; \u00e8 abilitata, un raggio viene proiettato in avanti a ogni fotogramma. Quando una superficie viene colpita, il dispositivo diventa giallo. Toccando il touchpad o utilizzando l&#8217;interattore oculare si crea un ARAnchor con un dispositivo di tracciamento.<\/p><pre><code class=\"code-line language-csharp\" dir=\"auto\" data-line=\"117\"><span class=\"hljs-function\"><span class=\"hljs-keyword\"><span style=\"color: #003366;\">private<\/span><\/span><span style=\"color: #003366;\"> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">OnAnchorsChanged<\/span>(<span class=\"hljs-params\">ARAnchorsChangedEventArgs args<\/span>)<\/span><\/span><span style=\"color: #003366;\">\n{\n    <span class=\"hljs-keyword\">foreach<\/span> (<span class=\"hljs-keyword\">var<\/span> anchor <span class=\"hljs-keyword\">in<\/span> args.updated)\n    {\n        Destroy(anchor.transform.GetChild(<span class=\"hljs-number\">0<\/span>).gameObject);\n        <span class=\"hljs-keyword\">var<\/span> newGizmo = Instantiate(\n            anchor.trackingState == TrackingState.None\n                ? GizmoUntrackedAnchor\n                : GizmoTrackedAnchor);\n        newGizmo.transform.SetParent(anchor.transform, <span class=\"hljs-literal\">false<\/span>);\n    }\n}\n<\/span><\/code><\/pre><p class=\"code-line\" dir=\"auto\" data-line=\"132\"><strong>Salvataggio, eliminazione e caricamento degli ancoraggi<\/strong><\/p><ul class=\"code-line\" dir=\"auto\" data-line=\"134\"><li class=\"code-line\" dir=\"auto\" data-line=\"134\"><pre class=\"tw-data-text tw-text-large tw-ta\" dir=\"ltr\" tabindex=\"-1\" role=\"text\" data-placeholder=\"Translation\" data-ved=\"2ahUKEwi966ef5-KTAxWygP0HHfYvDFsQ3ewLegQIDBAV\" aria-label=\"Translated text: Abilita l'opzione &quot;Salva i nuovi ancoraggi nell'archivio locale&quot; per rendere persistente ogni nuovo ancoraggio.\"><span class=\"Y2IQFc\" lang=\"it\">Abilita l'opzione <\/span><strong><em>Save new anchors <\/em><\/strong><span class=\"Y2IQFc\" lang=\"it\">nell'archivio locale per rendere persistente ogni nuovo ancoraggio.<\/span><\/pre><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"135\">Cubo bianco sul dispositivo = ancoraggio salvato e tracciato; cubo rosso = non tracciato.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"136\"><strong>Load All Saved Anchors<\/strong> \u2014 carica e tenta di localizzare tutti gli ancoraggi memorizzati.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"137\"><strong>Clear Store<\/strong> \u2014 Elimina tutti gli ancoraggi memorizzati (non distrugge gli ancoraggi gi\u00e0 caricati).<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"138\"><strong>Destroy All Anchors<\/strong> \u2014 distrugge tutti gli oggetti di gioco di ancoraggio attivi (con un breve ritardo).<\/li><\/ul><hr class=\"code-line\" dir=\"auto\" data-line=\"140\" \/><h3 id=\"hand-tracking-sample\" class=\"code-line\" dir=\"auto\" data-line=\"142\">Esempio di tracciamento delle mani<\/h3><ul class=\"code-line\" dir=\"auto\" data-line=\"144\"><li class=\"code-line\" dir=\"auto\" data-line=\"144\"><strong>Scena<\/strong>:\u00a0<code>Samples\/...\/Core Samples\/Scenes\/HandTracking<\/code><\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"146\">Dimostra la visualizzazione delle articolazioni della mano e il riconoscimento dei gesti tramite il pacchetto di interazione QCHT. Richiede i pacchetti Hand Tracking e QCHT\/XR Hands.<\/p><hr class=\"code-line\" dir=\"auto\" data-line=\"148\" \/><h3 id=\"hit-testing-sample\" class=\"code-line\" dir=\"auto\" data-line=\"150\">Esempio di hit test<\/h3><ul class=\"code-line\" dir=\"auto\" data-line=\"152\"><li class=\"code-line\" dir=\"auto\" data-line=\"152\"><strong>Scena<\/strong>:\u00a0<code>Samples\/...\/Core Samples\/Scenes\/HitTesting<\/code><\/li><\/ul><pre id=\"tw-target-text\" class=\"tw-data-text tw-text-large tw-ta\" dir=\"ltr\" tabindex=\"-1\" role=\"text\" data-placeholder=\"Translation\" data-ved=\"2ahUKEwi966ef5-KTAxWygP0HHfYvDFsQ3ewLegQIDBAV\" aria-label=\"Translated text: Dimostra il rilevamento continuo di collisioni tramite raycast su piani e mesh del mondo reale utilizzando ARRaycastManager. Mostra come posizionare oggetti virtuali sulle superfici rilevate.\"><span class=\"Y2IQFc\" lang=\"it\">Dimostra il rilevamento continuo di collisioni tramite raycast su piani e mesh del mondo reale utilizzando<\/span> <code>ARRaycastManager<\/code>. Mostra come posizionare oggetti virtuali su superfici rilevate.<\/pre><hr class=\"code-line\" dir=\"auto\" data-line=\"156\" \/><h3 id=\"image-tracking-sample\" class=\"code-line\" dir=\"auto\" data-line=\"158\">Esempio di monitoraggio delle immagini<\/h3><ul class=\"code-line\" dir=\"auto\" data-line=\"160\"><li class=\"code-line\" dir=\"auto\" data-line=\"160\"><strong>Scena<\/strong>:\u00a0<code>Samples\/...\/Core Samples\/Scenes\/ImageTracking<\/code><\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"162\">Dimostra il tracciamento di immagini di riferimento stampate e la sovrapposizione di contenuti virtuali. Supporta librerie di immagini statiche e modificabili.<\/p><hr class=\"code-line\" dir=\"auto\" data-line=\"164\" \/><h3 id=\"plane-detection-sample\" class=\"code-line\" dir=\"auto\" data-line=\"166\">Esempio di rilevamento aereo<\/h3><ul class=\"code-line\" dir=\"auto\" data-line=\"168\"><li class=\"code-line\" dir=\"auto\" data-line=\"168\"><strong>Scena<\/strong>:\u00a0<code>Samples\/...\/Core Samples\/Scenes\/PlaneDetection<\/code><\/li><\/ul><pre id=\"tw-target-text\" class=\"tw-data-text tw-text-large tw-ta\" dir=\"ltr\" tabindex=\"-1\" role=\"text\" data-placeholder=\"Translation\" data-ved=\"2ahUKEwi966ef5-KTAxWygP0HHfYvDFsQ3ewLegQIDBAV\" aria-label=\"Translated text: Dimostra il rilevamento e la visualizzazione di piani orizzontali e verticali tramite ARPlaneManager. Supporta le modalit\u00e0 di rilevamento e i piani convessi opzionali.\"><span class=\"Y2IQFc\" lang=\"it\">Dimostra il rilevamento e la visualizzazione di piani orizzontali e verticali tramite <\/span> <code>ARPlaneManager<\/code>. Supporta modalit\u00e0 di rilevamento e piani di inviluppo convesso opzionali.<\/pre><hr class=\"code-line\" dir=\"auto\" data-line=\"172\" \/><h3 id=\"camera-frame-access-sample\" class=\"code-line\" dir=\"auto\" data-line=\"174\">Esempio di accesso al frame della fotocamera<\/h3><ul class=\"code-line\" dir=\"auto\" data-line=\"176\"><li class=\"code-line\" dir=\"auto\" data-line=\"176\"><strong>Scena<\/strong>:\u00a0<code>Samples\/...\/Core Samples\/Scenes\/CameraFrameAccess<\/code><\/li><\/ul><pre class=\"tw-data-text tw-text-large tw-ta\" dir=\"ltr\" tabindex=\"-1\" role=\"text\" data-placeholder=\"Translation\" data-ved=\"2ahUKEwi966ef5-KTAxWygP0HHfYvDFsQ3ewLegQIDBAV\" aria-label=\"Translated text: Dimostra il recupero dei frame raw della telecamera (YUV\/YUYV) utilizzando ARCameraManager. Include informazioni estrinseche del sensore, query sul conteggio delle telecamere e accesso ai frame accelerato dalla GPU. Richiede l'opzione &quot;Consenti codice 'non sicuro'&quot; nelle impostazioni del lettore.\"><span class=\"Y2IQFc\" lang=\"it\">Dimostra il recupero dei frame raw della telecamera<\/span> (YUV \/ YUYV) <span class=\"Y2IQFc\" lang=\"it\">utilizzando<\/span><code>ARCameraManager<\/code>. <span class=\"Y2IQFc\" lang=\"it\">Include informazioni estrinseche del sensore, query sul conteggio delle telecamere e accesso ai frame accelerato dalla GPU. <\/span><span class=\"Y2IQFc\" lang=\"it\">Richiede l'opzione <\/span><strong>Allow 'unsafe' Code <\/strong><span class=\"Y2IQFc\" lang=\"it\">nelle impostazioni del lettore.<\/span><\/pre><hr class=\"code-line\" dir=\"auto\" data-line=\"180\" \/><h3 id=\"spatial-meshing-sample\" class=\"code-line\" dir=\"auto\" data-line=\"182\">Esempio di mesh spaziale<\/h3><ul class=\"code-line\" dir=\"auto\" data-line=\"184\"><li class=\"code-line\" dir=\"auto\" data-line=\"184\"><strong>Scena<\/strong>:\u00a0<code>Samples\/...\/Core Samples\/Scenes\/SpatialMeshing<\/code><\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"186\">Dimostra la creazione di mesh ambientali in tempo reale utilizzando <code>ARMeshManager<\/code>. <span class=\"Y2IQFc\" lang=\"it\">Include un cursore per la regolazione dell&#8217;opacit\u00e0 e il componente opzionale <\/span><code>SpacesARMeshManagerConfig.<\/code><\/p><hr class=\"code-line\" dir=\"auto\" data-line=\"188\" \/><h3 id=\"qr-code-tracking-sample\" class=\"code-line\" dir=\"auto\" data-line=\"190\">Esempio di tracciamento tramite codice QR<\/h3><ul class=\"code-line\" dir=\"auto\" data-line=\"192\"><li class=\"code-line\" dir=\"auto\" data-line=\"192\"><strong>Scena<\/strong>:\u00a0<code>Samples\/...\/Core Samples\/Scenes\/QRCodeTracking<\/code><\/li><\/ul><p>Dimostra la scansione e il tracciamento dei codici QR tramite <code>SpacesQrCodeManager<\/code>. <span class=\"Y2IQFc\" lang=\"it\">Sono disponibili diverse modalit\u00e0 di tracciamento.<\/span><\/p><hr class=\"code-line\" dir=\"auto\" data-line=\"196\" \/><h3 id=\"xr-interaction-toolkit-sample\" class=\"code-line\" dir=\"auto\" data-line=\"198\">Esempio di toolkit di interazione XR<\/h3><ul class=\"code-line\" dir=\"auto\" data-line=\"200\"><li class=\"code-line\" dir=\"auto\" data-line=\"200\"><strong>Scena<\/strong>:\u00a0<code>Samples\/...\/Core Samples\/Scenes\/XRInteractionToolkit<\/code><\/li><\/ul><p class=\"code-line\" dir=\"auto\" data-line=\"202\">Dimostra le interazioni XRIT standard (interagenti a raggio, interagenti diretti, teletrasporto) in un progetto Snapdragon Spaces. Compatibile con la configurazione LeonardoXR.<\/p><hr class=\"code-line\" dir=\"auto\" data-line=\"204\" \/><h3 id=\"composition-layer-components\" class=\"code-line\" dir=\"auto\" data-line=\"206\">Componenti dello strato di composizione<\/h3><p class=\"code-line\" dir=\"auto\" data-line=\"208\"><strong>Spaces Composition Layer<\/strong> Esegue il rendering delle texture direttamente sul visore, bypassando le fasi di post-elaborazione. I tipi di geometria supportati sono Quad, Cilindro, Sfera e Cubo. Utile per interfacce utente ad alta nitidezza o elementi che devono mantenere la qualit\u00e0 indipendentemente dagli effetti della scena.<\/p><hr class=\"code-line\" dir=\"auto\" data-line=\"210\" \/><h3 id=\"additional-samples\" class=\"code-line\" dir=\"auto\" data-line=\"212\">Campioni aggiuntivi<\/h3><table class=\"code-line\" dir=\"auto\" data-line=\"214\"><thead class=\"code-line\" dir=\"auto\" data-line=\"214\"><tr class=\"code-line\" dir=\"auto\" data-line=\"214\"><th>Sample<\/th><th>Description<\/th><\/tr><\/thead><tbody class=\"code-line\" dir=\"auto\" data-line=\"216\"><tr class=\"code-line\" dir=\"auto\" data-line=\"216\"><td>Display Refresh Rate<\/td><td>Query and runtime setting of display refresh rate via the\u00a0<code>XR_EXT_display_refresh_rate<\/code>\u00a0extension.<\/td><\/tr><tr class=\"code-line\" dir=\"auto\" data-line=\"217\"><td>Performance Settings<\/td><td>Setting CPU\/GPU performance levels via the\u00a0<code>XR_EXT_performance_settings<\/code>\u00a0extension.<\/td><\/tr><\/tbody><\/table><hr class=\"code-line\" dir=\"auto\" data-line=\"219\" \/><h2 id=\"build-and-run\" class=\"code-line\" dir=\"auto\" data-line=\"221\">Costruisci ed Esegui<\/h2><p class=\"code-line\" dir=\"auto\" data-line=\"223\">Questa sezione descrive come creare e distribuire un&#8217;applicazione di esempio su LeonardoXR.<\/p><h3 id=\"1-enable-developer-mode\" class=\"code-line\" dir=\"auto\" data-line=\"225\">1. Abilita la modalit\u00e0 sviluppatore<\/h3><p class=\"code-line\" dir=\"auto\" data-line=\"227\">Per installare app tramite sideload, \u00e8 necessario abilitare la Modalit\u00e0 sviluppatore sul LeonardoXR. Consultare il capitolo Utilit\u00e0 e suggerimenti <a href=\"https:\/\/file+.vscode-resource.vscode-cdn.net\/c%3A\/Users\/Aida%20Garfami\/Downloads\/Documentation\/Documentation\/Documentation\/Documentation~\/Utilities%20and%20Tips.md\" data-href=\"Utilities%20and%20Tips.md\">Utilities and Tips<\/a> per istruzioni dettagliate.<\/p><h3 id=\"2-connect-the-device\" class=\"code-line\" dir=\"auto\" data-line=\"229\">2. Connetti il \u200b\u200bdispositivo<\/h3><p class=\"code-line\" dir=\"auto\" data-line=\"231\">Collega le cuffie LeonardoXR al computer tramite un cavo USB. Al primo collegamento, sul visore comparir\u00e0 una finestra di dialogo che ti chieder\u00e0 di confermare la connessione: accettala.<\/p><h3 id=\"3-add-scenes-to-build-settings\" class=\"code-line\" dir=\"auto\" data-line=\"233\">3. Aggiungi scene alle impostazioni di compilazione<\/h3><ol class=\"code-line\" dir=\"auto\" data-line=\"235\"><li class=\"code-line\" dir=\"auto\" data-line=\"235\">Dal menu principale di Unity seleziona <strong>File &gt; Build Settings\u2026<\/strong><\/li><li class=\"code-line\" dir=\"auto\" data-line=\"236\">Assicurati che le scene che vuoi costruire siano elencate nell&#8217;elenco <strong>Scenes in Build<\/strong>. Aggiungili trascinandoli dal pannello Progetto o facendo clic <strong>Add Open Scenes<\/strong>.<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"237\">In alternativa, utilizza <strong>Window &gt; XR &gt; Snapdragon Spaces &gt; Add Scenes to Build Settings<\/strong> per aggiungere automaticamente tutte le scene di esempio di Snapdragon Spaces.<\/li><\/ol><h3 id=\"4-select-the-run-device\" class=\"code-line\" dir=\"auto\" data-line=\"239\">4. Seleziona il dispositivo Esegui<\/h3><p class=\"code-line\" dir=\"auto\" data-line=\"241\">nella finestra <strong>Build Settings<\/strong>, scegli il tuo LeonardoXR nel campo di <strong>Run Device<\/strong>. Se il dispositivo non \u00e8 presente nell&#8217;elenco, fai clic <strong>Refresh<\/strong>.<\/p><h3 id=\"5-build-and-run\" class=\"code-line\" dir=\"auto\" data-line=\"243\">5. Build and Run<\/h3><ol class=\"code-line\" dir=\"auto\" data-line=\"245\"><li class=\"code-line\" dir=\"auto\" data-line=\"245\">Clic <strong>Build and Run<\/strong>.<\/li><\/ol><p class=\"code-line\" dir=\"auto\" data-line=\"247\"><img decoding=\"async\" class=\"alignnone wp-image-1207 size-full\" src=\"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_build.png\" alt=\"\" width=\"1084\" height=\"735\" srcset=\"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_build.png 1084w, https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_build-300x203.png 300w, https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_build-1024x694.png 1024w, https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_build-768x521.png 768w\" sizes=\"(max-width: 1084px) 100vw, 1084px\" \/><img decoding=\"async\" id=\"image-1\" src=\"https:\/\/file+.vscode-resource.vscode-cdn.net\/c%3A\/Users\/Aida%20Garfami\/Downloads\/Documentation\/Documentation\/Documentation\/Documentation~\/imgs\/sample_project\/TP_build.png\" alt=\"\" data-src=\"imgs\/sample_project\/TP_build.png\" data-vscode-context=\"{&quot;webviewSection&quot;:&quot;localImage&quot;,&quot;id&quot;:&quot;image-1&quot;,&quot;preventDefaultContextMenuItems&quot;:true,&quot;resource&quot;:&quot;file:\/\/\/c%3A\/Users\/Aida%20Garfami\/Downloads\/Documentation\/Documentation\/Documentation\/Documentation~\/Samples%20Guide.md&quot;,&quot;imageSource&quot;:&quot;imgs\/sample_project\/TP_build.png&quot;}\" \/><\/p><ol class=\"code-line\" dir=\"auto\" start=\"2\" data-line=\"249\"><li class=\"code-line\" dir=\"auto\" data-line=\"249\">Nella finestra <strong>Build Android<\/strong>, Inserisci un nome per il file APK (e.g. <code>LeonardoXR_Demo.apk<\/code>).<\/li><li class=\"code-line\" dir=\"auto\" data-line=\"250\">Unity compiler\u00e0 e distribuir\u00e0 l&#8217;applicazione. L&#8217;app si avvier\u00e0 automaticamente sul visore.<\/li><\/ol><blockquote class=\"code-line\" dir=\"auto\" data-line=\"252\"><p class=\"code-line\" dir=\"auto\" data-line=\"252\">Se l&#8217;app non si avvia automaticamente, cercala nel cassetto delle app del dispositivo e aprila manualmente.<\/p><\/blockquote>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Guida Campione Guida Campione \u2014 LeonardoXR SDK Guida Campione Versione 1.0.2 Dispositivo: Youbiquo Leonardo XR SDK di base: Snapdragon Spaces 1.0.4 \u00a0 Samples are organised in two sections: Esempi LeonardoXR: esempi specifici per le funzionalit\u00e0 proprietarie e di interazione di Leonardo XR. Esempi Snapdragon Spaces Core: esempi forniti da Qualcomm per le funzionalit\u00e0 AR\/XR di base. Importazione di campioni Esempi principali di Snapdragon Spaces Il pacchetto Core Samples \u00e8 importabile da Window &gt; Package Manager &gt; Snapdragon Spaces &gt; Core Samples. Dopo l&#8217;importazione, aggiungi tutte le scene alla build tramite Window &gt; XR &gt; Snapdragon Spaces &gt; Add Scenes to Build Settings. Campioni principali LeonardoXR Il pacchetto LeonardoXR Core Samples \u00e8 importabile da Window &gt; Package Manager &gt; LeonardoXR &gt; Core Samples. Dopo l&#8217;importazione, le scene sono disponibili nel Samples\/LeonardoXR\/[version]\/Core Samples\/Scenes\/. Campioni LeonardoXR Scena di interazione Scena:\u00a0Samples\/LeonardoXR\/&#8230;\/Core Samples\/Scenes\/Interaction Una scena interattiva completamente preconfigurata per l&#8217;utilizzo con controller e mani. Il giocatore assembla un motore V8 su un tavolo fluttuante fantascientifico, dimostrando le principali funzionalit\u00e0 di interazione dell&#8217;SDK. Cosa dimostra XR Grab Interattivo con aggancio a presa Sistema di affordance (feedback visivo e audio alla selezione e al passaggio del mouse) Menu a mano per la navigazione all&#8217;interno della scena Compatibile sia con il controller (Companion Controller) che con il tracciamento delle mani (modalit\u00e0 Dual Hand). Come eseguirlo Apri la scena di interazione dagli esempi del Gestore pacchetti, aggiungila alle impostazioni di compilazione e distribuiscila su LeonardoXR. Vedi il sezione seguente. Build and Run\u00a0 Scena dei gesti delle mani Scena:\u00a0Samples\/LeonardoXR\/&#8230;\/Core Samples\/Scenes\/Hand Gestures Dimostra il tracciamento della mano, il riconoscimento di gesti personalizzati e l&#8217;ispezione in tempo reale della forma della mano su LeonardoXR. Cosa dimostra Definizione di gesti personalizzati utilizzando le risorse di posa di XRHandShape Icone gestuali e feedback visivo per i gesti riconosciuti. XRHandGestureDebugUI per l&#8217;ispezione in tempo reale dello stato congiunto e gestuale. Integrazione con il sistema di gesti XR Hands Prerequisiti: Pacchetto XR Hands installato con i campioni Gestures e Hand Visualizer importati. Scena di accesso con doppia fotocamera Scena:\u00a0Samples\/LeonardoXR\/&#8230;\/Core Samples\/Scenes\/Dual Camera Access Dimostra l&#8217;accesso sincronizzato a entrambe le fotocamere Leonardo XR utilizzando l&#8217;API Android Camera2 tramite un plugin Java nativo. Cosa dimostra Recupero diretto dei fotogrammi della fotocamera tramite l&#8217;API AndroidCamera2 Integrazione del plugin nativo (CameraAccessUtility.cs che funge da ponte verso Camera2StateCallback.java) Visualizzazione delle informazioni della fotocamera e rendering dell&#8217;inquadratura nel visore Prerequisiti: Accesso alla doppia fotocamera abilitato nel gruppo di funzionalit\u00e0 di LeonardoXR. DOCUMENTAZIONE IN CORSO La documentazione dettagliata dell&#8217;API e la guida alla configurazione saranno disponibili in una versione futura. Scena di analisi delle immagini tramite IA Scena:\u00a0Samples\/LeonardoXR\/&#8230;\/Core Samples\/Scenes\/GPT Image Analyzer Dimostrazione di analisi delle immagini basata sull&#8217;intelligenza artificiale su LeonardoXR utilizzando le API di visione GPT, con output audio tramite Google Text-to-Speech. Cosa dimostra Acquisizione di fotogrammi dalla fotocamera del dispositivo Invio di frame a un&#8217;API di analisi delle immagini GPT (GPTImageAnalyzer.cs) Conversione della risposta testuale in voce e riproduzione. (GoogleTextToSpeechConverter.cs) Prerequisiti: Chiavi API GPT e Google TTS valide configurate nella scena. Scena WebXR\u00a0 Scena:\u00a0Samples\/LeonardoXR\/&#8230;\/Core Samples\/Scenes\/WebXR Una scena preconfigurata per l&#8217;esportazione in WebXR, destinata al browser Wolvic preinstallato su LeonardoXR. Cosa dimostra Configurazione di un simulatore XR compatibile con WebXR utilizzando il prefabXRRig WebXR (Controllers) Come creare un progetto Unity per WebXR utilizzando l&#8217;utility di esportazione WebXR di De-Panther. Prerequisites: Scarica e installa l&#8217;utilit\u00e0 di esportazione De-Panther WebXR Export Utility prima di iniziare la compilazione. Esempi principali di Snapdragon Spaces Esempio di ancore locali Scena:\u00a0Samples\/Snapdragon Spaces\/&#8230;\/Core Samples\/Scenes\/Anchor Questo esempio mostra come creare e distruggere punti di ancoraggio locali per tracciare con precisione un punto nel mondo reale. Richiede che la funzione &#8220;Spacial Anchors&#8221; sia abilitata in OpenXR. Come funziona Un dispositivo di posizionamento trasparente fluttua a 1 metro di distanza dalla telecamera. Quando l&#8217;opzione &#8220;Posiziona ancoraggio sulle superfici&#8221; \u00e8 abilitata, un raggio viene proiettato in avanti a ogni fotogramma. Quando una superficie viene colpita, il dispositivo diventa giallo. Toccando il touchpad o utilizzando l&#8217;interattore oculare si crea un ARAnchor con un dispositivo di tracciamento. 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); } } Salvataggio, eliminazione e caricamento degli ancoraggi Abilita l&#8217;opzione Save new anchors nell&#8217;archivio locale per rendere persistente ogni nuovo ancoraggio. Cubo bianco sul dispositivo = ancoraggio salvato e tracciato; cubo rosso = non tracciato. Load All Saved Anchors \u2014 carica e tenta di localizzare tutti gli ancoraggi memorizzati. Clear Store \u2014 Elimina tutti gli ancoraggi memorizzati (non distrugge gli ancoraggi gi\u00e0 caricati). Destroy All Anchors \u2014 distrugge tutti gli oggetti di gioco di ancoraggio attivi (con un breve ritardo). Esempio di tracciamento delle mani Scena:\u00a0Samples\/&#8230;\/Core Samples\/Scenes\/HandTracking Dimostra la visualizzazione delle articolazioni della mano e il riconoscimento dei gesti tramite il pacchetto di interazione QCHT. Richiede i pacchetti Hand Tracking e QCHT\/XR Hands. Esempio di hit test Scena:\u00a0Samples\/&#8230;\/Core Samples\/Scenes\/HitTesting Dimostra il rilevamento continuo di collisioni tramite raycast su piani e mesh del mondo reale utilizzando ARRaycastManager. Mostra come posizionare oggetti virtuali su superfici rilevate. Esempio di monitoraggio delle immagini Scena:\u00a0Samples\/&#8230;\/Core Samples\/Scenes\/ImageTracking Dimostra il tracciamento di immagini di riferimento stampate e la sovrapposizione di contenuti virtuali. Supporta librerie di immagini statiche e modificabili. Esempio di rilevamento aereo Scena:\u00a0Samples\/&#8230;\/Core Samples\/Scenes\/PlaneDetection Dimostra il rilevamento e la visualizzazione di piani orizzontali e verticali tramite ARPlaneManager. Supporta modalit\u00e0 di rilevamento e piani di inviluppo convesso opzionali. Esempio di accesso al frame della fotocamera Scena:\u00a0Samples\/&#8230;\/Core Samples\/Scenes\/CameraFrameAccess Dimostra il recupero dei frame raw della telecamera (YUV \/ YUYV) utilizzandoARCameraManager. Include informazioni estrinseche del sensore, query sul conteggio delle telecamere e accesso ai frame accelerato dalla GPU. Richiede l&#8217;opzione Allow &#8216;unsafe&#8217; Code nelle impostazioni del lettore. Esempio di mesh spaziale Scena:\u00a0Samples\/&#8230;\/Core Samples\/Scenes\/SpatialMeshing Dimostra la creazione di mesh ambientali in tempo reale utilizzando ARMeshManager. Include un cursore per la regolazione dell&#8217;opacit\u00e0 e il componente opzionale SpacesARMeshManagerConfig. Esempio di tracciamento tramite codice QR Scena:\u00a0Samples\/&#8230;\/Core Samples\/Scenes\/QRCodeTracking Dimostra la scansione e il tracciamento dei codici QR tramite SpacesQrCodeManager. Sono disponibili diverse modalit\u00e0 di tracciamento. Esempio di toolkit di interazione XR Scena:\u00a0Samples\/&#8230;\/Core Samples\/Scenes\/XRInteractionToolkit Dimostra le interazioni XRIT standard (interagenti a raggio, interagenti diretti, teletrasporto) in un<\/p>\n","protected":false},"author":11,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1254","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Guida campione - Geckode!<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Guida campione - Geckode!\" \/>\n<meta property=\"og:description\" content=\"Guida Campione Guida Campione \u2014 LeonardoXR SDK Guida Campione Versione 1.0.2 Dispositivo: Youbiquo Leonardo XR SDK di base: Snapdragon Spaces 1.0.4 \u00a0 Samples are organised in two sections: Esempi LeonardoXR: esempi specifici per le funzionalit\u00e0 proprietarie e di interazione di Leonardo XR. Esempi Snapdragon Spaces Core: esempi forniti da Qualcomm per le funzionalit\u00e0 AR\/XR di base. Importazione di campioni Esempi principali di Snapdragon Spaces Il pacchetto Core Samples \u00e8 importabile da Window &gt; Package Manager &gt; Snapdragon Spaces &gt; Core Samples. Dopo l&#8217;importazione, aggiungi tutte le scene alla build tramite Window &gt; XR &gt; Snapdragon Spaces &gt; Add Scenes to Build Settings. Campioni principali LeonardoXR Il pacchetto LeonardoXR Core Samples \u00e8 importabile da Window &gt; Package Manager &gt; LeonardoXR &gt; Core Samples. Dopo l&#8217;importazione, le scene sono disponibili nel Samples\/LeonardoXR\/[version]\/Core Samples\/Scenes\/. Campioni LeonardoXR Scena di interazione Scena:\u00a0Samples\/LeonardoXR\/...\/Core Samples\/Scenes\/Interaction Una scena interattiva completamente preconfigurata per l&#8217;utilizzo con controller e mani. Il giocatore assembla un motore V8 su un tavolo fluttuante fantascientifico, dimostrando le principali funzionalit\u00e0 di interazione dell&#8217;SDK. Cosa dimostra XR Grab Interattivo con aggancio a presa Sistema di affordance (feedback visivo e audio alla selezione e al passaggio del mouse) Menu a mano per la navigazione all&#8217;interno della scena Compatibile sia con il controller (Companion Controller) che con il tracciamento delle mani (modalit\u00e0 Dual Hand). Come eseguirlo Apri la scena di interazione dagli esempi del Gestore pacchetti, aggiungila alle impostazioni di compilazione e distribuiscila su LeonardoXR. Vedi il sezione seguente. Build and Run\u00a0 Scena dei gesti delle mani Scena:\u00a0Samples\/LeonardoXR\/...\/Core Samples\/Scenes\/Hand Gestures Dimostra il tracciamento della mano, il riconoscimento di gesti personalizzati e l&#8217;ispezione in tempo reale della forma della mano su LeonardoXR. Cosa dimostra Definizione di gesti personalizzati utilizzando le risorse di posa di XRHandShape Icone gestuali e feedback visivo per i gesti riconosciuti. XRHandGestureDebugUI per l&#8217;ispezione in tempo reale dello stato congiunto e gestuale. Integrazione con il sistema di gesti XR Hands Prerequisiti: Pacchetto XR Hands installato con i campioni Gestures e Hand Visualizer importati. Scena di accesso con doppia fotocamera Scena:\u00a0Samples\/LeonardoXR\/...\/Core Samples\/Scenes\/Dual Camera Access Dimostra l&#8217;accesso sincronizzato a entrambe le fotocamere Leonardo XR utilizzando l&#8217;API Android Camera2 tramite un plugin Java nativo. Cosa dimostra Recupero diretto dei fotogrammi della fotocamera tramite l&#039;API AndroidCamera2 Integrazione del plugin nativo (CameraAccessUtility.cs che funge da ponte verso Camera2StateCallback.java) Visualizzazione delle informazioni della fotocamera e rendering dell&#8217;inquadratura nel visore Prerequisiti: Accesso alla doppia fotocamera abilitato nel gruppo di funzionalit\u00e0 di LeonardoXR. DOCUMENTAZIONE IN CORSO La documentazione dettagliata dell&#8217;API e la guida alla configurazione saranno disponibili in una versione futura. Scena di analisi delle immagini tramite IA Scena:\u00a0Samples\/LeonardoXR\/...\/Core Samples\/Scenes\/GPT Image Analyzer Dimostrazione di analisi delle immagini basata sull&#8217;intelligenza artificiale su LeonardoXR utilizzando le API di visione GPT, con output audio tramite Google Text-to-Speech. Cosa dimostra Acquisizione di fotogrammi dalla fotocamera del dispositivo Invio di frame a un&#8217;API di analisi delle immagini GPT (GPTImageAnalyzer.cs) Conversione della risposta testuale in voce e riproduzione. (GoogleTextToSpeechConverter.cs) Prerequisiti: Chiavi API GPT e Google TTS valide configurate nella scena. Scena WebXR\u00a0 Scena:\u00a0Samples\/LeonardoXR\/...\/Core Samples\/Scenes\/WebXR Una scena preconfigurata per l&#8217;esportazione in WebXR, destinata al browser Wolvic preinstallato su LeonardoXR. Cosa dimostra Configurazione di un simulatore XR compatibile con WebXR utilizzando il prefabXRRig WebXR (Controllers) Come creare un progetto Unity per WebXR utilizzando l&#8217;utility di esportazione WebXR di De-Panther. Prerequisites: Scarica e installa l&#039;utilit\u00e0 di esportazione De-Panther WebXR Export Utility prima di iniziare la compilazione. Esempi principali di Snapdragon Spaces Esempio di ancore locali Scena:\u00a0Samples\/Snapdragon Spaces\/...\/Core Samples\/Scenes\/Anchor Questo esempio mostra come creare e distruggere punti di ancoraggio locali per tracciare con precisione un punto nel mondo reale. Richiede che la funzione &#8220;Spacial Anchors&#8221; sia abilitata in OpenXR. Come funziona Un dispositivo di posizionamento trasparente fluttua a 1 metro di distanza dalla telecamera. Quando l&#8217;opzione &#8220;Posiziona ancoraggio sulle superfici&#8221; \u00e8 abilitata, un raggio viene proiettato in avanti a ogni fotogramma. Quando una superficie viene colpita, il dispositivo diventa giallo. Toccando il touchpad o utilizzando l&#8217;interattore oculare si crea un ARAnchor con un dispositivo di tracciamento. 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); } } Salvataggio, eliminazione e caricamento degli ancoraggi Abilita l&#039;opzione Save new anchors nell&#039;archivio locale per rendere persistente ogni nuovo ancoraggio. Cubo bianco sul dispositivo = ancoraggio salvato e tracciato; cubo rosso = non tracciato. Load All Saved Anchors \u2014 carica e tenta di localizzare tutti gli ancoraggi memorizzati. Clear Store \u2014 Elimina tutti gli ancoraggi memorizzati (non distrugge gli ancoraggi gi\u00e0 caricati). Destroy All Anchors \u2014 distrugge tutti gli oggetti di gioco di ancoraggio attivi (con un breve ritardo). Esempio di tracciamento delle mani Scena:\u00a0Samples\/...\/Core Samples\/Scenes\/HandTracking Dimostra la visualizzazione delle articolazioni della mano e il riconoscimento dei gesti tramite il pacchetto di interazione QCHT. Richiede i pacchetti Hand Tracking e QCHT\/XR Hands. Esempio di hit test Scena:\u00a0Samples\/...\/Core Samples\/Scenes\/HitTesting Dimostra il rilevamento continuo di collisioni tramite raycast su piani e mesh del mondo reale utilizzando ARRaycastManager. Mostra come posizionare oggetti virtuali su superfici rilevate. Esempio di monitoraggio delle immagini Scena:\u00a0Samples\/...\/Core Samples\/Scenes\/ImageTracking Dimostra il tracciamento di immagini di riferimento stampate e la sovrapposizione di contenuti virtuali. Supporta librerie di immagini statiche e modificabili. Esempio di rilevamento aereo Scena:\u00a0Samples\/...\/Core Samples\/Scenes\/PlaneDetection Dimostra il rilevamento e la visualizzazione di piani orizzontali e verticali tramite ARPlaneManager. Supporta modalit\u00e0 di rilevamento e piani di inviluppo convesso opzionali. Esempio di accesso al frame della fotocamera Scena:\u00a0Samples\/...\/Core Samples\/Scenes\/CameraFrameAccess Dimostra il recupero dei frame raw della telecamera (YUV \/ YUYV) utilizzandoARCameraManager. Include informazioni estrinseche del sensore, query sul conteggio delle telecamere e accesso ai frame accelerato dalla GPU. Richiede l&#039;opzione Allow &#039;unsafe&#039; Code nelle impostazioni del lettore. Esempio di mesh spaziale Scena:\u00a0Samples\/...\/Core Samples\/Scenes\/SpatialMeshing Dimostra la creazione di mesh ambientali in tempo reale utilizzando ARMeshManager. Include un cursore per la regolazione dell&#8217;opacit\u00e0 e il componente opzionale SpacesARMeshManagerConfig. Esempio di tracciamento tramite codice QR Scena:\u00a0Samples\/...\/Core Samples\/Scenes\/QRCodeTracking Dimostra la scansione e il tracciamento dei codici QR tramite SpacesQrCodeManager. Sono disponibili diverse modalit\u00e0 di tracciamento. Esempio di toolkit di interazione XR Scena:\u00a0Samples\/...\/Core Samples\/Scenes\/XRInteractionToolkit Dimostra le interazioni XRIT standard (interagenti a raggio, interagenti diretti, teletrasporto) in un\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/\" \/>\n<meta property=\"og:site_name\" content=\"Geckode!\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-10T13:23:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_open.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/\",\"url\":\"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/\",\"name\":\"Guida campione - Geckode!\",\"isPartOf\":{\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_open.png\",\"datePublished\":\"2026-04-10T08:01:46+00:00\",\"dateModified\":\"2026-04-10T13:23:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/#primaryimage\",\"url\":\"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_open.png\",\"contentUrl\":\"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_open.png\",\"width\":2559,\"height\":1325},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.youbiquo.eu\/geckode\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Guida campione\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/#website\",\"url\":\"https:\/\/www.youbiquo.eu\/geckode\/\",\"name\":\"Geckode!\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.youbiquo.eu\/geckode\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/#organization\",\"name\":\"Geckode!\",\"url\":\"https:\/\/www.youbiquo.eu\/geckode\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/02\/Gemini_Generated_Image_ns1dvvns1dvvns1d-e1774014413830.png\",\"contentUrl\":\"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/02\/Gemini_Generated_Image_ns1dvvns1dvvns1d-e1774014413830.png\",\"width\":778,\"height\":778,\"caption\":\"Geckode!\"},\"image\":{\"@id\":\"https:\/\/www.youbiquo.eu\/geckode\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Guida campione - Geckode!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/","og_locale":"en_US","og_type":"article","og_title":"Guida campione - Geckode!","og_description":"Guida Campione Guida Campione \u2014 LeonardoXR SDK Guida Campione Versione 1.0.2 Dispositivo: Youbiquo Leonardo XR SDK di base: Snapdragon Spaces 1.0.4 \u00a0 Samples are organised in two sections: Esempi LeonardoXR: esempi specifici per le funzionalit\u00e0 proprietarie e di interazione di Leonardo XR. Esempi Snapdragon Spaces Core: esempi forniti da Qualcomm per le funzionalit\u00e0 AR\/XR di base. Importazione di campioni Esempi principali di Snapdragon Spaces Il pacchetto Core Samples \u00e8 importabile da Window &gt; Package Manager &gt; Snapdragon Spaces &gt; Core Samples. Dopo l&#8217;importazione, aggiungi tutte le scene alla build tramite Window &gt; XR &gt; Snapdragon Spaces &gt; Add Scenes to Build Settings. Campioni principali LeonardoXR Il pacchetto LeonardoXR Core Samples \u00e8 importabile da Window &gt; Package Manager &gt; LeonardoXR &gt; Core Samples. Dopo l&#8217;importazione, le scene sono disponibili nel Samples\/LeonardoXR\/[version]\/Core Samples\/Scenes\/. Campioni LeonardoXR Scena di interazione Scena:\u00a0Samples\/LeonardoXR\/...\/Core Samples\/Scenes\/Interaction Una scena interattiva completamente preconfigurata per l&#8217;utilizzo con controller e mani. Il giocatore assembla un motore V8 su un tavolo fluttuante fantascientifico, dimostrando le principali funzionalit\u00e0 di interazione dell&#8217;SDK. Cosa dimostra XR Grab Interattivo con aggancio a presa Sistema di affordance (feedback visivo e audio alla selezione e al passaggio del mouse) Menu a mano per la navigazione all&#8217;interno della scena Compatibile sia con il controller (Companion Controller) che con il tracciamento delle mani (modalit\u00e0 Dual Hand). Come eseguirlo Apri la scena di interazione dagli esempi del Gestore pacchetti, aggiungila alle impostazioni di compilazione e distribuiscila su LeonardoXR. Vedi il sezione seguente. Build and Run\u00a0 Scena dei gesti delle mani Scena:\u00a0Samples\/LeonardoXR\/...\/Core Samples\/Scenes\/Hand Gestures Dimostra il tracciamento della mano, il riconoscimento di gesti personalizzati e l&#8217;ispezione in tempo reale della forma della mano su LeonardoXR. Cosa dimostra Definizione di gesti personalizzati utilizzando le risorse di posa di XRHandShape Icone gestuali e feedback visivo per i gesti riconosciuti. XRHandGestureDebugUI per l&#8217;ispezione in tempo reale dello stato congiunto e gestuale. Integrazione con il sistema di gesti XR Hands Prerequisiti: Pacchetto XR Hands installato con i campioni Gestures e Hand Visualizer importati. Scena di accesso con doppia fotocamera Scena:\u00a0Samples\/LeonardoXR\/...\/Core Samples\/Scenes\/Dual Camera Access Dimostra l&#8217;accesso sincronizzato a entrambe le fotocamere Leonardo XR utilizzando l&#8217;API Android Camera2 tramite un plugin Java nativo. Cosa dimostra Recupero diretto dei fotogrammi della fotocamera tramite l'API AndroidCamera2 Integrazione del plugin nativo (CameraAccessUtility.cs che funge da ponte verso Camera2StateCallback.java) Visualizzazione delle informazioni della fotocamera e rendering dell&#8217;inquadratura nel visore Prerequisiti: Accesso alla doppia fotocamera abilitato nel gruppo di funzionalit\u00e0 di LeonardoXR. DOCUMENTAZIONE IN CORSO La documentazione dettagliata dell&#8217;API e la guida alla configurazione saranno disponibili in una versione futura. Scena di analisi delle immagini tramite IA Scena:\u00a0Samples\/LeonardoXR\/...\/Core Samples\/Scenes\/GPT Image Analyzer Dimostrazione di analisi delle immagini basata sull&#8217;intelligenza artificiale su LeonardoXR utilizzando le API di visione GPT, con output audio tramite Google Text-to-Speech. Cosa dimostra Acquisizione di fotogrammi dalla fotocamera del dispositivo Invio di frame a un&#8217;API di analisi delle immagini GPT (GPTImageAnalyzer.cs) Conversione della risposta testuale in voce e riproduzione. (GoogleTextToSpeechConverter.cs) Prerequisiti: Chiavi API GPT e Google TTS valide configurate nella scena. Scena WebXR\u00a0 Scena:\u00a0Samples\/LeonardoXR\/...\/Core Samples\/Scenes\/WebXR Una scena preconfigurata per l&#8217;esportazione in WebXR, destinata al browser Wolvic preinstallato su LeonardoXR. Cosa dimostra Configurazione di un simulatore XR compatibile con WebXR utilizzando il prefabXRRig WebXR (Controllers) Come creare un progetto Unity per WebXR utilizzando l&#8217;utility di esportazione WebXR di De-Panther. Prerequisites: Scarica e installa l'utilit\u00e0 di esportazione De-Panther WebXR Export Utility prima di iniziare la compilazione. Esempi principali di Snapdragon Spaces Esempio di ancore locali Scena:\u00a0Samples\/Snapdragon Spaces\/...\/Core Samples\/Scenes\/Anchor Questo esempio mostra come creare e distruggere punti di ancoraggio locali per tracciare con precisione un punto nel mondo reale. Richiede che la funzione &#8220;Spacial Anchors&#8221; sia abilitata in OpenXR. Come funziona Un dispositivo di posizionamento trasparente fluttua a 1 metro di distanza dalla telecamera. Quando l&#8217;opzione &#8220;Posiziona ancoraggio sulle superfici&#8221; \u00e8 abilitata, un raggio viene proiettato in avanti a ogni fotogramma. Quando una superficie viene colpita, il dispositivo diventa giallo. Toccando il touchpad o utilizzando l&#8217;interattore oculare si crea un ARAnchor con un dispositivo di tracciamento. 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); } } Salvataggio, eliminazione e caricamento degli ancoraggi Abilita l'opzione Save new anchors nell'archivio locale per rendere persistente ogni nuovo ancoraggio. Cubo bianco sul dispositivo = ancoraggio salvato e tracciato; cubo rosso = non tracciato. Load All Saved Anchors \u2014 carica e tenta di localizzare tutti gli ancoraggi memorizzati. Clear Store \u2014 Elimina tutti gli ancoraggi memorizzati (non distrugge gli ancoraggi gi\u00e0 caricati). Destroy All Anchors \u2014 distrugge tutti gli oggetti di gioco di ancoraggio attivi (con un breve ritardo). Esempio di tracciamento delle mani Scena:\u00a0Samples\/...\/Core Samples\/Scenes\/HandTracking Dimostra la visualizzazione delle articolazioni della mano e il riconoscimento dei gesti tramite il pacchetto di interazione QCHT. Richiede i pacchetti Hand Tracking e QCHT\/XR Hands. Esempio di hit test Scena:\u00a0Samples\/...\/Core Samples\/Scenes\/HitTesting Dimostra il rilevamento continuo di collisioni tramite raycast su piani e mesh del mondo reale utilizzando ARRaycastManager. Mostra come posizionare oggetti virtuali su superfici rilevate. Esempio di monitoraggio delle immagini Scena:\u00a0Samples\/...\/Core Samples\/Scenes\/ImageTracking Dimostra il tracciamento di immagini di riferimento stampate e la sovrapposizione di contenuti virtuali. Supporta librerie di immagini statiche e modificabili. Esempio di rilevamento aereo Scena:\u00a0Samples\/...\/Core Samples\/Scenes\/PlaneDetection Dimostra il rilevamento e la visualizzazione di piani orizzontali e verticali tramite ARPlaneManager. Supporta modalit\u00e0 di rilevamento e piani di inviluppo convesso opzionali. Esempio di accesso al frame della fotocamera Scena:\u00a0Samples\/...\/Core Samples\/Scenes\/CameraFrameAccess Dimostra il recupero dei frame raw della telecamera (YUV \/ YUYV) utilizzandoARCameraManager. Include informazioni estrinseche del sensore, query sul conteggio delle telecamere e accesso ai frame accelerato dalla GPU. Richiede l'opzione Allow 'unsafe' Code nelle impostazioni del lettore. Esempio di mesh spaziale Scena:\u00a0Samples\/...\/Core Samples\/Scenes\/SpatialMeshing Dimostra la creazione di mesh ambientali in tempo reale utilizzando ARMeshManager. Include un cursore per la regolazione dell&#8217;opacit\u00e0 e il componente opzionale SpacesARMeshManagerConfig. Esempio di tracciamento tramite codice QR Scena:\u00a0Samples\/...\/Core Samples\/Scenes\/QRCodeTracking Dimostra la scansione e il tracciamento dei codici QR tramite SpacesQrCodeManager. Sono disponibili diverse modalit\u00e0 di tracciamento. Esempio di toolkit di interazione XR Scena:\u00a0Samples\/...\/Core Samples\/Scenes\/XRInteractionToolkit Dimostra le interazioni XRIT standard (interagenti a raggio, interagenti diretti, teletrasporto) in un","og_url":"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/","og_site_name":"Geckode!","article_modified_time":"2026-04-10T13:23:55+00:00","og_image":[{"url":"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_open.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/","url":"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/","name":"Guida campione - Geckode!","isPartOf":{"@id":"https:\/\/www.youbiquo.eu\/geckode\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/#primaryimage"},"image":{"@id":"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/#primaryimage"},"thumbnailUrl":"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_open.png","datePublished":"2026-04-10T08:01:46+00:00","dateModified":"2026-04-10T13:23:55+00:00","breadcrumb":{"@id":"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/#primaryimage","url":"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_open.png","contentUrl":"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/04\/TP_open.png","width":2559,"height":1325},{"@type":"BreadcrumbList","@id":"https:\/\/www.youbiquo.eu\/geckode\/guida-campione\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.youbiquo.eu\/geckode\/"},{"@type":"ListItem","position":2,"name":"Guida campione"}]},{"@type":"WebSite","@id":"https:\/\/www.youbiquo.eu\/geckode\/#website","url":"https:\/\/www.youbiquo.eu\/geckode\/","name":"Geckode!","description":"","publisher":{"@id":"https:\/\/www.youbiquo.eu\/geckode\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.youbiquo.eu\/geckode\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.youbiquo.eu\/geckode\/#organization","name":"Geckode!","url":"https:\/\/www.youbiquo.eu\/geckode\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.youbiquo.eu\/geckode\/#\/schema\/logo\/image\/","url":"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/02\/Gemini_Generated_Image_ns1dvvns1dvvns1d-e1774014413830.png","contentUrl":"https:\/\/www.youbiquo.eu\/geckode\/wp-content\/uploads\/sites\/7\/2026\/02\/Gemini_Generated_Image_ns1dvvns1dvvns1d-e1774014413830.png","width":778,"height":778,"caption":"Geckode!"},"image":{"@id":"https:\/\/www.youbiquo.eu\/geckode\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.youbiquo.eu\/geckode\/wp-json\/wp\/v2\/pages\/1254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.youbiquo.eu\/geckode\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.youbiquo.eu\/geckode\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.youbiquo.eu\/geckode\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.youbiquo.eu\/geckode\/wp-json\/wp\/v2\/comments?post=1254"}],"version-history":[{"count":13,"href":"https:\/\/www.youbiquo.eu\/geckode\/wp-json\/wp\/v2\/pages\/1254\/revisions"}],"predecessor-version":[{"id":1268,"href":"https:\/\/www.youbiquo.eu\/geckode\/wp-json\/wp\/v2\/pages\/1254\/revisions\/1268"}],"wp:attachment":[{"href":"https:\/\/www.youbiquo.eu\/geckode\/wp-json\/wp\/v2\/media?parent=1254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}