https://dev.epicgames.com/documentation/en-us/unreal-engine/pawn-in-unreal-engine

  • Player veya AI ile kontrol edilen sınıfların base sınıfıdır. Bir araba, bir kuş, bir karakter. Pawn sınıfını base alır.
  • By default, there is a one-to-one relationship between Controllers and Pawns;

Auto Posses

Eğer bir pawn nesnesini sahneye yerleştirip oyuna başlarsak bu pawn ı kontrol edemediğimizi görebiliriz. Mouse klavye girdilerinin direk olarak bu yeni pawn’ı kontrol etmesinin istiyorsak. Nesneyi seçip details panel’den Auto Possess Player : Player0 yapabiliriz. Aynı şeyi kodla yapmak istersek:

// pawn ve sub classlar için 
// Oyun başladığında direk olarak player0 ın inputlarını alıyor. 
AutoPossessPlayer = EAutoReceiveInput::Player0;
C++

Bunu yaptıktan sonra oyunu başlattığımızda otomatik olarak yeni oluşturduğumuz pawn’ı kontrol ediyor olmuş olacağız.

Buradaki Player0 meselesi multiplayer oyunlarda önem kazanayor. Default olarak tek oyunculu oyunlarda hep Player0 oluyor

Add Movement & Rotation

  • Nesneyi hareketlendirmek için AddMovementInput fonksiyonunu kullandık. Bu fonksiyon tek başına hareket ettirmek için yeterli değil ayrıca component olarak FloatingPawnMovement component’ini ekledik.
  • Aktörün rotasyonunu sağa sola döndürmek için AddControllerYawInput fonksiyonunu kullandık. Bu fonksiyon direk olarak “controller” ‘a rotasyon ekliyor. Fakat default olarak bu rotasyon pawn’a etki etmiyor. Etki etmesi için Class Defaults’dan UseControllerRotationYaw’ı checklememiz gerekiyor. Artık hangi aksisleri kullanacaksak onları da checkliyoruz.

C++ da da aynı fonksiyonları kullanıyoruz :

	AddControllerYawInput(0.1); // yaw ekle
	AddMovementInput(GetActorForwardVector(), 10.0f); // yön, miktar
C++

Set Default Pawn

Biz şuanda levelin içine elle pawn’ı koyuyoruz. Fakat bunun daha doğru bir yolu var.

  1. GameModeBase sınıfını inherit alarak bir child blueprint oluştur
  2. Blueprint içinde Class Defaults panelinde Default Pawn Class olarak yeni oluşturmuş olduğun BP_MyPawn blueprint’i seç ve kaydet.
  3. Level içerisinde: World Settings>GameMode Override seçeneğinden yeni oluşturmuş olduğun GameMode’u seç
  4. Sahneye PlayerStart objesi ekle.

Artık oyun, play’e tıkladığında PlayerStart nesnesinin bulunduğu konumdan seçtiğin Pawn’ı ile başlayacak.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *