Language:
Page Info
Engine Version:

Unreal Engine 4 の用語

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

NewProject.png

プロジェクト

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

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

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

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

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

objects_topic.png

オブジェクト

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

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

Both_topic.png

クラス

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

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

actors_topic.png

アクタ

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

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

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

components_topic.png

コンポーネント

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

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

詳細は、以下をご覧ください。コンポーネント , コンポーネント ウィンドウ , コンポーネント

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

プロジェクト設定 でデフォルトのゲームモードを設定できますが、レベル単位ベースでは、それをオーバーライドできます。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 とは異なります) 、サーバーからクライアントにデータをレプリケートして同期を保つことができます。

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