Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /var/www/vhosts/bilgigunlugum.net/httpdocs/index.php on line 43
Unreal Engine

Unreal Engine Oyun Programlama sayfalarımız yayında...

Ana sayfa > Oyun programlama > Unreal Engine > Input Asset'leri oluşturma

Unreal Engine input asset'leri oluşturma

Bu bölümde, ileride oluşturacağımız PlayerController'ın çalışması için input asset'leri oluşturacağız.

Input Actions oluşturma

1. "Blueprints" 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ıkladığımızda açılan menüden, "Input -> Input Action" seçeneği ile aşağıdaki Input Action'ları oluşturup karşılarında gösterilen türleri atayalım:

  • IA_Move -> Value Type: Axis2D (Vector2D)
  • IA_Look -> Value Type: Axis2D (Vector2D)
  • IA_Jump -> Value Type: Digital (bool) -> Triggers satırında iki adet Trigger ekleyerek ilkinin değerini "Pressed" ikincisinin değerini "Released" olarak belirleyelim.
  • IA_Sprint -> Value Type: Digital (bool)
  • IA_Interact -> Value Type: Digital (bool)
  • IA_Pause -> Value Type: Digital (bool)

Input Mapping Context oluşturma

1. "Input" dizini içinde iken, sağ tıkladığımızda açılan menüden, "Input -> Input Mapping Context" seçeneği ile bir Input Mapping Context oluşturup adını "IMC_Default" olarak değiştirelim.

2. Oluşturduğumuz Input Action'ları, IMC_Deafult penceresinde, "Default Key Mappings -> Mappings" altına aşağıda gösterilen değerlerle ekleyelim.

3."Editor -> Project Settings..." penceresinde "Engine -> Enhanced Input" sekmesinde "Default Mapping Contexts -> Input Mapping Context" kutusuna "IMC_Default" değerini atayalım.

MyGame.Build.cs dosyasını düzenleme

"MyGame\Source\MyGame" dizinindeki MyGame.Build.cs dosyasını aşağıdaki şekilde düzenleyelim:


using UnrealBuildTool;

public class MyGame : ModuleRules
{
	public MyGame(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
	
		// UMG UI için gerekli
		PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput", "UMG" });

		PrivateDependencyModuleNames.AddRange(new string[] {  });
	}
}