Yıldıray

Yeni üye
12 Kas 2015
10
1
0
(42) Konya
C++ GameMode kısmında pawn ve controller sınıflarını atamış olmam ve project settingsde gamemode'un doğru şekilde seçilmiş olmasına rağmen sürekli PlayerStart da Spectator Pawn spawn ediliyor.

Böyle bir sıkıntı yaşayan oldu mu acaba ?
 
Yıldıray' Alıntı:
C++ GameMode kısmında pawn ve controller sınıflarını atamış olmam ve project settingsde gamemode'un doğru şekilde seçilmiş olmasına rağmen sürekli PlayerStart da Spectator Pawn spawn ediliyor.

Böyle bir sıkıntı yaşayan oldu mu acaba ?

Spawn olması istenilen yerde bloklayan bir şey olduğundan yani Collision problemi olabilir. Yada ayarlarda gözünden kaçan birşey olabilir, ayarları paylaşabilir misin?

Aklıma gelen bir diğer sebep ise GameMode'a ait bir fonksiyonun kullanımında gözden kaçırdığın bir şey olabilir. Oyuncunun mantıksal olarak Level'a başlaması ve Pawn olarak spawn edilmesi arasında çalışan aşağıdaki bazı fonksiyonlardan biri örneğin:

Kod:
virtual void SetPlayerDefaults(APawn* PlayerPawn) override;
virtual void StartNewPlayer(APlayerController* NewPlayer) override;

Böyle bir fonksiyonu override ettiysen yada bir şekilde SPawn sürecine müdahale ediyorsan oraları incelemek gerekebilir.


Pawn ölmüş olabilir, LifeSpan 0 yada 0'a yakın olabilir yada Pawn'ı başlar başlamaz bir sebepten Unposses etmiş olabilirsin. PlayerController Pawn'ı Unposses etmişse varsayılan olarak SpectatorPawn atanır. En iyisi DebugGame Editor modunda Step by Step debug etmek.
 
Collision sorunu yok. Settings ve GameMode fotografları aşağıya yükledim.

Dediğiniz fonksiyonları kullanmadım direk Default classları tanımlayarak yapmıştım.


Sorun GameModedaki PostLogin fonksiyonundaymış. İçerisine
Kod:
Super::PostLogin(NewPlayer);
 ekleyince düzeldi.

Teşekkürler.
 

Ekli dosyalar

  • GameMode.png
    GameMode.png
    16.1 KB · Görüntüleme: 1
  • Settings.png
    Settings.png
    66.4 KB · Görüntüleme: 1
Yıldıray' Alıntı:
Collision sorunu yok. Settings ve GameMode fotografları aşağıya yükledim.

Dediğiniz fonksiyonları kullanmadım direk Default classları tanımlayarak yapmıştım.

  • PlayerState üzerinde bIsSpectator değişkeninde bir oynama var mı?
  • Bu olay doğrudan ilk başlatılan levelda mı gerçekleşiyor yoksa bir level yüklendiğinde mi? Level yükleniyorsa başka bir GameMode seçilerek yüklenmiş olabilir mi?


Yıldıray' Alıntı:
Sorun GameModedaki PostLogin fonksiyonundaymış. İçerisine
Kod:
Super::PostLogin(NewPlayer);
 ekleyince düzeldi.

Teşekkürler.

Aynen, bu fonksiyonlar mantıksal Player ile Pawn'ın spawn edilmesi arasında çalışıyor.