長い間、私は、 Unreal Engine 4のプログラマーの「紳士セット」に含めるべきスキルとツールのリストを作成したいと考えていました。 先日、 UE4チャットで、私はこれを見ました:
>ブループリント、アニメーション開発、テクノロジーアート、ai、マルチプレイヤー、エディター拡張。 頭に浮かんだ最初のもの
>頭に浮かぶもの:ブループリント、アニメーション、AI、マテリアルエディター、ウィジェット、スレート、エディター拡張機能、ue4プラグイン、物理学、照明、レンダリング、c ++
+エンジンと国でどれだけの時間がかかったか、それだけです:)
そのような定式化では、言われるすべては単語のコレクションにすぎません。 したがって、私は集まって、UE4プログラマーになりたいと思っている人、およびUE4の高度なプログラマーであるとすでに考えている人にレベルを評価できる人のためのアンケートを作成しました。
一般的な単語を使用しないでください
引用に記載されているすべての用語は、スキル、原則、技術の複合体です。 それらを一言で表現すると、何を正確に適用する必要があるか、どの程度「深く」研究する必要があるかを伝えることはできません。
主なカテゴリを見て、「これを理解しています。」と言う答えを知っておくべきだという質問をします。
エンジンアーキテクチャの基本
-
AActor
とAActor
の違いは何ですか? 基本的な違いは何ですか?UObject
に同じ機能を実行させることは可能ですか? なぜAGameState
およびAPlayerState
ですか?AGameMode
とAHUD
に関する同様の質問。 -
AGameMode
とAGameMode
違いはUGameInstance
ですか? 両方とも何に使用されますか? なぜAPlayerController
必要で、なぜAPlayerController
なのですか? -
UPROPERTY
はUPROPERTY
使用さUPROPERTY
ますか? SharedRefに置き換えることはできますか? セクターの循環依存関係を解決する方法(親は子へのポインター、子は親へのポインターを持っています)?UObject
削除されますか? ガベージコレクターによってエンティティが削除されないようにする方法 アクターを削除するには? - CDOとは何ですか? Reference'ovクラスのチェーンを相互に分割するにはどうすればよいですか?
- エンジンの主要なエンティティの初期化の順序は何ですか(少なくともコントローラー/パブナ/状態レベルで)? AActorの出現順序は何ですか?
- コンポーネント内のコンポーネント-良いか悪いか?
-
WorldContextObject
とは何ですか?UObject
で取得することは可能ですか? - SlateとUMGの基本的な違いは何ですか?
設計図
- マクロと関数の違いは何ですか?
- クラス間でReferencの形成に正確につながるものを使用しますか? 資産? これを避ける方法は?
- blunts nativizationとは何ですか? 含まれているネイティブ化の欠点は何ですか?
ネットワーク
- ゲームセッション中にユーザーのゲームプレイデータ(インベントリやポイントなど)を保存する場所は?
APlayerController
適切な場所ですか? -
PlayerState
はクライアントにどのように複製されますか? プレーヤーを再接続するときのPlayerController
とPlayerState
のライフサイクルは何ですか? - 役割によってデータの複製を区別する方法は? ネットワークの役割とは何ですか? 誰によって、どのようなルールによって任命されますか?
-
RPC
を呼び出すことができるクラスとその理由は何ですか? この機能を別のクラス/エンティティに拡張することは可能ですか? RPC呼び出しのオーバーヘッドはどれくらいですか? - ectorコンポーネントはどのように複製されますか? セクターが「完全に」複製されたことを理解する方法は? たとえば、 1つのセクターで3 MBのデータを複製する場合はどうなりますか。このセクターはどのように動作しますか。 ゲーム全般?
- 配列はどのように複製されますか? そして、ネストされたプロパティはどのようにレプリケートされますか(レプリケートされたフィールドは構造です)?
- どのようなネットワーク制限がありますか? ( 数字! )ネットワークの負荷をプロファイルする方法は? どのネットワーク最適化方法が使用されていますか?
ForceNetUpdate
とは何ですか?
物理学と基本的なアルゴリズム
- 減衰はどのように機能しますか? サブステップとは何ですか? それは何のために使われますか? ネットワーク上で物理学はどのように同期しますか?
- クォータニオンとは何ですか?また、アプリケーションはどのような問題を解決しますか?
- 機能チャネルとトレースとは何ですか? 同じ物理アセット内で異なる動作を構成することは可能ですか? そうでない場合、なぜ、そしてこれを回避する方法は?
- トレースはどれくらい高価ですか? 何に依存していますか?
ストリーム
- UE4のメインスレッドは何ですか? 並行して実行されるタスクと実行されないタスクはどれですか? ティックグループはどのように配置されますか?
- 独自の並列フローで実行できるアクションは何ですか? (または、どのアクションを実行できないのでしょうか?)結果をメインスレッドと同期する方法は?
コード
UE4での作業の多くの側面には触れませんでしたが、私の意見では、エンジンで作業するときに基本的な重要なトピックに関する質問を提案しました 。
後輩にとっては、エンジンのことをあまり知らないのが普通ですが、頭が明るく、いくつかの詳細を理解するのは普通です。 少なくとも「平均的な」プログラマーは、アーキテクチャに関するブロックからの質問に対する答えを知っている(または、少なくとも彼自身の論理的な意見がある)だけです。 特に、 Gameplay Frameworkのドキュメントの最初のページで説明されているトピックについて。
コミュニティに関心がある場合は、アニメーション、デバッグ、シェーダーとマテリアル、照明、プロジェクトパッケージ、AIの作成、Pawnの使用などに関する同様のアンケートを作成できます。 書く:)私は常に活発な議論のためだけです 。