アンリアル エンジン 4 の用語

このページではアンリアル エンジン 4 で作業する場合に一般的に使用する用語を説明します。

Windows
MacOS
Linux

このページでは アンリアル エンジン 4 (UE4) で作業する場合に一般的に使用する用語を説明します。例えば、「アクタ って何?」「コンポーネント はどんなもの?」 「ポーン って何だろう?」などの疑問がわいたら、このページを見ると質問に対する回答や詳細が掲載されています。各用語の意味を理解したら、さらに詳しいドキュメントやガイダンスへのリンクがあります。

NewProject.png

プロジェクト

Project には、個々のゲームを構成し、ディスク上のディレクトリと一致させるすべてのコンテンツとコードを保持されています。例えば、以下の画像では、 コンテンツ ブラウザ の階層ツリーは、ディスク上のプロジェクト フォルダ内と同じディレクトリ構造になっています。

画像をクリックしてフルサイズで表示

プロジェクトはそれに関連する .uproject ファイルによって頻繁に参照されます。しかし、これらは並んで存在する 2 つの別個のファイルです。.uproject ファイルはファイルを作成、開く、保存するために使用する参照ファイルです。これに対してプロジェクトにはそれに関連するすべてのファイルやフォルダが入っています。

プロジェクトをいくつでも作成し、そのすべてを並行して維持し、開発することができます。エンジン (およびエディタ) は両方とも簡単に切り替えできます。これにより、複数ゲームの作業をただちに行ったり、主要ゲームプロジェクトに加えていくつかのテストプロジェクトも持つことができます。

詳細は、以下をご覧ください。アンリアル ゲーム プロジェクト

objects_topic.png

オブジェクト

アンリアル エンジンの基本ビルディング ブロックは Object と呼ばれ、ゲーム アセットの基本的な「内部」機能が多く含まれます。アンリアル エンジン 4 のほぼすべてのものは、オブジェクトから継承 (または機能を取得) しています。C++ では、UObject はすべてのオブジェクトの基本クラスです。ガーベジ コレクション、アンリアル エディタへ変数を公開するためのメタデータ (UProperty) サポート、ロードと保存のシリアル化などの機能を実行します。

詳細は、以下をご覧ください。アンリアル プロジェクトとゲームプレイ, ゲームプレイのプログラミング

Both_topic.png

クラス

カスケード

カスケード は、アンリアル エディタののパーティクルシステム エディタです。カスケードは、 [コンテンツブラウザ] でパーティクルシステムを作成してアクセス、またはパーティクルシステムを開いてアクセスします。カスケードでは、パーティクル エミッタの追加、変更、削除、パーティクル エミッタにモジュールを追加、およびモジュールのプロパティを変更することができます。

キャラクター

Character はプレイヤーのキャラクターとして使用することを意図したポーンアクタのサブクラスです。Character サブクラスには、コリジョン設定、二足方向の動きに対する入力バインディング、およびプレイヤーが制御する動きのための追加コードなどがあります。

シネマティック シーケンス

シネマティック シーケンス は、単にシネマティックと呼ばれることもあります。ゲーム内で再生されるアニメーションです。シネマティック シーケンスの中にはゲームプレイを停止させ、カメラ視点の 1 つ以上の変更を伴うものがあり、カットシーン と呼ばれます。シネマティック シーケンスは、マチネによって作成および制御する、または外部アプリケーションで作成されたプリレンダリングされた映像としてインポートすることができます。

クラス

クラス は、アンリアル エンジン ゲームの作成において使用される特定のアクタあるいはオブジェクトのビヘイビアとプロパティを定義します。クラスは階層化されています。親クラスから継承されるクラス (派生または「サブクラス化」されたクラス) と子クラスへ情報を渡すクラスがあります。クラスは C++ コードまたはブループリントで作成できます。

Blueprint クラス

Blueprint クラス は、コンテンツクリエーターが既存のゲームプレイクラスに機能性を簡単に追加できるようにするアセットです。しばしば ブループリント と省略されます。ブループリントはコード入力によってではなく、アンリアルエディタで視覚的に作成され、コンテンツ パッケージにアセットとして保存されます。実質的に新規のクラスまたはアクタの種類を定義し、その後に他種のアクタと同じ動作をするインスタンスとしてマップへ配置することができます。

コリジョン

コリジョン は、物理シミュレーション中にオブジェクトがオーバーラップすることを防ぐプログラム手法であり、オブジェクトが立体的であるという錯覚を与えます。ジオメトリの簡易版であるコリジョン メッシュのことを意味する場合もあります。一般的に、メッシュ周囲の目に見えないシェルやハルとして存在します。こうした簡易化はパフォーマンスに寄与し、ポリゴン カウントが多い複雑なオブジェクトがそのコリジョンをより単純なジオメトリで計算できるようにします。これは処理を高速化します。

「コリジョン」はノンブロッキング (ノンオーバーラッピング) でもあります。この場合、オブジェクトが相互に貫通することを防ぐかわりに、コリジョンはオブジェクトが相互に貫通 (オーバーラッピング) していることを単に登録できます。

物理計算によってオブジェクトをシミュレーションするために、コリジョン サーフェスが必要です。

コンポーネント

コンポーネント は、アクタに追加することができる機能の構成要素です。コンポーネントはそれ自体では存在することはできませんが、アクタに追加することで、アクタがそのコンポーネントに備わっている機能へアクセスし使用することができます。

例えば、Spot Light Component を使えばアクタはスポットライトのようなライトを放射したり、Rotating Movement Component でアクタをスピンさせたり、Audio Component を使えばアクタが音を再生できるようになります。

Components モード

Components Mode では、ブループリントにコンポーネントの追加、既存コンポーネントの詳細の管理、そしてコンポーネントの配置ができます。Components Mode のコンポーネント リストは階層構造になっています。

Components Mode は、 3 つあるモードのうちの 1 つです。他の 2 つは、Default Mode と Graph Mode です。

コンストラクション スクリプト

コンストラクション スクリプト は、Blueprint クラスのインスタンスが作成されるときに コンポーネント リストに従って実行します。Blueprint クラスのインスタンに初期化オペレーションを実行できるようにするノードグラフが含まれています。 ワールドへのトレースの実施やメッシュやマテリアルの設定などのアクションは、 コンテキスト固有のセットアップを実現するために使用することがあるので、非常に強力です。例えば、Light ブループリントでは、どのタイプのグラウンドに配置するかを決定、および メッシュ一式の中から使用する適切なメッシュを選択できます。 Fence ブループリントでは、距離をカバーするために必要なフェンスの長さを決めるために各方向にトレースを実行します。

コンストラクション スクリプトは、エディタ内のオブジェクトで作業しながら機能を制御します。イベントグラフはゲームプレイ中の機能を制御します。コンストラクション スクリプトは、ゲームプレイ中には実行しません。

コンテンツ ブラウザ

コンテンツ ブラウザ は、アンリアル エディタ内でコンテンツ アセットを作成、インポート、整理、表示、修正するための主要エリアです。コンテンツ フォルダの管理機能も提供し、参照の名前変更、移動、コピーなどアセットに対する有用なオペレーションを実行します。コンテンツ ブラウザ では、ゲーム内のすべてのアセットを検索し、インタラクティブに操作できます。

コンテンツ ブラウザ では、タイプ別にアセットを検索およびソートできます。 [Filters] ドロップダウン リストで特定タイプのアセットを選択する、または[Search Assets (アセットを検索)] ボックスにテキストを入力してアセットの表示をフィルタリングすることもできます。

Controller クラス

コントローラー は非物理的なアクタで、ポーン (またはキャラクターなどポーンから派生したクラス) を所有して動作を制御することができます。AIController がポーンに対し人工知能を実装するのに対して、PlayerController は人間のプレーヤーがポーンを制御するために使用します。コントローラーは Possess 関数でポーンを制御し、 Unpossess 関数でポーンの制御を中断します。

詳細は、以下をご覧ください。ブループリント クラス, ゲームプレイ クラス, クラス作成の基本

actors_topic.png

アクタ

アクタ は、レベル内へ配置可能な任意のオブジェクトです。トランスレーション、回転、スケーリングなどの 3D 変形をサポートする汎用クラスです。アクタはゲームプレイ コード (C++ またはブループリント) を通して作成 (スポーン)、破壊することができます。C++ において AActor は全てのアクタの基本クラスになります。

様々なタイプのアクタがあります。例えば、StaticMeshActor、CameraActor および、PlayerStartActor などがあります。

詳細は、以下をご覧ください。アクタとジオメトリ

components_topic.png

コンポーネント

コンポーネント は、アクタに追加することができる機能の構成要素です。コンポーネントはそれ自体では存在することはできませんが、アクタに追加することで、アクタがそのコンポーネントに備わっている機能へアクセスし使用することができます。

例えば、Spot Light Component を使えばアクタはスポットライトのようなライトを放射したり、Rotating Movement Component でアクタをスピンさせたり、Audio Component を使えばアクタが音を再生できるようになります。

詳細は、以下をご覧ください。ComponentsComponents WindowComponents in Code

pawn_topic.png

ポーン

ポーン は、ゲーム内のアバターやペルソナとして機能するアクタのサブクラスです。例えばゲーム内のキャラクターなどです。ポーンは、プレイヤーまたはゲームの AI によって NPC (ノンプレイヤー キャラクター) の形で制御できます。

ポーンが人間または AI プレイヤーによって制御されると、所有された とみなされます。逆に、ポーンが人間または AI プレイヤーによって制御されていないと、所有されていない とみなされます。

詳細は、以下をご覧ください。Pawn, ポーンを所有する

character_topic.png

キャラクター

Character はプレイヤーのキャラクターとして使用することを意図したポーンアクタのサブクラスです。Character サブクラスには、コリジョン設定、二足方向の動きに対する入力バインディング、およびプレイヤーが制御する動きのための追加コードなどがあります。

詳細は、以下をご覧ください。Character, キャラクターのセットアップ, キャラクターの移動の操作ガイド

ArtAssets.png

プレイヤー コントローラー

PlayerController クラスはプレイヤーの入力を取り込み、それをゲーム内のインタラクションに変換するために使用されます。すべてのゲームは最低 1 つのプレイヤー コントローラーを持ちます。ゲーム内でプレイヤーを表すものとしてプレイヤー コントローラは多くの場合、ポーンまたはキャラクターを所有します。

プレイヤー コントローラはマルチプレイヤー ゲームの主要なネットワーク インタラクション ポイントでもあります。マルチプレイヤーのプレイ中に、サーバーにはゲーム内のプレイヤー毎にプレイヤー コントローラのインスタンスが 1 つあります。各プレイヤーに対してネットワークの関数呼び出しが可能でなければならないからです。各クライアントはそのプレイヤーに対応するプレイヤー コントローラのみを持ち、サーバーと通信するためにそのプレイヤー コントローラのみを使用することができます。

詳細は、以下をご覧ください。PlayerController

fullTree.png

AIController

ゲーム内でプレイヤーを表すものとしてプレイヤー コントローラがポーンを所有するように、AIController はゲーム内の NPC (ノン プレイヤー キャラクター) を表すものとしてポーンを所有します。特に PlayerController によって所有されるか、AIController を自分で作成しないよう指示される場合を除いて、デフォルトでポーンとキャラクターはベース AIController になります。

詳細は、以下をご覧ください。AIController

geometry_brush.png

ブラシ

ブラシ は、レベル ジオメトリ (BSP と呼ばれる) とゲームプレイ ボリュームを定義するためにレベル内に置かれている 3D ボリュームを表すアクタです。通常は BSP ブラシを使ってゲームプレイ テスティング用にレベルをプロトタイプしたりブロックします。

一方 Volume はアタッチされたエフェクトによって次のような使用方法があります。Blocking Volumes (目に見えず、アクタがアクタを突き抜けないようにするために使用します)、 Pain Causing Volumes (オーバーラップしたアクタに時間をかけてダメージを与えます)、または Trigger Volumes (アクタが入ったり出ていく時にイベントを発生させるようにするために使用します)。

詳細は、以下をご覧ください。Geometry Brush アクタ, ジオメトリ編集のコンテンツ サンプル

levels_topic.png

レベル

レベル は、ゲームプレイのユーザー定義領域です。含まれているアクタのプロパティを配置、変換、編集することにより、レベルが作成、表示または修正されます。アンリアル エディタにおいて、各レベルは個別の「.umap」ファイルに保存されるので、これらのファイルはマップと称されることがあります。

詳細は、以下をご覧ください。レベル, レベル エディタ, レベル デザインのコンテンツ サンプル

LevelsWindow.png

ワールド

ワールド には、ロードされるレベルのリストがあります。レベルのストリーミングと動的アクタのスポーン (作成) を処理します。

ワールドと直接インタラクションする必要はありません。しかし、ワールドはゲーム構造内の特定の参照ポイントを示すのに役立ちます (すなわち、ワールドとは、レベル、マップ、ゲームのことではありません。)。

詳細は、以下をご覧ください。ワールド合成のユーザーガイド

gamemode_lander.png

ゲーム モード

GameMode クラスは、プレイ中のゲームのルールを設定します。このルールには、プレイヤーがどのようにゲームに参加するか、ゲームの一時停止、レベルの移行、勝利条件などのゲーム固有のビヘイビアなどが含まれます。

Project Settings でデフォルトのゲームモードを設定できますが、レベル単位ベースでは、それをオーバーライドできます。GameMode の実行方法に関係なく、常に 1 レベルに 1 つしか GameMode が存在しません。マルチプレイヤー ゲームでは GameMode は、サーバー側にのみ存在し、接続しているクライアントにそれぞれルールがレプリケートされます。

詳細は、以下をご覧ください。GameMode, ブループリントでゲームモードをセットアップする操作手順

gamestate_topic.png

ゲーム ステート

GameState には、ゲームですべてのクライアントにレプリケーションしたい情報が含まれます。もっと分かりやすく言うと、すべての接続先の 'The State of the Game' になります。

多くの場合、ゲーム スコア情報を含みます。試合が開始したか否か、ワールドの中のプレイヤー数に応じていくつ AI をスポーンするか、その他のゲーム固有の情報があります。

マルチプレイヤー ゲームでは、サーバーのインスタンスを権限のあるものとして (そこからクライアントが更新された情報を取得)、各プレイヤーのマシーンでゲームステートのインスタンスがひとつあります。

詳細は、以下をご覧ください。GameState

playerstate_topic.png

プレイヤー ステート

PlayerState は、人プレーヤーやプレイヤーをシミュレートしているボットなどの、ゲームの参加者のステートです。ゲームワールドの一部として存在するノンプレイヤーの AI は PlayerState は持ちません。

PlayerState として適切なデータの例には、プレイヤー名、スコア、現在のレベルやヘルス、キャプチャー・ザ・フラグ ゲームで現在フラグを持っているかなどがあります。

マルチプレイヤー ゲームでは、すべてのマシン上に全プレイヤーの PlayerStates が存在し (PlayerControllers とは異なります) 、サーバーからクライアントにデータをレプリケートして同期を保つことができます。

詳細は、以下をご覧ください。ゲームプレイ フレームワークのクイック リファレンス

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信