Unity ile Adım Adım Joystick Kullanımı

Unity ve Joystick Kontrolü

 Merhaba,

Bu yazımda sizlere Unity ile oyunu Joystick ile kontrol etme nasıl yapılır bunu anlatacağım. Kullanıcılar oyunlarını bilgisayar ve konsol ve benzeri platformların yanında mobil cihazlarda da oynamayı çokça tercih ediyorlar ve mobilde çalışacak oyun yazabilmek günümüzde oldukça revaçta. Dokunmatik ekranın avantajını oyun ekranımıza joystick ekleyerek kullanabilir ve oyunumuzun tercih edilir olmasını sağlayabiliriz.

Peki unity oyun projesine Joystick nasıl eklenir? Joystick kontrolü nasıl yapılır? Joystick kullanarak karakter ya da nesne nasıl hareket ettirilir? Hepsini yazımda adım adım anlatacağım.

Halihazırda bir Unity projesi oluşturduğunuzu, bir zemin(plane) ve joystick ile hareket etmesini istediğiniz bir karakter veya bir nesneyi oyun sahnesine eklediğinizi varsayarak anlatmaya başlıyorum.

Joystick Ekleme

1 . Adım : Oluşturduğumuz karaktere Collider ve Rigidbody ekleyelim.

2 . Adım : Ücretsiz bir şekilde sunulan Joystick paketini aşağıdaki linkten projemize ekleyelim.

3 . Adım: Package Manager kullanarak paketimizi sırasıyla download ve import ettikten sonra projemize bir Canvas ekleyelim. Projemizin 2D veya 3D olması önemli değil, her iki durumda da çalışır. Çünkü Joystick’i ekrana yerleştirmek için bir Canvas nesnesine ihtiyacımız var.

4 . Adım: Daha sonra paket klasörleri içerisindeki prefabs klasöründen Fixed Joystick’i bir önceki adımda oluşturduğumuz Canvas’ın altına sürükleyerek bırakalım. Pozisyonu default olarak Fixed belirlenen prefab’ı seçtiğimiz için joystick ekranın sol alt köşesine yerleşecek.

5. Adım: Oyunumuzu mobil platformda ve ekran yana yatıkken kullanmayı tercih ettiğimiz için Build Settings ekranını açalım, Sahneyi build ekranına ekledikten sonra IOS veya Android’i seçerek Switch Platform’a tıklayalım.

Ana Ekranda Scene ve Game pencerelerinin olduğu kısımda artık Game yerine Smilator görüntüleniyor olması gerekir.

6 . Adım: Bu adımda ekran boyutlamasına geçelim. Eklediğimiz Canvas’ın Inspector kısmındaki Scaler özelliğini Scale With Screen Size olarak değiştirelim. Burada hedeflediğimiz ekran boyutlarını girebiliriz.

Joystick Kontrolü

7 . Adım: Ekran boyutlarını da ayarladıktan sonra sıra karakterimizi veya nesnemizi hareket ettirmemizi sağlayacak kodlama kısmına geldi. Script klasörümüz içerisine oluşturacağımız Script dosyasına aşağıdaki kodları ekleyebiliriz.


[SerializeField] private FixedJoystick _joystick;
[SerializeField] private float _moveSpeed;

private void FixedUpdate()
{
JoystickMovement();
}

void JoystickMovement()
{
float horizontal = _joystick.Horizontal;
float vertical = _joystick.Vertical;
Vector3 addedPosition = new Vector3(horizontal * _moveSpeed * Time.deltaTime, 0, vertical * _moveSpeed * Time.deltaTime);
transform.position += addedPosition;
}
Joystick ile Nesne Kontrolü

Ben örnek olması için yukarıdaki gibi düz bir zemin ve bir kapsül ekledim. Bunu karakter gibi düşünebiliriz. Kapsülü rotation’ı ile oynayarak özellikle yan yatırdım çünkü rigidbody’si bulunduğundan zaten oyunu başlattığımız an kendiliğinden yana düşüyor.

8 . Adım: Yukarıda yazmış olduğumuz Script’i karakterimize ekleyelim. Burada private olarak tanımladığımız ancak SerializeField ifadesiyle erişilebilir olmasını sağladığımız _joystick değişkenine paket klasörlerinden eklediğimiz joystick’imizi atamayı unutmayalım.

Unity’de bir oyuna Joystick nasıl eklenir ve nasıl kontrol edilir bunu adım adım anlatmaya çalıştım, umarım faydalı olmuştur.

Teşekkürler.

Selin.


Hiç yorum yok: