This shows you the differences between two versions of the page.
irva:laboratoare:09 [2024/01/09 11:28] andrei.lapusteanu |
irva:laboratoare:09 [2024/01/09 11:33] (current) andrei.lapusteanu |
||
---|---|---|---|
Line 37: | Line 37: | ||
{{ :irva:laboratoare:mq2_l9_waiting.jpg?350 |}} | {{ :irva:laboratoare:mq2_l9_waiting.jpg?350 |}} | ||
- | Este important de știut că elementele interactibile se pot regăsi intr-una din 4 stări posibile: | + | Este important de știut că elementele **interactibile** se pot regăsi intr-una din 4 stări posibile: |
* **Disabled** (inactiv) | * **Disabled** (inactiv) | ||
* **Normal** | * **Normal** | ||
Line 43: | Line 43: | ||
* **Select** (intracțiune) | * **Select** (intracțiune) | ||
- | În următorul GIF puteți observa interactibilul în stările **Normal**, **Hover** și **Select**. | + | În următorul GIF puteți observa **interactibilul** în stările **Normal**, **Hover** și **Select**. |
{{ :irva:laboratoare:l9_mq2_states.gif?300 |}} | {{ :irva:laboratoare:l9_mq2_states.gif?300 |}} | ||
- | Pentru realizarea acestor **interacțiuni** este necesară configurarea ambelor părți. De exemplu, pentru o **interacțiune** de tip **Poke** folosing hand tracking-ul, obiectele de tip mână din ierarhie for avea atașate obiecte de tip **HandPokeInteractor**, iar elementele **interactibile** vor avea atașate o componentă de tip **HandPokeInteractible**. | + | Pentru realizarea acestor **interacțiuni** este necesară configurarea ambelor părți. De exemplu, pentru o **interacțiune** de tip **Poke** folosing hand tracking-ul, obiectele de tip mână din ierarhie for avea atașate obiecte de tip **HandPokeInteractor**, iar elementele **interactibile** vor avea atașate o componentă de tip **PokeInteractible** (care poate răspunde atât la poke-uri de la controller cât și de la mâini). |
==== Sumar interacțiuni ==== | ==== Sumar interacțiuni ==== | ||
- | Un flow simplificat al Interaction SDK-ului poate fi următorul: | + | Un flow simplificat al **Interaction SDK**-ului poate fi următorul: |
- | * Se preia input-ului iar în urma procesării și filtrarii se randează controller-ele/mâinile | + | * Se preia input-ului iar în urma procesării și filtrării se randează controller-ele/mâinile |
* Controller-ele/mâinile sunt **interactori** care așteaptă/ascultă **interacțiunea** cu elemente **interactibile** | * Controller-ele/mâinile sunt **interactori** care așteaptă/ascultă **interacțiunea** cu elemente **interactibile** | ||
* Dacă **interactorul** este în proximitatea unui **interactibil**, iar cele 2 elemente implementează o **interacțiune** comună (poke, grab), are loc evenimentul de **hover** | * Dacă **interactorul** este în proximitatea unui **interactibil**, iar cele 2 elemente implementează o **interacțiune** comună (poke, grab), are loc evenimentul de **hover** | ||
Line 59: | Line 59: | ||
==== Basic setup | Headset, controllers, hands ==== | ==== Basic setup | Headset, controllers, hands ==== | ||
- | Vom realiza în continuare cnfigurarea de bază prin care putea plasa un headset în scenă, precum și controller-e și mâini virtuale. Puteți urmări în detaliu pașii la [[https://developer.oculus.com/documentation/unity/unity-isdk-getting-started/|acest link]], vom prezenta succint pașii și în continuare. | + | Vom realiza în continuare cnfigurarea de bază prin care putem plasa în scenă un headset, precum și controller-e și mâini virtuale. Puteți urmări în detaliu pașii la [[https://developer.oculus.com/documentation/unity/unity-isdk-getting-started/|acest link]], vom prezenta succint pașii și în continuare. |
* Deschideți scena **Assets -> L9_MetaQuest -> Scenes -> L9_MQ2_BasicSetup** | * Deschideți scena **Assets -> L9_MetaQuest -> Scenes -> L9_MQ2_BasicSetup** | ||
- | * Adăugați în scenă pregab-ul **OVRCameraRig**. Acesta este prefab-ul de baza ce permite tracking-ul atât al headset-ului cât și al interactorilor | + | * Adăugați în scenă pregab-ul **OVRCameraRig**. Acesta este prefab-ul de bază ce permite tracking-ul atât al headset-ului cât și al interactorilor |
* Studiați setările din inspector. Asigurați-vă că tipul de input (**Hand Tracking Support**) este **Controllers and Hands**, iar **Hand Tracking Version** este **V2** | * Studiați setările din inspector. Asigurați-vă că tipul de input (**Hand Tracking Support**) este **Controllers and Hands**, iar **Hand Tracking Version** este **V2** | ||
* Atașați prefab-ul **OVRInteraction** ca și copil la **OVRCameraRig**. Acest prefab este cel de bază pentru controller-e sau mâini | * Atașați prefab-ul **OVRInteraction** ca și copil la **OVRCameraRig**. Acest prefab este cel de bază pentru controller-e sau mâini |