emin2045

Unreal MVP
23 Haz 2020
169
1
75
28
Merhabalar, hem blueprint hem de c++ kullanarak bir proje geliştireceğim. Bunun için proje oluştururken c++ ile mi geliştirmeyi seçmeliyim yoksa bp yi mi? Bu kısımdan sonra c++ ile yazdığım fonksiyon, değişken vs. bunları bp içinde kullanabiliyor muyum, kullanabiliyorsam nasıl kullanıyorum? Son olarak, başka ne tür bir yol haritası izlemeliyim?

--------------------- Çözüldü

Başta CPP ile geliştirmeyi seçince karakterler Cpp dosyasına yazılı şekilde geliyor, BP seçince BP dosyası olarak geliyor. İki sistem de birbiriyle uyumlu şekilde çalışabiliyor. C++ da yazılan fonksiyonları UFUNCTION specifier ile BP içinde kullanılabiliyor. Variable için ise UPROPERT kullanmak gerekiyor. 2. yorumda biraz daha iyi açıklanmış, okuyabilirsiniz.

C++ Avantajları:
Runtime performansı daha hızlı
Veri kontrolünde daha iyi
Network, multiplayer kısım için çok daha kullanışlı, BP'de network biraz daha küçük oyunlar için tasarlanmış
Matematik için C++ daha kolay ve daha anlaşılabilir (göreceli)
C++ kodu text formatında olduğu için Github gibi ortamlarda branch ile çalışması daha kolay

Blueprint Avantajları:
Daha hızlı prototip üretilebiliyor
C++ da kodu yazıp derleyince compile uzun sürebiliyor(ufak bir değişiklik olsa bile), BP'de ise çok daha çabuk compile ediliyor. Bu da daha fazla şeyler denemek için zaman kazandırabiliyor
Oyun akışı bir nevi görselleştiği için akış daha kolay takip edilebiliyor(göreceli), buna BP'deki Delay nodu büyük bir katkı sağlıyor
 
emin2045' Alıntı:
Merhabalar, hem blueprint hem de c++ kullanarak bir proje geliştireceğim. Bunun için proje oluştururken c++ ile mi geliştirmeyi seçmeliyim yoksa bp yi mi? Bu kısımdan sonra c++ ile yazdığım fonksiyon, değişken vs. bunları bp içinde kullanabiliyor muyum, kullanabiliyorsam nasıl kullanıyorum? Son olarak, başka ne tür bir yol haritası izlemeliyim?

 İki başlangıç projenin arasında ki fark şu. C++ projelerinde kullandığın ana class ların parentleri (yani character, gamemode, playercontroller vb. temel sınıflar) C++ ta yazılı olarak geliyor. BP de ise bu class lar Blueprint olarak geliyor. Bunun haricinde BP ye C++ kodu ekleyebiliyorsun ya da C++ a BP kodu ekleyebiliyorsun. C++ kullanmak istiyorsan C++ projesi ile başlaman gerekir. Çünkü o başlangıç projesinin tam olarak amacı bu.
 C++ ile yazdığın "herşey" BP de de kullanılabiliyor. Tabii ki bunun syntax ı ve bazı kuralları var. BP dediğimiz şey C++ kodlamanın yazmadan yapılmasından başka bir şey değil. O yüzden tam entegre diye düşünebilirsin.
  Nasıl kullanabilirim diye sormuşsun bu burada anlatılamayacak kadar geniş bir konu. Ama daha önce UPROPERTY ile ilgili EditAnywhere vb. sorulara ayrı cevaplar vermiştim. Öncelikle o cevaplara bir daha göz atabilirsin. Bunun haricinde UFUNCTION nasıl kullanılır ona da bakman gerekir. Anlamadığın bir yer olursa burdan yine sorabilirsin.
  Yol haritasından kastın tam olarak nedir? Bilemiyorum. O yüzden bir şeyler yazıp işe yaramamasından korkuyorum. 
  Eğer ciddi bir projeye başlayacaksan ve biraz klavuzluk istiyorsan Discord dan direk soracağın şeyleri bana sorabilirsin.
  Kolay gelsin.