Unity’de Input System’e Giriş
Unity’de Input System’e Giriş konusunda temel mantığı, gerçek uygulama adımlarını, hata senaryolarını ve doğrulama yöntemlerini açıklayan uygulamalı rehber. Input tasarımında fiziksel aygıtı doğrudan oyun davranışına bağlamak yerine “Jump”, “Move”, “Pause” gibi eylemler tanımlamak, klavye/gamepad/dokunmatik…

Konu, Amaç ve Beklenen Sonuç
Input tasarımında fiziksel aygıtı doğrudan oyun davranışına bağlamak yerine “Jump”, “Move”, “Pause” gibi eylemler tanımlamak, klavye/gamepad/dokunmatik kaynaklarını aynı oyun komutuna bağlamayı kolaylaştırır. UI tarafında EventSystem ve uygun Input Module pointer, navigation ve submit olaylarını UI elemanlarına taşır.
Adım Adım Uygulama
1. Adım
1. Oyun eylemlerini aygıt isimlerine göre değil niyete göre tanımla: Move, Fire, Pause, Confirm gibi.
2. Adım
2. Input System kullanıyorsan Action Map’leri gameplay/UI gibi bağlamlara ayır ve aynı anda hangilerinin etkin olacağını belirle.
3. Adım
3. Dokunmatik butonları gerçek parmak hedefi düşünülerek yeterli boyutta ve aralıklı tasarla; görsel ikon boyutu ile tıklanabilir alanı gerektiğinde ayır.
4. Adım
4. UI ekranı açıldığında gameplay input’unun arka planda istemeden çalışmasını engelle; UI Action Map veya modal state kullan.
5. Adım
5. EventSystem’in sahnede tek ve doğru Input Module ile bulunduğunu doğrula; birden fazla EventSystem kopyası oluşturma.
6. Adım
6. Press/hold/drag gibi farklı gesture durumlarında pointer cancel ve ekran dışına çıkma senaryolarını ele al.
7. Adım
7. Gerçek cihaz, klavye ve gamepad ile aynı eylemin beklenen şekilde çalıştığını test et.
Uygulamalı Örnek
Örneğin mobil “Fire” butonu ve gamepad sağ tetik aynı Fire action’a bağlanabilir. Pause menüsü açıldığında Gameplay map kapatılıp UI map açılır. Menü kapandığında durum tersine çevrilir; böylece UI ile oyun input’u birbirine karışmaz. Bu örneği kendi projenize uyarlarken değerleri ezberlemek yerine “Unity’de Input System’e Giriş” konusundaki aynı neden-sonuç ilişkisini koruyun.
Yaygın Hatalar ve Nedenleri
1. Ekran koordinatına özel sabit dokunma bölgeleri kodlamak.
2. UI üstündeyken oyun sahnesine de input geçirmek.
3. Çok küçük dokunma hedefleri kullanmak.
4. EventSystem’i sahne geçişinde kopyalamak.
5. Action aboneliklerini etkinlik döngüsünde temizlememek.
Son Kontrol ve Doğrulama
1. Butona basılı tutup parmağı dışarı sürükleme durumunu dene. Sonuç “Unity’de Input System’e Giriş” için somut kabul ölçütü olarak kullanılmalıdır.
2. İki parmaklı girişte beklenmeyen çift tetik var mı kontrol et.
3. UI modal açıkken hareket/ateş input’unu engelle.
4. Gamepad navigation focus sırasını test et.
5. Farklı DPI ve ekranlarda dokunma hedeflerinin kullanılabilirliğini gözlemle.
Kısa Sonuç
Unity’de Input System’e Giriş için kaliteli sonuç, aracı veya ayarı bir kez kullanmaktan değil; doğru sorumluluğu seçip uygulamayı gerçek koşulda doğrulamaktan gelir.
Kaynaklar
Bu makaledeki teknik kavramları doğrulamak ve sürüme bağlı ayrıntıları kontrol etmek için aşağıdaki birincil/resmî kaynaklar kullanılmıştır. Yazılım arayüzleri ve platform gereksinimleri zamanla değişebileceği için özellikle yayın/build/SEO gibi güncel konularda son sürüm dokümantasyonunu kontrol edin.
1. Canvas – Unity Scripting API: https://docs.unity3d.com/kr/current/ScriptReference/Canvas.html
2. Canvas Scaler – Unity Manual: https://docs.unity3d.com/ja/2023.2/Manual/script-CanvasScaler.html
3. Designing UI for Multiple Resolutions – Unity: https://docs.unity3d.com/cn/2018.3/Manual/HOWTO-UIMultiResolution.html
4. Rect Transform – Unity Manual: https://docs.unity3d.com/6000.0/Documentation/Manual/class-RectTransform.html
5. Auto Layout – Unity Manual: https://docs.unity3d.com/6000.0/Documentation/Manual/UIAutoLayout.html
6. Event System – Unity Manual: https://docs.unity3d.com/6000.0/Documentation/Manual/EventSystem.html
7. Unity 6 Manual: https://docs.unity3d.com/6000.0/Documentation/Manual/index.html
8. Unity Scripting API: https://docs.unity3d.com/6000.0/Documentation/ScriptReference/index.html



