Differences

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

Link to this comparison view

irva:laboratoarevr:03 [2024/10/12 21:57]
andrei.lapusteanu Added GIFs
irva:laboratoarevr:03 [2024/10/29 12:34] (current)
andrei.lapusteanu typos
Line 1: Line 1:
 ====== Laborator VR 03. SteamVR. Advanced input ====== ====== Laborator VR 03. SteamVR. Advanced input ======
  
-În acest laborator vom studia câteva aspecte mai avansate legate de input - cum îl putem citi în cod, cum ne putem defini acțiuni ​noi / custom - veți reuni aceste aspecte în implementarea unui gravity gun!+În acest laborator vom studia câteva aspecte mai avansate legate de input - cum îl putem citi în cod, cum ne putem defini acțiuni custom - veți reuni aceste aspecte în implementarea unui gravity gun!
  
 <note warning> <note warning>
Line 46: Line 46:
   * **MovementOnFoot** pentru mișcare pedestră (WASD pe tastatură sau joystick pe un controller)   * **MovementOnFoot** pentru mișcare pedestră (WASD pe tastatură sau joystick pe un controller)
   * **MovementInCar** pentru condusul unei mașini (**aceleași taste WASD** pe tastatură sau joystick pe un controller, dar într-un alt context!)   * **MovementInCar** pentru condusul unei mașini (**aceleași taste WASD** pe tastatură sau joystick pe un controller, dar într-un alt context!)
-  * **MovementInBoat** pentru navigarea cu o barcă.+  * **MovementInBoat** pentru navigarea cu o barcă
  
 O **acțiune** reprezintă o interacțiune definită de utilizator care poate fi activată prin diverse tipuri de input-uri. Acțiunile se pot lega la una sau mai multe intrări fizice printr-un **binding**. O **acțiune** reprezintă o interacțiune definită de utilizator care poate fi activată prin diverse tipuri de input-uri. Acțiunile se pot lega la una sau mai multe intrări fizice printr-un **binding**.
Line 95: Line 95:
 ===== Import schelet laborator ===== ===== Import schelet laborator =====
  
-  * Importați ultima versiune a pachetului ''​WIP_NAME''​ care se găsește în folder-ul **UnityPackages** din folder-ul root al proiectului+  * Importați ultima versiune a pachetului ''​IRVA_L3_VR_SteamVR_Skeleton''​ care se găsește în folder-ul **UnityPackages** din folder-ul root al proiectului
   * Folder-ul **Assets -> L3_VR_SteamVR_Advanced** conține asset-urile suport pentru acest laborator. Deschideți scena ''​L3_VR_SteamVR_GravityGun''​   * Folder-ul **Assets -> L3_VR_SteamVR_Advanced** conține asset-urile suport pentru acest laborator. Deschideți scena ''​L3_VR_SteamVR_GravityGun''​
  
Line 129: Line 129:
         //  - `SteamVR_Input_Sources` can be used to set a specific device to read from. In this case any device which has this action.         //  - `SteamVR_Input_Sources` can be used to set a specific device to read from. In this case any device which has this action.
         var grabPinchState = SteamVR_Actions._default.GrabPinch.GetState(SteamVR_Input_Sources.Any);​         var grabPinchState = SteamVR_Actions._default.GrabPinch.GetState(SteamVR_Input_Sources.Any);​
-        Debug.Log($"​[SteamVRInputActionsTesting] grabPinchState = {grabPinchState}"​);​+        Debug.Log($"​[SteamVRInputActionsTesting] ​Polling: ​grabPinchState = {grabPinchState}"​);​
     }     }
 } }
Line 158: Line 158:
     ​     ​
     // Method called when `onChange` from the `GrabPinch` is invoked.     // Method called when `onChange` from the `GrabPinch` is invoked.
-    private void OnGrabPinchChanged(SteamVR_Action_Boolean fromAction, SteamVR_Input_Sources fromSource, bool newState)+    private void OnGrabPinchChanged(SteamVR_Action_Boolean fromAction, SteamVR_Input_Sources fromSource, bool grabPinchState)
     {     {
-        Debug.Log($"​[SteamVRInputActionsTesting] ​fromAction ​= {fromAction},​ fromSource = {fromSource},​ newState = {newState}");+        Debug.Log($"​[SteamVRInputActionsTesting] ​Events: grabPinchState ​= {grabPinchState}");
     }     }
 } }
Line 195: Line 195:
  
 <note tip> <note tip>
-  * Ca să legăm informația învățată:​ Acest **Grab Pinch** este o **acțiune** binded pe butonul de **Trigger**,​ conținută în **action set-ul default** +  * Ca să legăm informația învățată:​ Acest **Grab Pinch** este o **acțiune** binded pe butonul de **Trigger**,​ conținută în **action set-ul default** 
-  * În spate, SteamVR va genera cod care ne permite să referențiem în script-urile noastre aceste elemente.+  * În spate, SteamVR va genera cod care ne permite să referențiem în script-urile noastre aceste elemente
   * Pe scurt, acesta este motivul pentru care putem referenția în cod ''​SteamVR_Actions._default.GrabPinch''​   * Pe scurt, acesta este motivul pentru care putem referenția în cod ''​SteamVR_Actions._default.GrabPinch''​
 </​note>​ </​note>​
Line 264: Line 264:
 Pentru a aplica cunoștințele pe care le-ați învățat pe parcursul acest laborator, va trebuie să finalizați implementarea unui **gravity gun**. Pentru a aplica cunoștințele pe care le-ați învățat pe parcursul acest laborator, va trebuie să finalizați implementarea unui **gravity gun**.
  
-Logic de funcționare a acestui **gravity gun** este deja implimentată,​ voi va trebui să configurați și să legați input-ului necesar folosind **acțiuni** și **binding-uri**.+Logica ​de funcționare a acestui **gravity gun** este deja implimentată,​ voi va trebui să configurați și să legați input-ului necesar folosind **acțiuni** și **binding-uri**.
  
-Obiectul **[GracityGun]** din scena suport este de tip **Throwable**,​ așadar îi puteți face grab. +Obiectul **[GravityGun]** din scena suport este de tip **Throwable**,​ așadar îi puteți face grab. 
  
 <note tip> <note tip>
irva/laboratoarevr/03.1728759456.txt.gz · Last modified: 2024/10/12 21:57 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