{"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":"Guida al pacchetto di interazione - Geckode!","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"IT219lIBDQ\"><a href=\"https:\/\/www.youbiquo.eu\/geckode\/guida-al-pacchetto-di-interazione\/\">Guida al pacchetto di interazione<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/www.youbiquo.eu\/geckode\/guida-al-pacchetto-di-interazione\/embed\/#?secret=IT219lIBDQ\" width=\"600\" height=\"338\" title=\"&#8220;Guida al pacchetto di interazione&#8221; &#8212; Geckode!\" data-secret=\"IT219lIBDQ\" 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":"Guida al pacchetto di interazione Guida al pacchetto di interazione \u2014 LeonardoXR SDK Guida al pacchetto di interazione Version 1.0.2 Device: Youbiquo Leonardo XR Base SDK: Snapdragon Spaces 1.0.4 Questa guida descrive come configurare il livello di interazione per le applicazioni LeonardoXR utilizzando i pacchetti standard di Unity: XR Interaction Toolkit (XRIT) 3.3.0 \u2014 sistema di interazione di alto livello per controller, interattori a raggi e interattori diretti. XR Hands 1.7.2 \u2014 accesso ai dati delle articolazioni della mano e riconoscimento dei gesti. Dipendenze e versioni Package Version Source XR Interaction Toolkit 3.3.0 Unity Registry XR Hands 1.7.2 Unity Registry AR Foundation 6.2.1 Unity Registry Snapdragon Spaces SDK 1.0.4 Tarball (Qualcomm) LeonardoXR SDK 1.0.2 Tarball (Youbiquo) UniTask 2.5.10 Unity Registry NOTA: Tutte le dipendenze devono essere installate come descritto nella guida introduttiva prima di procedere con la configurazione dell&#8217;interazione. 1. Configurazione del toolkit di interazione XR Installazione Installa tramite Window &gt; Package Manager &gt; Unity Registry &gt; XR Interaction Toolkit &gt; Install (versione 3.3.0). Se viene visualizzato il messaggio &#8220;Abilitare il nuovo sistema di input?&#8221;, fare clic su S\u00ec. Se viene visualizzato il messaggio &#8220;Aggiornamento della maschera del livello di interazione XR richiesto&#8221;, fare clic su Ho creato un backup, procedi! (per i nuovi progetti) oppure su No grazie se non era presente alcuna versione precedente di XRIT. Importa risorse iniziali Aprire Window &gt; Package Manager, selezionare In Project poi XR Interaction Toolkit. Sotto Samples, clic Import su Starter Assets. Anche clic Import su Hand Interaction Demo (richiesto per i campioni di tracciamento manuale). Le risorse iniziali includono: Asset di input preconfigurato per controller e mani XR. Prefab di riferimento per XR Origin con Ray Interactor e Direct Interactor. Materiali di base e shader per il feedback visivo dell&#8217;interazione. Configura le azioni di input Dopo l&#8217;importazione, viene aggiunto un asset denominato XRI Default Input Actions alla cartella Assets\/Samples\/XR Interaction Toolkit\/[version]\/Starter Assets\/. Questo asset \u00e8 preconfigurato per i profili controller standard (incluso il Companion Controller tramite il profilo Microsoft MMRC) e per le mani. Per associare la risorsa al sistema: vai a Edit &gt; Project Settings &gt; XR Plug-in Management &gt; Input System e garantire Active Input Handling \u00e8 impostato su Entrambi o Pacchetto sistema di input (Nuovo). 2. Configurazione della scena \u2014 XR Origin Gerarchia della scena di base AR Session XR Origin (Action-based) \u2514\u2500\u2500 Camera Offset \u251c\u2500\u2500 Main Camera (tagged \"MainCamera\") \u251c\u2500\u2500 LeftHand Controller \u2502 \u251c\u2500\u2500 XR Ray Interactor (left) \u2502 \u2514\u2500\u2500 XR Direct Interactor (left) \u2514\u2500\u2500 RightHand Controller \u251c\u2500\u2500 XR Ray Interactor (right) \u2514\u2500\u2500 XR Direct Interactor (right) Crea la struttura di base selezionando GameObject &gt; XR &gt; XR Origin (Action-based). NOTA: Disabilitare lo sfondo della fotocamera AR: non \u00e8 supportato su LeonardoXR e viene disabilitato automaticamente in fase di esecuzione. Disabilitare anche AR Camera Manager se non si acquisiscono frame RGB dalla fotocamera. Gestore delle azioni di input Aggiungi il componente Input Action Manager all&#8217;XR Origin (o a un GameObject persistente). Nel campo Action Assets, assegna: XR Input Actions\u00a0(from\u00a0Samples\/LeonardoXR SDK\/[version]\/Core Samples\/Shared Assets). 3. Configurazione mani XR Installazione Installa tramite Window &gt; Package Manager &gt; Unity Registry &gt; XR Hands &gt; Install (versione 1.7.2). Importazione di campioni di mani Aprire Window &gt; Package Manager &gt; In Project &gt; XR Hands &gt; Samples e importare: Gesti \u2014 sistema di riconoscimento dei gesti. Visualizzatore della mano \u2014 visualizzazione della mesh della mano. Abilita il sottosistema di tracciamento della mano Vai a Edit &gt; Project Settings &gt; XR Plug-in Management &gt; OpenXR\u00a0(Android tab). Sotto All Features, abilitare Hand Tracking Subsystem. Abilita anche Hand Tracking nel gruppo di funzionalit\u00e0 Snapdragon Spaces. NOTA: Il sottosistema di tracciamento della mano deve essere abilitato in Tutte le funzionalit\u00e0, non solo nella sezione Snapdragon Spaces, per funzionare correttamente su LeonardoXR. Accesso ai dati della mano tramite l&#8217;API XR Hands using UnityEngine.XR.Hands; XRHandSubsystem handSubsystem = XRHandSubsystemUtility.GetSubsystem(); if (handSubsystem != null) { XRHand leftHand = handSubsystem.leftHand; if (leftHand.isTracked) { if (leftHand.GetJoint(XRHandJointID.IndexTip).TryGetPose(out Pose indexTipPose)) { \/\/ indexTipPose.position = position of left index fingertip } } } Riconoscimento dei gesti [SerializeField] XRHandGestures gestures; void OnEnable() { gestures.gesturePerformed += OnGesturePerformed; } void OnGesturePerformed(XRHandGesture gesture, Handedness handedness) { Debug.Log($\"Gesture: {gesture.gestureName} performed with {handedness}\"); } 4. Configurazione degli elementi interattivi Aggiungere un elemento interattivo a un oggetto Aggiungi un Collider all&#8217;oggetto (ad esempio Box Collider). Aggiungi XR Grab Interactable per oggetti afferrabili, o XR Simple Interactable per oggetti che ricevono eventi senza essere spostati. public class MyButton : MonoBehaviour { [SerializeField] XRSimpleInteractable interactable; void OnEnable() { interactable.selectEntered.AddListener(OnSelected); } void OnSelected(SelectEnterEventArgs args) { Debug.Log(\"Selected by: \" + args.interactorObject); } } Maschera dello strato di interazione XRIT 3.x utilizza le maschere di livello di interazione per filtrare quali interattori possono interagire con quali elementi interattivi: interactable.interactionLayers = InteractionLayerMask.GetMask(\"Default\", \"UI\"); 5. Canvas dell&#8217;interfaccia utente e interazione Spazio mondiale su tela Crea un Canvas e imposta la modalit\u00e0 di rendering su World Space. Aggiungi il componente Tracked Device Graphic Raycaster al Canvas (sostituisce il Graphic Raycaster standard). Aggiungi il componente XR UI Input Module all&#8217;oggetto di gioco EventSystem nella scena (sostituisce il modulo di input UI Input Module predefinito). Impostazioni consigliate per la tela Parameter Recommended Value Render Mode World Space Dynamic Pixels Per Unit 1 Reference Pixels Per Unit 100 Scale 0.001 (for a ~1m canvas = 1000 pixel units) 6. Combinazione di controllo e tracciamento della mano Su LeonardoXR non \u00e8 possibile utilizzare contemporaneamente i controller del visore e il tracciamento completo delle mani (con raycast da entrambe le mani) a causa di conflitti tra i profili OpenXR. Option A \u2014Solo controller (controller ausiliario) Aggiungi il profilo Microsoft MMRC ai profili abilitati. Non aggiungere il profilo Interazione con le mani. Il Companion Controller gestisce il puntamento; le mani possono essere utilizzate come collider, ma non come interattori raycast. Opzione B \u2014 Solo mani (modalit\u00e0 a due mani) Aggiungi il profilo di interazione manuale ai profili abilitati. Non aggiungere il profilo Microsoft MMRC. Rimuovi il prefab del puntatore del dispositivo dal controller. Entrambe le mani vengono tracciate come interattori completi; nessun input dal telefono. Opzione C \u2014 Controller + Una mano Aggiungi il profilo Microsoft"}