PIE(Play In Editor)

 概略

  :エディタ内で直接ゲームプレイをテストするための機能のこと。
   プロジェクトのビルドや外部の実行ファイルを作ることなく、ゲームの動作を確認できる。

  :Unreal Editorの上部にあるツールバーの「Play」ボタンから、PIEモードを開始できる。

 詳細1

  ・Selected Viewport
   :現在のエディタビューポートでゲームをプレイする。

  ・New Editor Window
   :新しいエディタウィンドウでゲームをプレイする。

  ・Standalone Game
   :エディタから独立したウィンドウでゲームをプレイする。
    実際のゲームビルドに近い環境でテストができる方法。

  ・VR Preview
   :VRデバイスを使用してゲームをプレイする。
    VRコンテンツの開発とテストに使用される。

 詳細2

  ・Number of Players
   :PIEセッションに参加するプレイヤーの数を設定できる。
    マルチプレイヤーテスト用。

  ・Net Mode
   :シングルプレイヤー、クライアント、サーバーとしてPIEセッションを実行する。
    ネットワークプレイテスト用。

  ・Play Settings
   :プレイに関する詳細設定。
    例えば、起動時のカメラの位置やデバッグオプションを設定できる。

物理マテリアル(Physical Material)

【概要】

 :オブジェクトの物理的な特性を定義するためのマテリアルのこと。

 :オブジェクトが他のオブジェクトと衝突したときの反応や、表面の摩擦、弾力性などの特性を設定できる。

 :物理マテリアルは、物理エンジンがシミュレーションする際に使用される。

 :オブジェクトのリアルな物理挙動を再現する役割を持つ。

【詳細】

 ・摩擦(Friction)
  :オブジェクトが他のオブジェクトと接触したときの摩擦力の定義。
  :摩擦は、動摩擦(Friction)と静摩擦(Static Friction)に分かれる。

 ・弾力性(Restitution)
  :オブジェクトが衝突したときにどれだけ跳ね返るかの定義。
  :0 は跳ね返らず、1 は完全に跳ね返ることを意味する。

 ・密度(Density)
  :オブジェクトの密度の定義。
  :密度が高いほどオブジェクトの質量が増す。

 ・剛性(Stiffness)
  :オブジェクトの弾性変形に対する抵抗力の定義。
  :剛性が高いほど、オブジェクトは硬くなる。

 ・ダンピング(Damping)
  :オブジェクトの振動や動きが、時間と共にどの程度減衰するかの定義。
  :ダンピングが高いほど、短い時間で動きが静止する。

【例】

 ・氷の物理マテリアル
  :摩擦、静摩擦を 0.1 、
  :弾力性を 0.0 に設定する。

 ・ゴムの物理マテリアル
  :摩擦、静摩擦を 1.0 、
  :弾力性を 0.9 に設定する。

可動性(Mobility)

【概要】

 :Static Mesh アクタと Light アクタがどの程度動的であるか、または静的であるかを表すプロパティのこと。

 :プロパティには、Static、Stationary、Movable の 3種類がある。

【詳細】

 ・Static(静的)
  :Static に設定されたアクタは、プレイ中に移動、回転、スケールの変更ができない。

  :一方で、パフォーマンに及ぼす影響は小さい。

  :例えば、建物、地形、環境の一部などに使用される。(レべルに配置後は完全に固定される。)

 ・Stationary(固定)
  :Stationary に設定されたアクタは、プロパティ(例えば、光源の強度や色など)を変更することができる。

  :動的シャドウと静的シャドウの両方を生成できるため、主にライトに使用される。

  :例えば、照明(強度や色を変更できるが、位置は固定)は、可動可能なオブジェクトの中間的な状態と言える。

 ・Movable(可動)
  :Movable に設定されたアクタは、位置、回転、スケール、プロパティのすべてをプレイ中に変更ができる。

  :一方で、パフォーマンに及ぼす影響が大きい(高コスト)。

  :例えば、プレイヤーキャラクターやインタラクティブなオブジェクト(ドア、車など)に使用される。

バインディング

【概要】

 :データの更新とUI(ユーザーインターフェース)の表示を自動的に同期させるメカニズムのこと。

 :バインディングをすると、変数やプロパティの変更時、対応するUI要素が自動的に更新される。

【詳細】

 ・プロパティバインディング
  :オブジェクトのプロパティをUI要素にバインドする。

  :プロパティの値が変更されると、バインドされたUI要素も自動的に更新される。

 ・イベントバインディング
  :イベントをUI要素にバインドする。

  :例えば、ボタンのクリックに対してイベントが発生し、対応するロジックが実行される。

ゲームステート(Game State)

【概要】

 :Unreal Engineにおけるゲームプレイの全体的な状態を管理するクラス。

 :例えば、ゲームの進行状況や共通の情報を管理し、サーバーとクライアント間で同期する。

 :ゲームモード(Game Mode)と連携して動作し、ゲームのルールやロジックをサポートする。

【詳細】

 ・プロパティ

   PlayerArray
   :現在のゲームに参加しているプレイヤーのリストを保持する。

   MatchState
   :ゲームの進行状況(InProgress、WaitingToStart、Completedなど)を表す。

   bReplicates
   :ゲームステートがネットワーク上でレプリケーション(同期)されるかどうかを示す。


 ・メソッド

   BeginPlay()
   : ゲームが開始されたときに呼び出されるメソッド。初期化処理を行う。

   Tick(float DeltaTime)
   : 毎フレーム呼び出されるメソッド。ゲームステートの更新処理を行う。

   HandleMatchHasStarted()
   : ゲームマッチが開始されたときの処理を行う。

   HandleMatchHasEnded()
   : ゲームマッチが終了したときの処理を行う。

キーフレーム(Keyframe)

【概要】

 :アニメーションの特定の時点でオブジェクトの状態を定義するフレームのこと。

 :オブジェクトの位置、回転、スケール、色などの情報が含まれる。

【詳細】

 ・補間(Interpolation)
  :キーフレーム間の中間フレームを生成するプロセスのこと。

  :補間すると、キーフレーム間のオブジェクトの変化がスムーズになる。

  :一般的な補間方法には線形補間、スプライン補間、ステップ補間などがある。


 ・タイムライン(Timeline)
  :アニメーションの時間軸のこと。

  :タイムライン上にキーフレームを配置し、アニメーションの時間的な進行を視覚化する。

FBXファイル(.fbx)

【概要】

 :Autodeskによって開発されたファイル形式。

 :3Dモデリングソフトウェアとゲームエンジンのデータ交換でよく使用される。

【詳細】

 :3Dモデルの以下の情報を一つのファイルに含めることができる。

  ・ジオメトリ(Geometry)
   :3Dオブジェクトの形状を定義するメッシュデータ(頂点、エッジ、ポリゴン)。

  ・スケルトンとボーン
   (Skeleton and Bones)
   :キャラクターやリグを定義するためのボーン構造データ。
   :アニメーションが適用される際、モデルがどのように動くかが決まる。

  ・スキニング(Skinning)
   :ボーンとメッシュの頂点を関連付けるデータ。
   :スキニングにより、ボーンの動きに合わせてメッシュが変形する。

  ・アニメーション
   (Animation)
   :キーフレームアニメーションデータ。
   :各ボーンの位置、回転、スケールが時間に応じて変化する情報が含まれる。

  ・テクスチャとマテリアル
   (Textures and Materials)
   :3Dモデルに適用されるテクスチャ画像やマテリアル設定のデータ。
   :モデルの見た目(色、反射、透明度など)が決まる。

イベントグラフ(Event Graph)

【概要】

 :ブループリントの中でイベント駆動型のロジックを視覚的にスクリプト化するツール。

 :オブジェクトやアクタに対して、様々なイベントやアクションを設定・管理することができる。

【詳細】

 ・イベント(Event)
  :特定のアクションや条件が満たされたときに発生する出来事のこと。

  :例えば、プレイヤーがボタンを押したとき、衝突したときなどにイベントを発生させる。


 ・ノード(Node)
  :イベントグラフを構成する要素のこと。

  :イベントノード、関数ノード、変数ノードなどがあり、ノードの組み合わせでロジックを構築する。


 ・ピン(Pin)
  :ノード同士を接続するための接続点のこと。

  :データを伝達するためのデータピンや、実行の流れを制御するための実行ピンがある。


 ・ワイヤー(Wire)
  :ピン同士を接続する線のことで、ノードをつないで、データや実行を伝達する役割を持つ。

【例】

 ・Begin Play
  :アクタがゲーム内に初めて登場したときに発生するイベント。

 ・Tick
  :毎フレーム発生するイベント。

 ・On Component
   Begin Overlap
  :他のアクタがコリジョンコンポーネントに触れたときに発生するイベント。

コリジョン(Collision)

【概要】

 :オブジェクト間の衝突を検出するシステムのこと。

 :物理的なインタラクションやトリガーイベント、オブジェクトの衝突反応などを実現する。

【詳細】

 ・コリジョンプリミティブ
  (Collision Primitives)
  :コリジョンを検出するための基本的な形状(プリミティブ)のこと。
  :ボックス(Box)、球(Sphere)、カプセル(Capsule)、メッシュ(Mesh)が含まれる。

 ・コリジョンレスポンス
  (Collision Response)
  :コリジョンが検出されたときのオブジェクトの反応を定義すること。
  :コリジョンレスポンスには、ブロック(Block)、オーバーラップ(Overlap)、無視(Ignore)が含まれる。

   ・ブロック
    : 衝突したオブジェクトを物理的に阻止する。
   
   ・オーバーラップ
    : 衝突は検出するが、物理的な阻止はしない。
   
   ・無視
    : コリジョンを無視する。

 ・トリガー(Trigger)
  :物理的なブロックはせず、イベントを発生させるために使用される機能。

  :例えば、プレイヤーが特定のエリアに入ったときにイベントをトリガーする。

クラス(Class)

【概要】

 :オブジェクト(アクタ、キャラクター、アイテムなど)のテンプレートのこと。

 :例えば、ゲーム内の全てのキャラクターに共通する属性や動作が定義されたもの。(属性=体力、スピードなど、行動=移動、攻撃など)

 :Unreal Engine では、クラスは階層構造を持ち、親クラスから子クラスへの継承によって、派生クラスを作ることができる。

【例1】

 ・AActor
  :全てのアクタの基本クラス。
  :位置、回転、スケールなどの基本的なプロパティを持つ。

 ・APawn
  :AActor を継承したクラス。
  :プレイヤーやAIが操作するための基本クラス。

 ・ACharacter
  :APawn を継承したクラス。
  :歩行、ジャンプなどのキャラクター動作が定義されている。

【詳細】

 ・カプセル化(Encapsulation)
  :データと、データを操作するメソッド(関数)を1つのクラスにまとめること。

  :外部から直接アクセスできないようにすることで、データの整合性を保つ。

  :例えば、キャラクターの体力を、直接ではなくメソッドを通じて操作する。

 ・継承(Inheritance)
  :あるクラスの特性を別のクラスが受け継ぐこと。

  :基本的な機能をテンプレートで共有しつつ、特定の機能を追加する。

  :例えば、キャラクタークラスから、プレイヤークラス、敵キャラクタークラスを作る。


  ・ポリモーフィズム
   (Polymorphism)
   :異なるクラスのオブジェクトが同じインターフェースを介して異なる動作を実装すること。
   
   :例えば、キャラクタークラスの「Attack」メソッドを以下のように実装する。

    ・プレイヤー
     :Attack=銃を撃つ

    ・敵キャラクター
     :Attack=近接攻撃