Differences

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

Link to this comparison view

pjv:laboratoare:05 [2018/11/14 16:08]
alexandru.gradinaru
pjv:laboratoare:05 [2018/11/14 19:34] (current)
alexandru.gradinaru
Line 1: Line 1:
-===== Elemente de programare a jocurilor ​3D =====+===== Introducere in 3D =====
  
 ==== Controlul caracterelor in 3D ==== ==== Controlul caracterelor in 3D ====
Line 5: Line 5:
 Pentru miscarea si controlul caracterelor in 3D sunt posibile mai multe abordari. Pentru miscarea si controlul caracterelor in 3D sunt posibile mai multe abordari.
  
-=== Character Controller ​===+=== CharacterController ​===
  
-Character Controller ​este o componenenta ce poate fi adaugata pentru a putea controla caracaterul. Aceasta componenta nu foloseste elemente de fizica in nici nu fel, dar vine atasat cu un collider de baza ''​Capsule Collider''​ care nu permite intrarea in alte collidere. Acest lucru simplifica foarte mult scriptarea caracterului.+CharacterController ​este o componenenta ce poate fi adaugata pentru a putea controla caracaterul. Aceasta componenta nu foloseste elemente de fizica in nici nu fel, dar vine atasat cu un collider de baza ''​Capsule Collider''​ care nu permite intrarea in alte collidere. Acest lucru simplifica foarte mult scriptarea caracterului.
  
 Character Controller pune la dispozitie doua metode pentru miscarea caracterului: ​ Character Controller pune la dispozitie doua metode pentru miscarea caracterului: ​
Line 36: Line 36:
 </​code>​ </​code>​
  
-In cazul functiilor puse la dispozitie de Character Controller, miscarile sunt constranse de coliziuni in mod automatsi fiind destul de permisiva (spre exemplu va putea urca autmat rampe sau scari).+In cazul functiilor puse la dispozitie de Character Controller, miscarile sunt constranse de coliziuni in mod automat si este destul de permisiva (spre exemplu va putea urca autmat rampe sau scari).
  
 <​html>​ <​html>​
Line 91: Line 91:
 </​code>​ </​code>​
 Daca inputul nu este normalizat, caracterul se va misca cu o viteza mai mare atunci cand se misca in fi Daca inputul nu este normalizat, caracterul se va misca cu o viteza mai mare atunci cand se misca in fi
 +
 +
 +=== Rotatia camerei ===
 +
 +Pentru rotatia camerei exista mai multe variante, dar una dintre cele mai indiacate este sa retineti intotdeauna rotatia actuala a camerei, pentru a evita probleme legate de rotatii multiple compuse.
 +
 +O varianta simpla:
 +<​code>​
 +    private float yaw = 0.0f;
 +    private float pitch = 0.0f;
 +
 +    void Update () {
 +        yaw += speedH * Input.GetAxis("​Mouse X");
 +        pitch -= speedV * Input.GetAxis("​Mouse Y");
 +
 +        transform.eulerAngles = new Vector3(pitch,​ yaw, 0.0f);
 +    }
 +</​code>​
  
 ==== Raycasting ==== ==== Raycasting ====
Line 148: Line 166:
  
 Pentru reprezentarea healthbar-ului sau a altor elemente de tip bara, se poate folosi un element de UI (gameobject) de tip Slider, asa cum este reprezentat in imaginea de mai sus. Pentru reprezentarea healthbar-ului sau a altor elemente de tip bara, se poate folosi un element de UI (gameobject) de tip Slider, asa cum este reprezentat in imaginea de mai sus.
 +
 +<​code>​
 +GetComponent.<​Slider>​().value = myHealth;
 +</​code>​
  
 === Minimap === === Minimap ===
Line 208: Line 230:
  
   - Configurati scene pentru rulare 3D   - Configurati scene pentru rulare 3D
-  - Adaugati in scena un caracter FPS: o arma, un crosshair si camera plasata pentru a da impresia unui caracter+  - Adaugati in scena un caracter FPS: o arma, un crosshair si camera plasata pentru a da impresia unui caracter ​(puteti lua resurse din asset store sau alte locuri: [[pjv:​resurse|]])
   - Caracterul se va putea controla de la tastatura si mouse. Folositi RigidBody sau CharacterController pentru control   - Caracterul se va putea controla de la tastatura si mouse. Folositi RigidBody sau CharacterController pentru control
   - Caracterul va avea o bara de viata   - Caracterul va avea o bara de viata
Line 220: Line 242:
   - Adaugati un minimap   - Adaugati un minimap
  
-<​hidden>​ 
-(vezi demo UI de la 3dpub) 
-  - coliziuni, proiectile 
-  - interfata grafica pt un fps 
-  - Managing weapons, Navmeshes, navmesh Agents, AI Auto-Attack 
-  - animatie caractere atac, arma, coliziuni atac 
-</​hidden>​ 
- 
- 
-<​hidden>​ 
-===== Elemente de programare a jocurilor 3D ===== 
-- animatii cu blend tree 
- 
- 
-</​hidden>​ 
pjv/laboratoare/05.1542204539.txt.gz ยท Last modified: 2018/11/14 16:08 by alexandru.gradinaru
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