Differences

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

Link to this comparison view

pjv:laboratoare:05 [2018/11/14 16:24]
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 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 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.1542205462.txt.gz ยท Last modified: 2018/11/14 16:24 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