Bu bölümde, burada Unreal Engine ile düzenlediğimiz projeye tuş girişleri eklemeye çalışacağız.
Oyun esnasında kullanıcı tarafından klavye ve fare ile yapılan girişlere işlem yapmak için "IMC_Default" nesnesi kullanılır.
Editor ortamında, Content Drawer penceresinde "Content\Input" dizini altında "IMC_Default" dosyası yer almaktadır.
IMC_Default dosyası, projenin giriş (input) ayarlarını yönetmek için kullanılan bir Input Mapping Context'tir.
Basitçe anlatmak gerekirse, bu dosya, oyuncunun klavye, fare, gamepad gibi giriş cihazlarındaki hangi tuşların veya hareketlerin, oyun içindeki hangi eylemlere karşılık geldiğini belirleyen bir "harita" görevi görür.
IMC_Default dosyasının temel işlevleri
Kısacası, IMC_Default dosyası, oyuncunun yaptığı fiziksel girişleri (tuşa basma, fareyi hareket ettirme) oyunun anlayabildiği ve tepki verebildiği eylemlere dönüştüren merkezi bir konfigürasyon dosyasıdır. Bu sistem, eski Input System'e göre daha modern ve esnek bir yapı sunar.
P tuşu için atama yapma
Oyun içinde P tuşuna basıldığında, IMC_Default dosyası kullanılarak, bir işlem yapılmasını sağlamak için aşağıdaki işlemleri sırasıyla gerçekleştirelim:
1. "Game" dizini altında "Input" adlı bir dizin ve bu dizin altında "Actions" adlı bir dizin oluşturalım.
2. Actions dizini içinde iken, sağ tıklayıp açılan menüden, Input -> Input Action seçeneğini seçelim ve IA_Pause olarak adlandıralım.
3. IMC_Default nesnesine çift tıklayıp açtıktan sonra, "Details" sekmesinde:
4. BP_BasicCharacter EventGraph içinde fareyi sağ tıklayınca gelen pencerede "IA_Pause" yazınca gelen pencerede "Enhanced Action Events" altındaki "IA_Pause" değerini seçelim. Böylece, "EnhancedInputAction IA_Pause" kutusu açılır.
5. Bu kutunun Started portundan Print String ile yazdığımız herhangi bir yazı, oyun başlattıktan sonra P tuşuna bastığımızda ekrana yazılır.
L tuşu için atama yapma (Level değiştirme işlemi için)
Oyun içinde L tuşuna basıldığında, Level değiştirmek için aşağıdaki işlemleri sırasıyla gerçekleştirelim:
1. Actions dizini içinde iken, sağ tıklayıp açılan menüden, Input -> Input Action seçeneğini seçelim ve IA_Level olarak adlandıralım.
2. IMC_Default nesnesine çift tıklayıp açtıktan sonra, "Details" sekmesinde:
3. BP_BasicCharacter penceresinin EventGraph sekmesinde aşağıda gösterilen yapıyı oluşturalım:
İki Level arasında geçiş yapmak için, her iki Level'ın "World Settings" sekmesindeki "GameMode Override" değerinin "BP_BasicGameMode" değerini içermesi gerekir. Çünkü, P ve L tuş girişlerinin içinde tanımlandığı EventGraph BP_BasicCharacter'e ait ve BP_BasicCharacter BP_BasicGameMode'un "Default Pawn Class" değeri olarak yüklendiğinden, P ve L tuş girişlerine işlem yapılabilmesi için, BP_BasicGameMode'un ve dolayısıyla da BP_BasicCharacter'in yüklenmesi gerekir.
Alternatif olarak, her iki Level'ın "World Settings" sekmesindeki "GameMode Override" değeri ""BP_ThirdPersonGameMode" olarak ve ""BP_ThirdPersonGameMode" nesnesinin "Default Pawn Class" değeri "BP_BasicCharacter" olarak değiştirilebilir.