This shows you the differences between two versions of the page.
gp:laboratoare:05 [2025/03/30 14:52] maria_anca.balutoiu |
gp:laboratoare:05 [2025/03/30 15:50] (current) maria_anca.balutoiu [Tasks] |
||
---|---|---|---|
Line 5: | Line 5: | ||
* **Template-uri pentru camere:** Se utilizează diverse templete-uri de diferite dimensiuni și forme. Aceste template-uri pot fi fie prefabs, fie modele generate procedural. | * **Template-uri pentru camere:** Se utilizează diverse templete-uri de diferite dimensiuni și forme. Aceste template-uri pot fi fie prefabs, fie modele generate procedural. | ||
- Algoritm de poziționare a camerelor | - Algoritm de poziționare a camerelor | ||
- | * | + | * **Random Walk Algorithm:** Se începe dintr-un punct central și se efectuează o cale aleatoare pentru a plasa camere. Această metodă creează modele organice și neliniare. |
+ | * **Binary Space Partitioning (BSP):** Se împarte spațiul gridului recursiv în secțiuni mai mici pentru a plasa camere, asigurând o distribuție echilibrată. | ||
- Conectarea camerelor | - Conectarea camerelor | ||
+ | * **Generarea coridorului:** După ce s-au plasat camerele, se generează coridoare pentru a crea conexiuni. Toate camerele ar trebui să fie conectate. | ||
+ | * **Pathfinding:** Se implementează algoritmi precum A* pentru a asigura cele mai scurte și mai logice căi între camere. | ||
- Vizualizarea dungeon-ului | - Vizualizarea dungeon-ului | ||
+ | * Tilemaps pentru 2D | ||
+ | * Instanțiere de prefabs pentru 3D | ||
- Optimizări și Îmbunătățiri | - Optimizări și Îmbunătățiri | ||
- | <hidden> | + | * Occlusion Culling |
- | 1. Definiți structura temniței | + | * Elemente decorative |
- | Aspect bazat pe grilă: Utilizați un sistem de grilă în care fiecare celulă reprezintă o cameră potențială sau un segment de coridor. Acest lucru simplifică logica de plasare și conectare. | + | ==== BSP ==== |
+ | BSP urmează o abordare recursivă de partiționare a spațiului în care o zonă mare este împărțită continuu în secțiuni mai mici. Pașii includ: | ||
- | Șabloane de cameră: proiectați diverse șabloane de cameră de diferite dimensiuni și forme. Aceste șabloane pot fi GameObjects predefinite sau modele generate procedural. | + | - **Inițializarea spațiului.** Se începe cu o regiune dreptunghiulară mare care reprezintă întreaga zonă a dungeon-ului. |
+ | - **Divizări recursive.** Se împarte recursiv spațiul în două subregiuni folosind fie o împărțire verticală, fie orizontală. Se continuă împărțirea până când regiunile ating o dimensiune minimă predefinită. | ||
+ | - **Plasarea camerei.** În fiecare subregiune, se plasează aleatoriu o cameră care se încadrează în spațiu. Camera nu trebuie neapărat să acopere întreaga subregiune, permițând amenajări mai naturale. | ||
+ | - **Conectarea camerelor.** Odată ce camerele sunt amplasate, coridoarele sunt create pentru a le conecta. | ||
- | 2. Algoritmul de plasare a camerei | + | ==== Tasks ==== |
- | + | - Generați procedural folosind BSP un dungeon. | |
- | Algoritmul de mers aleatoriu: Începeți dintr-un punct central și efectuați o plimbare aleatorie pentru a crea căi, plasând camere la intervale. Această metodă creează machete organice și neliniare. | + | - **Bonus.** Generați un dungeon cu minim 3 etaje. |
- | + | ||
- | Binary Space Partitioning (BSP): Împărțiți recursiv spațiul grilei în secțiuni mai mici pentru a plasa camere, asigurând o distribuție echilibrată. | + | |
- | + | ||
- | 3. Camere comunicante | + | |
- | + | ||
- | Generarea coridorului: După ce ați plasat camere, generați coridoare pentru a le conecta. Asigurați-vă că toate camerele sunt accesibile pentru a menține capacitatea de redare. | + | |
- | + | ||
- | Algoritmi Pathfinding: Implementați algoritmi precum A* pentru a asigura cele mai scurte și mai logice căi între camere. | + | |
- | + | ||
- | 4. Vizualizarea | + | |
- | + | ||
- | Tilemaps pentru 2D: utilizați sistemul Tilemap al Unity pentru a reda aspectul temniței în 2D. | + | |
- | + | ||
- | Instanciare prefabricată pentru 3D: Instanciați prefabricate de cameră și coridor într-un spațiu 3D pentru a vizualiza temnița. | + | |
- | + | ||
- | 5. Optimizare și îmbunătățire | + | |
- | + | ||
- | Eliminarea ocluziei: implementați eliminarea ocluziei pentru a optimiza redarea, fără sălii și coridoare care nu sunt în raza vizuală a jucătorului. | + | |
- | + | ||
- | Elemente decorative: adăugați recuzită și decorațiuni în camere pentru a spori atractivitatea vizuală și varietatea. | + | |
- | </hidden> | + | |