Differences

This shows you the differences between two versions of the page.

Link to this comparison view

irva:laboratoarevr:02 [2025/09/27 23:53]
andrei.lapusteanu WIP updating L2, added new GIFs and extended setup text
irva:laboratoarevr:02 [2025/09/28 00:44] (current)
andrei.lapusteanu
Line 150: Line 150:
  
   * Deschideți scena **Assets -> SteamVR -> Simple Sample**   * Deschideți scena **Assets -> SteamVR -> Simple Sample**
-  * Deoarece acum ar trebui să fiți în modul **Link** pe headset, iar **SteamVR** ar trebui să ruleze, puteți testa orice scenă compatibilă doar prin apăsarea butonului **Play** în editor - ar trebui să pornească rularea pe headset - ar trebui să puteți să va rotiți capul, ​iar în loc de controllere ​să vă apară mâini virtuale+  * Deoarece acum ar trebui să fiți în modul **Link** pe headset, iar **SteamVR** ar trebui să ruleze, puteți testa orice scenă compatibilă doar prin apăsarea butonului **Play** în editor - ar trebui să pornească rularea pe headset - ar trebui să puteți să va rotiți capul, ​și să vedeți controllerele
   * Have some fun în scena **Assets -> SteamVR -> InteractionSystem -> Samples -> Interactions_Example**. Încercați diversele tipuri de interacțiuni posibile, observați cum funcționează mecanica de teleportare - o să aveți câteva instrucțiuni și în scenă   * Have some fun în scena **Assets -> SteamVR -> InteractionSystem -> Samples -> Interactions_Example**. Încercați diversele tipuri de interacțiuni posibile, observați cum funcționează mecanica de teleportare - o să aveți câteva instrucțiuni și în scenă
  
Line 184: Line 184:
  
   * Așadar, adăugați în scenă un prefab **Teleporing** precum și mai multe **TeleporPoint-uri**   * Așadar, adăugați în scenă un prefab **Teleporing** precum și mai multe **TeleporPoint-uri**
-  * Poziționați-vă punctele de teleportare după plac, dar adăugați ​cel puțin unul pe platorma superioară (între mese)+  * Poziționați-vă punctele de teleportare după plac în scenă 
 +  * Creați-vă un **Teleport Area** în zona dintre mesele de pe platforma superioară 
 +    * Spre deosebire de **Telepor Point-uri**care pemite teleportarea la un ''​Transform''​ prefixat, un **Teleport Area** definește o suprafață pe care se admite teleportarea 
 +    * Adăugați ​și scalați un plan 3D la nivelul picioarelor între mesele de pe platformă 
 +    * Adăugați obiectului nou creat compnenta ''​TeleportArea''​ în inspector 
 +    * Găsiți [[https://​lab.arts.ac.uk/​books/​vr-tutorials-unity/​page/​steam-vr-setup-tutorial-2---teleporting-around-your-scene|aici]] un tutorial mai detaliat legat de acest proces  
  
 Înainte de a testa mecanica de teleporare, veți avea nevoie de un **Player**. **SteamVR** include un atfel de prefab (**Assets -> SteamVR -> InteractionSystem -> Core -> Prefabs**) care e deja configurat cu tot ce ține de logica de cameră, tracking, controller-e,​ etc. Înainte de a testa mecanica de teleporare, veți avea nevoie de un **Player**. **SteamVR** include un atfel de prefab (**Assets -> SteamVR -> InteractionSystem -> Core -> Prefabs**) care e deja configurat cu tot ce ține de logica de cameră, tracking, controller-e,​ etc.
Line 190: Line 196:
   * Adăugați prefab-ul **Player** la o poziție dorită în scenă   * Adăugați prefab-ul **Player** la o poziție dorită în scenă
   * Testați scena și punctele de teleportare setate   * Testați scena și punctele de teleportare setate
 +
 +Un exemplu de scenă configurată cu câteva **Teleport Point-uri** precum și **Teleport Area-ul** este ilustrat în GIF-ul de mai jos.
 +
 +{{ :​irva:​laboratoarevr:​irva_2025_vr_l2_teleporting_demo.gif?​500 |}}
  
 ==== Boxing bag ==== ==== Boxing bag ====
Line 195: Line 205:
 În prefab-urile include în scheletul de laborator veți găsi **[BoxingBag]**,​ un sac de box configurat pentru a răspunde interacțiunilor fizice. În prefab-urile include în scheletul de laborator veți găsi **[BoxingBag]**,​ un sac de box configurat pentru a răspunde interacțiunilor fizice.
  
-  * Plasați prefab-ul la o locație dorită în scenă - adaugați, de asemenea, un nou teleporting point în vecinătatea acestuia+  * Plasați prefab-ul la o locație dorită în scenă - adaugați, de asemenea, un punct sau suprafață de teleportarea în proximitatea ​acestuia
   * Puteți testa interacțiunile prin a lovi cu pumnii obiectul - dacă tineți apăsate în același timp ambele trigger-e puteți face din mâinile virtuale un pumn (nu e obligatoriu,​ doar în scop de //​imersiune//​)   * Puteți testa interacțiunile prin a lovi cu pumnii obiectul - dacă tineți apăsate în același timp ambele trigger-e puteți face din mâinile virtuale un pumn (nu e obligatoriu,​ doar în scop de //​imersiune//​)
   * Componenta copil **BoxingBagRigidbody** are atașat script ''​BoxingBagPunchStrengthController''​ pe care va trebui să-l completați pentru a adauga câteva funcționalități (citiți si ''​TODO''​-urile din cod):   * Componenta copil **BoxingBagRigidbody** are atașat script ''​BoxingBagPunchStrengthController''​ pe care va trebui să-l completați pentru a adauga câteva funcționalități (citiți si ''​TODO''​-urile din cod):
Line 222: Line 232:
     * Adăugați prefab-ul **Player** la o poziție dorită în scenă     * Adăugați prefab-ul **Player** la o poziție dorită în scenă
     * Integrați în scenă un obiect de tip **Teleporting**     * Integrați în scenă un obiect de tip **Teleporting**
-    *  Integrați în scenă mai multe obiecte de tip **TeleportPoint**,​ poziționate după plac, dar cel puțin ​unul pe platforma superioară (între mese)+    *  Integrați în scenă mai multe obiecte de tip **TeleportPoint**,​ poziționate după plac precum și cel puțin ​un **Teleport Area**
   - Implementați mecanicile aferente **sacului de box** în scena oferită ca suport pentru laborator   - Implementați mecanicile aferente **sacului de box** în scena oferită ca suport pentru laborator
-    * Adăugați prefab-ul **[BoxingBag]** ​(plus un **TeleportPoint** în proximitatea acestuia)+    * Adăugați prefab-ul **[BoxingBag]**, precum și o modalitate de teleportare către acesta
     * Completați ''​TODO''​-urile din script-ul ''​BoxingBagPunchStrengthController''​     * Completați ''​TODO''​-urile din script-ul ''​BoxingBagPunchStrengthController''​
       * Calculați cât de puternică este lovitura       * Calculați cât de puternică este lovitura
Line 232: Line 242:
     * Adăugați-vă pe mesele din scenă cel puțin un buton (aveți deja prefab-ul **[InteractableButton]**)     * Adăugați-vă pe mesele din scenă cel puțin un buton (aveți deja prefab-ul **[InteractableButton]**)
     * Legați acțiunea de apăsare a butonului cu logica de lansare a unui proiectil (definită în script-ul ''​ProjectileCannonController''​)     * Legați acțiunea de apăsare a butonului cu logica de lansare a unui proiectil (definită în script-ul ''​ProjectileCannonController''​)
-    * Hint: Script-ul ''​HoverButton''​ de pe prefab-ul de buton expune în inspector evenimentele ''​OnButtonDown''​ și ''​OnButtonUp''​ 
   - **[✨Bonus✨]** Implementați un obiect pe care să-l puteți lua în mână și care să interacționeze cu proiectilele lansate - de exemplu, o bâtă de baseball! Studiați scena suport sau cele sample pentru a determina ce tip de obiect interactibil aveți nevoie. Adăgați sunete la coliziuni. După nevoie, folosiți-vă de **Physics Materials**,​ aveți deja câteva predefinite în asset-urile importate   - **[✨Bonus✨]** Implementați un obiect pe care să-l puteți lua în mână și care să interacționeze cu proiectilele lansate - de exemplu, o bâtă de baseball! Studiați scena suport sau cele sample pentru a determina ce tip de obiect interactibil aveți nevoie. Adăgați sunete la coliziuni. După nevoie, folosiți-vă de **Physics Materials**,​ aveți deja câteva predefinite în asset-urile importate
  
 {{ :​irva:​laboratoarevr:​irva_2024_vr_steamvr_3_gif.gif?​400 |}} {{ :​irva:​laboratoarevr:​irva_2024_vr_steamvr_3_gif.gif?​400 |}}
irva/laboratoarevr/02.1759006433.txt.gz · Last modified: 2025/09/27 23:53 by andrei.lapusteanu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0