Unity 2D kolay map hazırlama | Tile Palette Kullanımı

AhmetKnKc

Uzman üye
15 Mar 2018
1,081
9
19
Evden

Merhaba,
Bu konumda sizlere Unity' de Tile Palette ile kolay bir şekilde 2D harita hazırlamayı göstericeğim.

İlk olarak Window > 2D > Tile Palette yolunu izliyerek Tile Palette' yi açalım.
N4Ld0a.png



Daha sonra açılan pencereden "Create New Palette" butonuna tıklayıp yeni bir Tile Palette oluşturalım.
aNcJ06.png


Bizden klasör seçmemizi istiyor. Ben genelde yeni klasör oluşturup ismini "Tile Palet" yapıp seçiyorum. İsmini ne yaptığınız pek fark etmiyor.
RRSI6f.png


Şimdi ise haritamızda kullanıcağımız resimleri seçiyoruz. Ben Asset Store'den indirdiğim BU paketi kullanarak yapıcağım.
y6QCT8.png


Seçtikten sonra basılı tutarakTile Palette penceresinin ortasına sürüklüyoruz.
Bizden tekrar klasör seçmemizi istiyor ben burada "Tile Palet" klasörünün içine yeni bir klasör açıp ismini "Tiles" yapıp seçiyorum.
ya9Ne8.png


Resimler geldi. Şimdi ise daha rahat çalışa bilmek için "Tile Palet" yazısının sağındaki "Edit" butonuna tıklayıp "M" tuşuna (Taşıma aracı) basıyoruz. daha sonra ise "Ctrl" tuşuna basılı tutup taşıyacağım Sprite' ye tıkllayıp nasıl rahat ediceksem öyle sürüklüyorum.
Na7H73.png

Ic43VS.png


Gerekli hazırlıkları yaptıktan sonra boş bir "GameObject" oluşturup ismini "Grid" yapıyoruz.
Oluşturduğumuz "Grid" objesine sağ tıklayıp yine boş bir "GameObject" oluşturup ismini "Grass" yapıyoruz.
QOM0Jy.png


Oluşturulan "Grid" objesine tıklayıp "Add Component" butonuna tıklayıp arama kısmına "Grid" yazıp oluşturuyoruz.
PL7TeS.png


Oluşturduğumuz "Grass" Objesine tıklayıp "Add Component" butonuna tıklayıp arama kısmına "Tilemap Renderer" yazıp oluşturuyoruz.
LdBTCA.png


Tile Palette penceresinden "Edit" butonuna tekrar tıklayarak kapatalım. Daha sonra "Active Tilemap" kısmından "Grass" ın seçili olduğundan emin olalım.
67MU8I.png


Fırça Aracı' nı (Brush "B") açarak Tile Paletteden obje seçip "Scene" penceresine yan yana 2 farklı Sprite koyalım.
KIKyQ1.png


Gördüğünüz gibi Sprite' lar iç içe. Bunun çözümü ise Grid objesinin içindeki "Grid" componentindeki "Cell Size" ayarıdır. Değerlerle kendiniz oynayarak en doğrusunu bulmaya çalışın.
NeBNcb.png


Benim kullandığım Sprite' ların ayarı 1.28 miş. Bu ayar kullandığınız Sprite'lara göre değişiklik gösterir.
GcbOHS.png


Şuan herşey hazır artık haritamızı çizebiliriz.
Silgi aracı (Shift) kullanarak eğer koyduğunuz yer yanlış vb ise kolaylıkla silebilirsiniz.

Kullanım için ufak bir video çektim. Aşağıdaki linke tıklayıp ulaşa bilirsiniz.
https://streamable.com/z3nvu


Şimdi ise oluşturduğumuz haritaya collider gerekir. Unity sağolsun 3-4 tıkla kolaylıkla collider ekleyebiliyoruz.
Yapmamız gereken tek şey "Grass" objesine tıklayıp "Add Component" den "Tilemap Collider 2D" yi eklemek.
OWNSRG.png



Bunu yaptıktan sonra görüyoruz ki karakterin ayak basamıyacağı yerlerede collider ekliyor. Bunu düzeltmek için "Tilemap Collider 2D" componentindeki "Used By Composite" tikini açmak ve "Composite collider 2D" componentini eklemek.
"Composite Collider 2D" yi ekledikten sonra otomatik olarak "RigidBody2D" componenti geliyor. Biliyoruz ki RigidBody2D componenti yerçekimi gibi fiziksel özellikler sağlıyor. Dolayısıyla zemin yere düşücek bunun için RigidBody2D componentinden "Body Type" özelliğini "Static" yapıyoruz. Böylece bu tür sorunların önüne geçiceğiz.
WMV37H.png


Evet konum bu kadardı. Tamamen hiçbir yazıyı kopyalamadan kendim yazdım. Eğer işinize yaradıysa teşekkür etmeyi unutmayın.

Not: Bir sonraki konumda Karakter zıplama yürüme vs şeyleri gösterip animasyonlarını yapmayı göstericeğim.
Not: Konuda yazım hatası veya yanlış adlandırdığım şeyler olabilir. Hatalarım için kusura bakmayın.
İyi forumlar dilerim.
 
Son düzenleme:

AhmetKnKc

Uzman üye
15 Mar 2018
1,081
9
19
Evden
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.