UE4 kullanarak oyun geliştiren endüstri profesyonelleri Blueprints kullanıyorlar mı yoksa sadece C ++ kullanıyorlar mı?


15

Bir oyun geliştirme modülünde öğretmen olarak, kullanıcıların endüstride daha çok aranan bir beceri olduğu için kullanıcıların C ++ kullanması konusunda ısrar ettim, ancak Unreal Engine 4'teki çevrimiçi destek ve C ++ ile ilgili bilgi nispeten zayıf görünüyor. Profesyoneller artık Blueprints kullanıyorlar mı , değil mi?


11
Belgeler, bir şeyin ne kadar kullanıldığının iyi bir göstergesi olmayacaktır.
MichaelHouse

Unreal Engine 4 C ++ ile ilgili belgeler eksik çünkü kodu kendiniz okuyorsunuz. Kaynak koduna erişebiliyorsanız, belgelere kesinlikle ihtiyacınız yoktur. Yine de güzel olurdu.
Oxy

1
@Oxy Kaynak kodu belgelerin yerini tutmaz. Dönemi. Belgenin amacı, bir işlevin ne yaptığını okunabilir bir formata damıtmak olduğundan, kaynağın tanımı gereği dokümantasyondan çok daha zordur. Bu, Unreal gibi yüksek performanslı, son derece yetenekli kod için iki kat doğrudur.
Monica'nın Davası

1
Ne olduğunu açıklıyorum, haklı değil. "Yine de güzel olurdu." Ve kullandığınız fonksiyonların kodunu, dokümante edilmiş olanları bile okursanız iyi olur, çünkü bazı önemli olanların altın külçeleri "foo (x) {/ * foo olarak uygulanmaz. * / bar (x);}. Henüz kod gelişimine ayak uyduran bir dokümantasyon sistemi görmek zorundayım Parametre tiplerini ve dönüş tiplerini yazmaktan başka hiçbir şey yapmayan otomatik dokümantasyon dışında başlık okumak
Oxy

Yanıtlar:


25

Evet, profesyonel oyunlar Blueprints kullanır.

Bazıları C ++ ve Blueprints karışımı kullanır. İkisini de Dead by Daylight üzerinde kullanıyoruz.

Blueprints ile ilgili en güzel şeylerden biri, programcı olmayanların komut dosyası davranışlarına erişebilmeleridir. Her proje onları bu şekilde kullanmaz, ancak tasarlanma nedenlerinden biri budur. C ++ 'ya çarpmadan davranışları değiştirmek için UnrealScript'i değiştirdiler ve ayrıca Unreal 3'ün görsel komut dosyası sistemi olan Kismet'in yerini aldılar.


Genişleyebilir misiniz? Sadece programcılar Blueprints mi, yoksa sadece "teknik olmayan" personel mi yoksa ikisinden de biraz mı kullanıyor? Belirli amaçlar için mi yoksa hemen hemen her şey için mi kullanılıyor?
KABoissonneault

7
@KABoissonneault Çok fazla bir karışım. Çoğu zaman programcıların üzerinde çalıştıkları ile programcı olmayanların üzerinde çalıştıkları arasında net bir şekilde tanımlamanın kolay bir yolu yoktur. Bu, özellikle kodun her yerinde ince ayar yapmak isteyecek bir tasarımcınız varsa doğrudur . Planlar ayrıca hızlı prototipleme için çok kullanılır ve performans gerektirmiyorsa mutlaka C ++ 'a dönüştürülmez. Ayrıca stüdyoya ve projeye göre çok değişecektir, bu yüzden kimse cevap vermiyor.
Monica'nın Davası

9

Oyun endüstrisinin dışından küçük bir fıkra: VR'de mimari görselleştirme için UE4 kullanıyoruz.

Çoğu şeyi C ++ ile oluşturmayı tercih etsem de, Blueprints'i ışık anahtarları, kapılar vb.

İki yıldan fazla bir süredir bu şekilde oldu ve bu çabanın başlangıcındaki tek programcı bendim. İşte benim gözlemlerim:

  • Programcı olmayanların Blueprints ile yapabilecekleri şaşırtıcı!
  • Acemi programcıların Blueprints ile yaptıkları dehşet verici olabilir;)
  • Sonunda C ++ 'a dönüştürsem bile, Blueprints hızlı bir RnD aşaması için güzel

Ve benim için en büyüğü: Birçok konuşmada, Blueprints'in teknoloji dışı meslektaşlarımda programcı olma arzusunu başlattığı açıktı. Bunun ana nedeni, görsel olarak hata ayıklamak için oldukça karmaşık bir mantık uygulayabilmeleridir.

Aslında yazılım mimarisi ve büyük spagetti planlarının tuzakları (veya kabusları) hakkında bazı zor dersler öğrendiler. Ama sadece yol boyunca bir ton küçük başarı hissettikten sonra! Bu yüzden onlar cesaretini kırmadılar, daha iyisini yapma ve bunu kendi başlarına nasıl yapacaklarını bulma konusunda motive oldular.

O zamandan beri C ++, Python ve C # kursları aldılar, Blueprints'imizin genel kalitesi çok daha iyi oldu, ama en önemlisi: Artık çekirdek kütüphanelerimizi geliştirirken biraz yardımım var :)

TLDR;

Evet, Blueprints kullanıyoruz ve başlangıçta teknoloji dışı akranlarımı daha iyi kodlayıcılar haline getirdiler.


1
Blueprints gibi görsel dillerle ilgili güzel şeylerden biri, sözdizimi hakkında endişelenmenize gerek olmamasıdır ve genellikle o kadar soyutturlar ki çok az kazan plakası ile çok şey yapabilirsiniz . Sözdizimi tarafından batırılmadan nasıl kodlanacağını öğrenmeyi kolaylaştırırlar. Ayrıca normalde herhangi bir sihirbaz yapmak için çok yüksek seviyededirler , ancak, biliyorsunuz, bu kodlayıcı olmayanların oyunun davranışı üzerinde doğrudan bir etkiye sahip olmasını sağlamak için yapmak istediğim bir ödün.
Monica'nın Davası

@NicHartley myVector.x += otherVector.xBlueprints'te yapmayı deneyin . : o
Almo

1
@Almo Gerçekten bir "çizgi" olmasını istemediğiniz sürece bunun% 90 olduğundan eminim . Sadece (get myVector x) (get otherVector x) -> (+) -> (assign myVector x)(vay, metinde Blueprints yazmak zor ...). Yine de test edeceğim Unreal'ın bir kopyası yok. Veya, vektörler değişmezse, sadece yeni bir tane yapın,(myVector.x + otherVector.x, myVector.y, myVector.z)
Monica'nın

1
Kesinlikle mümkün, ama dağınık. Vektör satırı x, y, z çıkışlarına sahip bir Break kutusuna. Bunu iki kez yapın, biri myVector.x'i, diğeri otherVector.x'i olsun, bunları ekleyin ve bir atama kutusuna yönlendirin.
Almo

1
Yapamayacağını söylemedim. Sadece iğrenç.
Almo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.