UE4を使用してゲームを作成する業界の専門家は、ブループリントをまったく使用しますか、それともC ++のみを使用しますか?


15

ゲーム開発モジュールの教師として、私は通常、ユーザーがC ++を使用することを主張しました。これは、業界でより求められているスキルであるためです。現在、専門家もブループリントを使用していますか?


11
ドキュメンテーションは、何かがどの程度使用されているかを示す良い尺度にはなりません。
マイケルハウス

Unreal Engine 4 C ++のドキュメントは、自分でコードを読みに行くために不足しています。ソースコードにアクセスできる場合、ドキュメントは厳密には必要ありません。しかし、それを持っているといいでしょう。
オキシ

1
@Oxyソースコードは、ドキュメントの代替ではありません。限目。ソースは、多くの文書のポイントは、関数が読める形式に何を蒸留することであるため、定義により、ドキュメントよりも読むのが大変。これは、Unrealのような高性能で非常に能力のあるコードにも当てはまります。
ファンドモニカの訴訟

1
正当化するのではなく、何が起こるかを説明しています。「しかし、それを持っているのは良いことだ。」文書化されたものであっても、使用する関数のコードを読む方が良いでしょう。なぜなら、いくつかの重要なものは、「foo(x){/ * foo )done * / bar(x);}。コードの進化に対応するドキュメントシステムがまだ動作しているのを確認する必要があります。ヘッダーを読むことはありません
オキシ

回答:


25

はい、プロのゲームはブループリントを使用しています。

C ++とブループリントを組み合わせて使用​​するものもあります。Dead by Daylightで両方を使用します。

ブループリントの優れた点の1つは、非プログラマーがビヘイビアをスクリプト化する機能にアクセスできることです。すべてのプロジェクトでこのように使用されるわけではありませんが、設計された理由の1つです。彼らは、C ++を使用せずに動作を変更する手段としてUnrealScriptを置き換えました。また、Unreal 3のビジュアルスクリプトシステムであるKismetも置き換えました。


拡大できますか?プログラマだけがブループリントを使用するのか、それとも「非技術的な」スタッフのみを使用するのか、それとも両方を使用するのか。特定の目的に使用されていますか、それとも何かに使用されていますか?
KABoissonneault

7
@KABoissonneaultそれは非常にミックスです。ほとんどの場合、プログラマが取り組んでいることとプログラマ以外の人々が取り組んでいることを明確に区別する簡単な方法はありません。コード全体を微調整たいデザイナーがいる場合は特にそうです。ブループリントはラピッドプロトタイピングにも多く使用されますが、パフォーマンスが必要としない場合、必ずしもC ++に変換されるとは限りません。また、スタジオやプロジェクトによって大きく異なるため、誰も答えはありません。
ファンドモニカの訴訟

9

ゲーム業界以外からのちょっとした逸話:VRでのアーキテクチャの視覚化にUE4を使用しています。

私はむしろほとんどのものをC ++で構築したいのですが、ライトスイッチ、ドアなどのあらゆる種類の「追加ロジック」にもブループリントを多用しています。

それはもう2年余り前からそうでしたし、私はこの努力の最初の唯一のプログラマでした。だからここに私の観察があります:

  • 非プログラマーがブループリントでできることは驚くべきことです!
  • 私は初心者プログラマーがブループリントで何をするか恐ろしいことがあります;)
  • 最終的にC ++に変換しても、ブループリントは素早いRnDフェーズに適しています

そして、私にとって最大の問題:多くの会話で、ブループリントが私の非技術系同僚のプログラマーになりたいという願望を呼び起こしたことが明らかになりました。これが発生した主な理由は、視覚的にデバッグしながら、非常に複雑なロジックを実装できることです。

彼らは実際に、ソフトウェアアーキテクチャと巨大なスパゲッティの設計図の落とし穴(または悪夢)についていくつかのハードレッスンを学びました。しかし、道に沿ってたくさんの小さな成功を感じた後にのみ!だから彼らは全く落胆せず、むしろ自分自身でもっとうまくやる方法を見つけようとする動機になった。

それ以来、彼らはC ++、Python、C#のコースを受講し、ブループリントの全体的な品質が大幅に向上しましたが、何よりも重要なことです。

TLDR;

はい、私たちはブループリントを使用しており、彼らは私の最初の非技術的なピアをより良いコーダーにしました。


1
ブループリントのような視覚言語の優れた点の1つは、構文を心配する必要がないことです。また、一般的に非常に抽象化されているため、非常に少ない定型文で多くのことができます。構文にとらわれずに、コーディング方法を簡単に習得できます。また、通常は高レベルであり、ウィザードリティーを行いませんが、コーダー以外の人がゲームの動作に直接影響を与えるようにするためのトレードオフがあります。
ファンドモニカの訴訟

@NicHartley myVector.x += otherVector.xはブループリントでやってみます。:o
アルモ

1
@Almo 本当にそれを1つの「行」にしたいのでなければ、それが可能だと90%確信しています。ただ(get myVector x) (get otherVector x) -> (+) -> (assign myVector x)(うわー、テキストでブループリントを書き出すのは難しい...)。ただし、テストするUnrealのコピーはありません。または、ベクトルが不変の場合は、新しいベクトルを作成するだけです(myVector.x + otherVector.x, myVector.y, myVector.z)
Fund Monicaの訴訟

1
それは間違いなく可能ですが、面倒です。x、y、z出力を持つブレークボックスへのベクトル線。これを2回行います。1つはmyVector.xを取得し、もう1つはotherVector.xを取得し、それらを追加して割り当てボックスにルーティングします。
アルモ

1
できないとは言わなかった。ただそれは恐ろしいことです。
アルモ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.