{"version":"1.0","provider_name":"Geckode!","provider_url":"https:\/\/www.youbiquo.eu\/geckode","author_name":"Aida Garfami","author_url":"https:\/\/www.youbiquo.eu\/geckode\/author\/aida-garfami\/","title":"Avanzato - Geckode!","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"zlFluprr1D\"><a href=\"https:\/\/www.youbiquo.eu\/geckode\/advanced-2\/\">Avanzato<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/www.youbiquo.eu\/geckode\/advanced-2\/embed\/#?secret=zlFluprr1D\" width=\"600\" height=\"338\" title=\"&#8220;Avanzato&#8221; &#8212; Geckode!\" data-secret=\"zlFluprr1D\" 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":"Advanzo Avanzo \u2014 LeonardoXR SDK Avanzate Versione 1.0.2 Dispositivo: Youbiquo Leonardo XR SDK di base: Snapdragon Spaces 1.0.4 Questa sezione illustra le configurazioni e le funzionalit\u00e0 avanzate disponibili su Leonardo XR, suddivise tra funzionalit\u00e0 generali della piattaforma Snapdragon Spaces e funzionalit\u00e0 avanzate proprietarie di Leonardo XR. Avanzate \u2014 Snapdragon Spaces Aggiunta di un nuovo profilo di interazione Per utilizzare un profilo di interazione non incluso nel plugin Snapdragon Spaces: Vai a Project Settings &gt; XR Plug-in Management &gt; OpenXR (Android) &gt; Interaction Profiles. Aggiungi il profilo desiderato facendo clic sul pulsante +. Configura le azioni di input corrispondenti nell&#8217;asset di sistema di input. Controller personalizzato Descrive come creare un archivio controller Android personalizzato (.aar) utilizzando il pacchetto Controller personalizzato, ovvero il progetto Android Studio incluso nel pacchetto per sviluppatori. Panoramica del processo Apri il progetto Android Studio incluso nel pacchetto per sviluppatori di Snapdragon Spaces. Modifica l&#8217;Activity companion secondo necessit\u00e0 (layout, pulsanti, assi aggiuntivi). Compila il progetto per ottenere un file .aar. Importa il file .aar nel progetto Unity come plugin nativo Android (in Assets\/Plugins\/Android). Configura il manifest Android per dichiarare la nuova Activity. NOTA: L&#8217;aggiunta di un archivio controller personalizzato pu\u00f2 causare errori di cache di Gradle. In caso di errori di compilazione, elimina la cartella Temp\/gradleOut e ricompila il progetto. Frequenza di aggiornamento del display The `XR_EXT_display_refresh_rate` extension allows querying and setting the display refresh rate at runtime. Interroga la frequenza di aggiornamento corrente using Qualcomm.Snapdragon.Spaces; BaseRuntimeFeature baseRuntime = OpenXRSettings.Instance.GetFeature&lt;BaseRuntimeFeature&gt;(); float currentHz = baseRuntime.GetDisplayRefreshRate(); Debug.Log($\"Current refresh rate: {currentHz} Hz\"); Ottieni frequenze di aggiornamento supportate float[] supportedRates = baseRuntime.GetSupportedDisplayRefreshRates(); foreach (float rate in supportedRates) Debug.Log($\"Supported: {rate} Hz\"); Imposta la frequenza di aggiornamento baseRuntime.RequestDisplayRefreshRate(90.0f); NOTA: La frequenza di aggiornamento richiesta deve essere tra quelle restituite da GetSupportedDisplayRefreshRates(). I valori non supportati vengono ignorati. Prestazioni avanzate dei thread Android Il componente SpacesThreadUtility migliora la priorit\u00e0 di pianificazione dei thread su Android, producendo una temporizzazione dei frame pi\u00f9 coerente. Configurazione Aggiungi il componente SpacesThreadUtility a un GameObject persistente nella scena (ad esempio, lo stesso GameObject che ospita la sessione AR o l&#8217;origine XR). Non \u00e8 richiesta alcuna configurazione: si attiva automaticamente all&#8217;inizializzazione e agisce sui thread principali di Unity. Quando utilizzare Consigliato per tutte le applicazioni LeonardoXR che presentano fluttuazioni del frame rate o variabilit\u00e0 nella temporizzazione dei frame, soprattutto in scene con rendering intensivo o molti sottosistemi AR attivi. Impostazioni delle prestazioni L&#8217;estensione OpenXR XR_EXT_performance_settings espone suggerimenti sui livelli di prestazioni per CPU e GPU tramite un nuovo metodo su BaseRuntimeFeature. Level Description PowerSavings Reduces CPU\/GPU clocks to the minimum necessary. Useful for simple scenes or static UI. SustainedLow Sustained performance at a low level. SustainedHigh Sustained high-level performance. Recommended for most AR apps. Boost Maximum performance for short periods (not sustainably maintained). using Qualcomm.Snapdragon.Spaces; using UnityEngine.XR.OpenXR; BaseRuntimeFeature baseRuntime = OpenXRSettings.Instance.GetFeature&lt;BaseRuntimeFeature&gt;(); baseRuntime.SetPerformanceLevel(PerformanceDomain.Cpu, PerformanceLevel.SustainedHigh); baseRuntime.SetPerformanceLevel(PerformanceDomain.Gpu, PerformanceLevel.SustainedHigh); NOTA: Il livello Boost consuma molta pi\u00f9 energia e, se utilizzato in modo continuativo, pu\u00f2 causare surriscaldamento e conseguente limitazione della potenza. Utilizzalo solo per operazioni critiche di breve durata (ad esempio, il caricamento di una scena complessa). Avanzato \u2014 LeonardoXR Plugin di inferenza QNN &#8211; Guida avanzata DOCUMENTAZIONE IN FASE DI COMPLETAMENTO Questa sezione tratter\u00e0 l&#8217;utilizzo avanzato del plugin di inferenza QNN (Qualcomm Neural Network) su Leonardo XR, tra cui: Preparazione e conversione del modello (formato ONNX \u2192 QNN). Caricamento dei modelli in fase di esecuzione tramite API plugin. Esecuzione dell&#8217;inferenza sulla NPU con gestione dei tensori di input\/output. Gestione della memoria e ottimizzazione del throughput.Debug e profilazione delle prestazioni dell&#8217;inferenza. Casi d&#8217;uso: rilevamento di oggetti, stima della posa, segmentazione in tempo reale. La documentazione dettagliata sar\u00e0 disponibile in una versione futura. Intercetta la funzione OpenXR &#8211; Guida avanzata DOCUMENTAZIONE IN FASE DI ELABORAZIONE Questa sezione tratter\u00e0 l&#8217;utilizzo avanzato del meccanismo Intercept OpenXR Function su Leonardo XR, tra cui: Architettura del livello di intercettazione OpenXR. Registrazione di gestori personalizzati per specifiche funzioni OpenXR. Casi d&#8217;uso: override della pipeline di rendering, iniezione di dati personalizzati nel livello XR, debug di basso livello di OpenXR. Considerazioni su sicurezza e stabilit\u00e0. Interazione con altri componenti dell&#8217;SDK LeonardoXR. Questa funzionalit\u00e0 \u00e8 pensata per gli sviluppatori con esperienza diretta delle API OpenXR di basso livello. La documentazione dettagliata sar\u00e0 disponibile in una versione futura. \u00a0"}