Differences

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

Link to this comparison view

pjv:laboratoare:04 [2018/10/31 15:40]
alexandru.gradinaru [Generare procedurala]
pjv:laboratoare:04 [2019/10/23 16:13] (current)
alexandru.gradinaru
Line 21: Line 21:
  
 {{ :​pjv:​laboratoare:​create-tiles-from-spritesheet.gif?​direct&​300 |}} {{ :​pjv:​laboratoare:​create-tiles-from-spritesheet.gif?​direct&​300 |}}
 +
 +Se pot folosi si brush-uri standard sau personalizate,​ prefab-uri etc.
 +
 +{{ :​pjv:​laboratoare:​2018-10-31_1_.png?​direct&​300 |}}
  
 ==== Tile maps ==== ==== Tile maps ====
Line 31: Line 35:
  
 {{ :​pjv:​laboratoare:​paint-sand.gif?​direct&​300 |}} {{ :​pjv:​laboratoare:​paint-sand.gif?​direct&​300 |}}
 +
 +Exista si posibiltatea de a folosi un prefab pentru un tile prin ''​PrefabBrush''​. Acest lucru ne permite definirea de obiecte mai complexe (scriptate, de ex pickups sau inamici) si generarea lor in tile-uri.
 +
 +{{ :​pjv:​laboratoare:​setup-prefab-brush.png?​direct&​300 |}}
 +
 +{{ :​pjv:​laboratoare:​painting-prefabs-down.gif?​direct&​300 |}}
  
 Se pot adauga mai multe tilemap-uri in grid (spre ex unul pentru teren, unul pentru vegetatie, inamici etc) Se pot adauga mai multe tilemap-uri in grid (spre ex unul pentru teren, unul pentru vegetatie, inamici etc)
Line 80: Line 90:
 Pentru a seta un tile, se poate folosi functia Pentru a seta un tile, se poate folosi functia
 <​code>​ <​code>​
 +
 +using UnityEngine.Tilemaps;​
 +
 +[Tooltip("​The Tilemap to draw onto"​)]
 +public Tilemap tilemap;
 +[Tooltip("​The Tile to draw (use a RuleTile for best results)"​)]
 +public TileBase tile;
 +
 //​SetTile(position,​ tile) //​SetTile(position,​ tile)
 tilemap.SetTile(new Vector3Int(x,​ y, 0), tile); tilemap.SetTile(new Vector3Int(x,​ y, 0), tile);
Line 87: Line 105:
 Mai multe detalii si exemple de implementare gasiti aici: [[https://​blogs.unity3d.com/​2018/​05/​29/​procedural-patterns-you-can-use-with-tilemaps-part-i/​|Part I]] [[https://​blogs.unity3d.com/​2018/​06/​07/​procedural-patterns-to-use-with-tilemaps-part-ii/​|Part II]] Mai multe detalii si exemple de implementare gasiti aici: [[https://​blogs.unity3d.com/​2018/​05/​29/​procedural-patterns-you-can-use-with-tilemaps-part-i/​|Part I]] [[https://​blogs.unity3d.com/​2018/​06/​07/​procedural-patterns-to-use-with-tilemaps-part-ii/​|Part II]]
  
-Exista si posibiltatea ​de a folosi ​un prefab pentru un tile prin ''​PrefabBrush''​. Acest lucru ne permite definirea ​de obiecte mai complexe (scriptatede ex pickups sau inamici) si generarea lor in tile-uri+De asemenea, in proiectul ​de starter, mai este definit ​un tip de tiledenumit PrefabTile, prin care practic se pot adauga prefab-uri ca tile-uri ​efectiv (se inlocuieste gameObjectul tile-ului cu cel al prefab-ului)Puteti verifica in Add-Ons > PrefabTile. Astfel, se pot folosi prefab-uri pentru generare automata de tile-uri.
- +
-{{ :​pjv:​laboratoare:​setup-prefab-brush.png?​direct&​300 |}} +
- +
-{{ :​pjv:​laboratoare:​painting-prefabs-down.gif?​direct&​300 |}} +
- +
  
 === Cerinte === === Cerinte ===
  
-  - Descarcati scena de start de aici: +  - Descarcati scena de start de aici: [[https://​www.dropbox.com/​s/​8lo09g081ni0j2c/​2DTilemapsStarter.zip?​dl=0 | Download ZIP]]
   - Creati o paleta de sprite-uri   - Creati o paleta de sprite-uri
   - Adaugati un tilemap   - Adaugati un tilemap
-  - Desenati tilemap-ul folosind paleta definita+  - Desenati tilemap-ul folosind paleta definita, adaugand coliziune pe alocuri 
 +  - Desenati tilemap-ul cu diverse tipuri de brush, inclusiv cu cel definit custom (GemBrush)
   - Adaugati un nou tilemap   - Adaugati un nou tilemap
   - Definiti un RuleTile si reguli pentru JungleTile (aveti deja exemplu cu GrassPlatform)   - Definiti un RuleTile si reguli pentru JungleTile (aveti deja exemplu cu GrassPlatform)
   - Creati un script pentru a genera random o suprafata de teren/​obstacole cu coliziune folosind RuleTile   - Creati un script pentru a genera random o suprafata de teren/​obstacole cu coliziune folosind RuleTile
   - Creati un script pentru a genera random elemente de mediu fara coliziune (le gasiti in EnvironmentProps;​ puteti folosi un output de Random sau direct un RandomTile)   - Creati un script pentru a genera random elemente de mediu fara coliziune (le gasiti in EnvironmentProps;​ puteti folosi un output de Random sau direct un RandomTile)
-<​hidden>  ​- Creati un script pentru a genera random elemente de pickup (aveti un prefab ''​CollectableGem''​ la dispozitie)</hidden>+  ​- Creati un script pentru a genera random elemente de pickup (aveti un prefab ''​CollectableGem''​ la dispozitie ​pe care il puteti folosi intr-un PrefabTile) 
 + 
 +==== Resurse ==== 
 + 
 +[[https://​felgo.com/​game-resources/​make-pixel-art-online|Aplicatii de desenat sprite-uri]] 
 + 
pjv/laboratoare/04.1540993206.txt.gz · Last modified: 2018/10/31 15:40 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