このページでは Unreal Engine 4 で作業する場合に一般的に使用する用語を説明します。例えば、「アクタ って何?」「コンポーネント はどんなもの?」 「ポーン って何だろう?」などの疑問がわいたら、このページを見ると質問に対する回答や詳細が掲載されています。各用語の意味を理解したら、さらに詳しいドキュメントやガイダンスへのリンクがあります。
|
プロジェクト Project には、個々のゲームを構成し、ディスク上のディレクトリと一致させるすべてのコンテンツとコードを保持されています。例えば、以下の画像では、 コンテンツ ブラウザ の階層ツリーは、ディスク上のプロジェクト フォルダ内と同じディレクトリ構造になっています。 画像をクリックしてフルサイズで表示 プロジェクトは関連する プロジェクトはいくつでも作成し、同時に維持開発を行うことができます。エンジン (およびエディタ) は両方とも簡単に切り替えできます。これにより、複数ゲームの作業をすぐに開始したり、メインとするゲームプロジェクトの他にテストプロジェクトを管理することができます。 詳細は「Unreal Engine プロジェクトを使用する 」を参照してください。 |
|
オブジェクト Unreal Engine の基本ビルディング ブロックは Object と呼ばれ、ゲーム アセットの基本的な「内部」機能が多く含まれます。Unreal Engine 4 のほぼすべてのものは、オブジェクトから継承 (または機能を取得) しています。C++ では、 詳細は「アンリアル プロジェクトとゲームプレイ 」と「Unreal Architecture 」を参照してください。 |
|
クラス クラス は、Unreal Engine を使ったゲームの作成で使用される特定のアクタあるいはオブジェクトのビヘイビアとプロパティを定義します。クラスは階層化されています。親クラスから継承されるクラス (派生または「サブクラス化」されたクラス) と子クラスへ情報を渡すクラスがあります。クラスは C++ コードまたはブループリントで作成できます。 詳細は「ブループリント クラス 」、「ゲームプレイ クラス 」、「クラス作成の基本 」を参照してください。 |
|
アクタ アクタ は、レベル内へ配置可能な任意のオブジェクトです。トランスレーション、回転、スケーリングなどの 3D 変形をサポートする汎用クラスです。アクタはゲームプレイ コード (C++ またはブループリント) を通して作成 (スポーン)、破壊することができます。C++ において AActor は全てのアクタの基本クラスになります。 様々なタイプのアクタがあります。例えば、StaticMeshActor、CameraActor および、PlayerStartActor などがあります。 詳細は「アクタとジオメトリ 」を参照してください。 |
|
コンポーネント コンポーネント は、アクタに追加することができる機能の構成要素です。コンポーネントはそれ自体では存在することはできませんが、アクタに追加することで、アクタがそのコンポーネントに備わっている機能へアクセスし使用することができます。 例えば、Spot Light Component を使えばアクタはスポットライトのようなライトを放射したり、Rotating Movement Component でアクタをスピンさせたり、Audio Component を使えばアクタが音を再生できるようになります。 詳細は「コンポーネント 」、「Components ウィンドウ 」、「コードのコンポーネント 」を参照してください。 |
|
|
|
キャラクター Character はプレイヤーのキャラクターとして使用することを意図したポーンアクタのサブクラスです。Character サブクラスには、コリジョン設定、二足方向の動きに対する入力バインディング、およびプレイヤーが制御する動きのための追加コードなどがあります。 詳細は「Character 」、「キャラクターのセットアップ 」、「キャラクターの移動の操作ガイド」を参照してください。 |
|
プレイヤー コントローラー PlayerController クラスはプレイヤーの入力を取り込み、それをゲーム内のインタラクションに変換するために使用されます。すべてのゲームは最低 1 つのプレイヤー コントローラーを持ちます。ゲーム内でプレイヤーを表すものとしてプレイヤー コントローラは多くの場合、ポーンまたはキャラクターを所有します。 プレイヤー コントローラはマルチプレイヤー ゲームの主要なネットワーク インタラクション ポイントでもあります。マルチプレイヤーのプレイ中に、サーバーにはゲーム内のプレイヤー毎にプレイヤー コントローラのインスタンスが 1 つあります。各プレイヤーに対してネットワークの関数呼び出しが可能でなければならないからです。各クライアントはそのプレイヤーに対応するプレイヤー コントローラのみを持ち、サーバーと通信するためにそのプレイヤー コントローラのみを使用することができます。 詳細は「PlayerController 」を参照してください。 |
|
AIController ゲーム内でプレイヤーを表すものとしてプレイヤー コントローラがポーンを所有するように、AIController はゲーム内の NPC (ノン プレイヤー キャラクター) を表すものとしてポーンを所有します。特に PlayerController によって所有されるか、AIController を自分で作成しないよう指示される場合を除いて、デフォルトでポーンとキャラクターはベース AIController になります。 詳細は「AIController 」を参照してください。 |
|
ブラシ ブラシ は、レベル ジオメトリ (BSP と呼ばれる) とゲームプレイ ボリュームを定義するためにレベル内に置かれている 3D ボリュームを表すアクタです。通常は BSP ブラシを使ってゲームプレイ テスティング用にレベルをプロトタイプしたりブロックします。 一方 Volume はアタッチされたエフェクトによって次のような使用方法があります。Blocking Volumes (目に見えず、アクタがアクタを突き抜けないようにするために使用します)、 Pain Causing Volumes (オーバーラップしたアクタに時間をかけてダメージを与えます)、または Trigger Volumes (アクタが入ったり出ていく時にイベントを発生させるようにするために使用します)。 詳細は「Geometry Brush アクタ 」と「ジオメトリ編集の機能別サンプル 」を参照してください。 |
|
レベル レベル は、ゲームプレイのユーザー定義領域です。含まれているアクタのプロパティを配置、変換、編集することにより、レベルが作成、表示または修正されます。Unreal Editor において、各レベルは個別の「.umap」ファイルに保存されるので、これらのファイルはマップと称されることがあります。 詳細は「レベル 」、「レベル エディタ 」、「レベル デザインの機能別サンプル 」を参照してください。 |
|
ワールド ワールド には、ロードされるレベルのリストがあります。レベルのストリーミングと動的アクタのスポーン (作成) を処理します。 ワールドと直接インタラクションする必要はありません。しかし、ワールドはゲーム構造内の特定の参照ポイントを示すのに役立ちます (すなわち、ワールドとは、レベル、マップ、ゲームのことではありません。)。 |
|
ゲーム モード GameMode クラスは、プレイ中のゲームのルールを設定します。このルールには、プレイヤーがどのようにゲームに参加するか、ゲームの一時停止、レベルの移行、勝利条件などのゲーム固有のビヘイビアなどが含まれます。 Project Settings でデフォルトのゲームモードを設定できますが、レベル単位ベースでは、それをオーバーライドできます。GameMode の実行方法に関係なく、常に 1 レベルに 1 つしか GameMode が存在しません。マルチプレイヤー ゲームでは GameMode は、サーバー側にのみ存在し、接続しているクライアントにそれぞれルールがレプリケートされます。 詳細は「Game Mode と Game State 」と「ブループリントでゲームモードをセットアップする操作手順」を参照してください。 |
|
ゲーム ステート GameState には、ゲームですべてのクライアントにレプリケーションしたい情報が含まれます。もっと分かりやすく言うと、すべての接続先の 'The State of the Game' になります。 多くの場合、ゲーム スコア情報を含みます。試合が開始したか否か、ワールドの中のプレイヤー数に応じていくつ AI をスポーンするか、その他のゲーム固有の情報があります。 マルチプレイヤー ゲームでは、サーバーのインスタンスを権限のあるものとして (そこからクライアントが更新された情報を取得)、各プレイヤーのマシーンでゲームステートのインスタンスがひとつあります。 詳細は「GameState 」を参照してください。 |
|
プレイヤー ステート PlayerState は、人プレーヤーやプレイヤーをシミュレートしているボットなどの、ゲームの参加者のステートです。ゲームワールドの一部として存在するノンプレイヤーの AI は PlayerState は持ちません。 PlayerState として適切なデータの例には、プレイヤー名、スコア、現在のレベルやヘルス、キャプチャー・ザ・フラグ ゲームで現在フラグを持っているかなどがあります。 マルチプレイヤー ゲームでは、すべてのマシン上に全プレイヤーの PlayerStates が存在し (PlayerControllers とは異なります) 、サーバーからクライアントにデータをレプリケートして同期を保つことができます。 詳細は「ゲームプレイ フレームワークのクイック リファレンス 」を参照してください。 |