Unity Eğitim
Dersler
Forum Sınav Merkezi Premium 💎
C# Dersleri

Unity'de Input.GetAxisRaw() ile Ham Giriş Okuma: Kolay Anlatım

Paylaşan: Unity Eğitim 12 September 2025 3 dakika okuma 123 görüntülenme

Merhaba Unity geliştiricileri! Bu yazıda, Unity oyun motorunda oyuncunun girişlerini (input) işlemek için kullanılan önemli bir fonksiyon olan Input.GetAxisRaw()'ı detaylı bir şekilde inceleyeceğiz. Input.GetAxis() fonksiyonuna göre avantajlarını ve kullanım alanlarını örneklerle açıklayacağız.

Input.GetAxis() ve Input.GetAxisRaw() Arasındaki Fark


Öncelikle, Input.GetAxis() ve Input.GetAxisRaw() fonksiyonları arasındaki temel farkı anlamak önemlidir. Input.GetAxis(), zaman içinde yumuşatılmış (smoothed) bir giriş değeri döndürür. Bu, oyuncunun girişlerindeki ani değişiklikleri azaltarak daha akıcı bir oyun deneyimi sağlar. Ancak, bazı durumlarda bu yumuşatma istenmeyen sonuçlara yol açabilir.

Input.GetAxisRaw() ise, ham (raw) giriş değerini döndürür. Yani, oyuncunun girişindeki her bir değişiklik doğrudan yansıtılır. Bu, daha hassas ve hızlı tepki gerektiren oyunlar için idealdir. Örneğin, bir platform oyununda karakterin ani yön değişikliklerini doğru bir şekilde yakalamak için Input.GetAxisRaw() kullanmak daha uygun olabilir.

Örnek Senaryo: Platform Oyunu


Bir platform oyununda, karakterin yatay hareketini kontrol etmek için Input.GetAxisRaw() kullanabiliriz. Aşağıdaki kod örneği, yatay eksendeki ham giriş değerini alıp, karakterin hızını buna göre ayarlar:
using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
public float speed = 5f;
private Rigidbody2D rb;

void Start()
{
rb = GetComponent<Rigidbody2D>();
}

void FixedUpdate()
{
float horizontalInput = Input.GetAxisRaw("Horizontal");
Vector2 velocity = rb.velocity;
velocity.x = horizontalInput * speed;
rb.velocity = velocity;
}
}


Bu kodda, "Horizontal" giriş eksenini kullanarak yatay hareketi kontrol ediyoruz. Input.GetAxisRaw("Horizontal") fonksiyonu, -1 (sola), 0 (hareketsiz) veya 1 (sağa) değerlerinden birini döndürür. Bu değer, karakterin hızını belirlemek için kullanılır.

Input.GetAxisRaw()'ın Diğer Kullanım Alanları


Input.GetAxisRaw() sadece yatay hareket için değil, birçok farklı giriş türü için kullanılabilir. Örneğin:

  • Düşey hareket: "Vertical" eksenini kullanarak karakterin yukarı ve aşağı hareketini kontrol edebilirsiniz.

  • Zıplama: "Jump" gibi bir düğmenin basılı olup olmadığını kontrol ederek zıplama mekaniğini gerçekleştirebilirsiniz. Bu durumda Input.GetButtonDown() veya Input.GetButton() fonksiyonlarını da kullanabilirsiniz.

  • Kamera kontrolü: Oyun kamerasının hareketini kontrol etmek için Input.GetAxisRaw() kullanabilirsiniz.

  • Menülerde navigasyon: Menü öğeleri arasında gezinmek için yön tuşlarını veya analog çubuğu kullanabilirsiniz.


Avantajlar ve Dezavantajlar


Avantajlar:



  • Hassasiyet: Ham giriş değerleri, daha hassas kontrol sağlar.

  • Hızlı tepki: Girişlere hızlı bir şekilde yanıt verir.

  • Basitlik: Kullanımı kolay ve anlaşılır bir fonksiyondur.


Dezavantajlar:



  • Ani hareketler: Bazı oyunlarda ani hareketler istenmeyen sonuçlara yol açabilir.

  • Yumuşatma eksikliği: Oyun deneyimini daha az akıcı hale getirebilir.


Dolayısıyla, Input.GetAxisRaw()'ı ne zaman kullanacağınıza karar verirken, oyununuzun türü ve ihtiyaçlarını göz önünde bulundurmanız önemlidir. Eğer hassasiyet ve hızlı tepki önemliyse, Input.GetAxisRaw() ideal bir seçimdir. Ancak, daha akıcı bir oyun deneyimi için Input.GetAxis()'ı tercih edebilirsiniz.

Özet


Bu yazıda, Unity'de Input.GetAxisRaw() fonksiyonunun nasıl kullanılacağını, Input.GetAxis() fonksiyonu ile arasındaki farkları ve kullanım alanlarını örneklerle açıkladık. Unutmayın ki, doğru giriş fonksiyonunu seçmek oyununuzun kalitesi için oldukça önemlidir. İyi kodlamalar!

 

🧠 Ders Sonu Değerlendirme Testi

Dersi tamamladıktan sonra bilgilerinizi test edin ve ekstra puanlar kazanın.

🔥 +50 XP Ödül
🔒

Sınava Katılmak İçin Giriş Yapın

Bu ders sonu testini çözebilmek, bilginizi test edip **+50 XP** kazanmak ve **Sınav Şampiyonu** rozetinin kilidini açmak için üye girişi yapmalısınız.

Yorumlar (0)

Yorum yazabilmek ve derslere katkıda bulunabilmek için giriş yapmalısınız.

İlk yorumu siz yapın!