yusufkursun

Yeni üye
29 Eki 2020
1
0
0
(77) Yalova
Merhabalar.Okulumda zorunlu olarak c#öğreniyorum fakat bildiğiniz gibi unity artık eskimeye başlayan bir oyun motoru oldu.Unreal engine için etrafta c++ gerekiyor diye bilgiler dolaşmakta bunlar doğru mu? c# ile güzel bir iş çıkartabilir miyim? ve son olarak blueprint ne oluyor? cevaplarınız için şimdiden teşekkürler.
 
yusufkursun' Alıntı:
Merhabalar.Okulumda zorunlu olarak c#öğreniyorum fakat bildiğiniz gibi unity artık eskimeye başlayan bir oyun motoru oldu.Unreal engine için etrafta c++ gerekiyor diye bilgiler dolaşmakta bunlar doğru mu? c# ile güzel bir iş çıkartabilir miyim? ve son olarak blueprint ne oluyor? cevaplarınız için şimdiden teşekkürler.

Merhabalar,
 Şu an bildiğim kadarı ile Unreal Engine 4 ile C# kullanamıyorsun. Bu konuda bazı söylentiler vardı C# desteği gelecek diye ama bu konu da bir ilerleme yok diye biliyorum. UE4 için mutlaka C++ kullanmak gerekiyor diye bir şey yok. UE4 te iki çeşit kodlama var biri C++ biri Blueprint. Blueprint aslında tam olarak C++ ta yazarak yaptığımız herşeyi yazmadan yapsak, fonksiyon ve metotları menüden seçerek kodu gerçekleştirsek ne güzel olur mantığı ile yapılmış birşey. Yani C++ kodunu yazı ile yazmıyoruz ama Node larla seçerek birbirine bağlayarak sistemi kuruyoruz sistem bize bu birbirine bağladığımız node ları C++ kaynak koduna otomatik kendi çeviriyor. Aslında yaptığımız şey iki durumda da sonuç olarak C++ koduna dönüşmüş oluyor. 
 Bu noktada hiç C++ öğrenmeden ve kullanmadan da  tam bir oyun yapılabilir, tabi oyununa göre. Ancak şu noktaları bilmek gerekir. 
 1. Blueprint le yapamayacağın mutlaka C++ ta yapmak zorunda kalacağın durumlar az da olsa var. Bunlar az ve rast gelip gelmeyeceğin tamamen yaptığın oyuna o an ki ihtiyaçlarına bağlı. Ama ihtiyacın varsa ve böyle bir konuya denk gelirsen (düşük ihtimal) duvara toslayabilirsin. (Bunlara örnek Node olarak yer almayan bir sürü metot ya da fonksiyon, bazı pluginler, Engine level modifikasyonlar, bazı mysql komutları vb verebiliriz )
2.  Blueprint bazen daha hızlı da olabilir çoğu zaman daha yavaş çalışacaktır. Yani aynı etkinlikte yazılan iki koddan C++ her zaman daha hızlı çalışacaktır.
3. Blueprint spagetti gibi ordan oraya giden çizgiler demek. Bu nedenle anlaşılması yönetilmesi takip edilmesi C++ a göre daha zor.
4.  Blueprint C++ göre hata yapması daha zor, daha korunaklı ve daha hızlı test edip ilerlenebilir bir sistem.

Bu nedenlerle 
1. Profesyonel firmalar sistemleri hızla deneyibilmek, hızlı protatipler yapmak vb. şeyler için Blueprint kullanıyorlar. Kesin bir sisteme karar kıldıklarında sonradan bunu C++ çevirte biliyorlar. Çünkü zaten Blueprint yazısız bir C++ demek.
2. Hız gerektiren şeylerde C++  kullanıp kolay modifiye edilmesi gereken şeylerde Blueprint kullanıyorlar. Mesela Tick function larda C++ kullanırken Widgetın rengini değiştirirken BP tercih edebiliyorlar. Çünkü (UI- arayüz )Widgetın rengini sonradan değiştirmek isteneceğini biliyorlar.
3. Temel mantığı C++ ta kurup son kısmını BP ye bırakabiliyorlar. Mesela Base class olarak savaşçı, düşman savaşçı, okçu düşman savaşçı gibi temel class ları C++ ta yaptıktan sonra en son Mehmet ismindeki Okçu düşman savaşçı son child class ı BP ye bırakıyorlar. Çünkü level de bu olacak ve sürekli modifiye etmek isteyecekler. 
 
Sonuç olarak genellikle profesyonel projelerde hem BP hem C++ beraber ve eleele kullanılıyorlar. İkisinin de gücünden faydalanıyorlar. Ancak amatör arenada insanlar mümkün olduğunca BP de kalmaya gayret ediyorlar.
 Umarım açıklayıcı olmuştur.

 Not: Bu arada C# C++ ın çok çok basitleştirilmiş halinden başka bir şey değil. Adı bile o yüzden C# zaten. ++ yı # gibi compact ve kolay hale getirmişler. Dolayısı ile üstüne bir şeyler koyarak C++ öğrenmek te çok zor olmayacaktır.