ゲームステート(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=近接攻撃

ボリューム(Volume)


【概要】

 :特定のエリアや空間を定義する3D領域のこと。

 :通常のアクタとは異なり、特定の機能や効果をその領域内で適用するために使用される。

【詳細】

 ・エリア効果
  :指定されたエリア内で特定の効果を適用する。(衝突判定、トリガーイベント、環境効果など)

 ・CGCジオメトリ
  :ボリュームを定義するためのジオメトリ。
  :ボリュームは、Constructive Solid Geometry(CGC)で空間を定義する。

 ・ボリュームの種類
  :トリガーボリューム、ナビメッシュボリューム、ポストプロセスボリュームなど。
  :例えば、トリガーボリュームは「OnActorBeginOverlap」でイベントを設定できる。

キャスティング|キャスト


【概要】

 :キャスティング(Casting)とは、あるオブジェクトの型を別の型に変換する操作のこと。

 :オブジェクトが持つ機能やプロパティにアクセスするために使用する。

 :例えば、「Actor」クラスのオブジェクトを「Character」クラスにキャスト(Cast)する。

 :そうすると、「Character」クラスに固有のプロパティやメソッドにアクセスできるようになる。

 :ただし、キャストは失敗する可能性がある。

【例】

 :時間経過に伴って、プレイヤーの体力にダメージを与えるボリューム(火)があったとする。
 
 :また、プレイヤーがボリュームにオーバーラップした際、ボリュームを「火」にキャストしたとする。

 (キャストする=「プレイヤーの体力にダメージを与える」機能にアクセスを試みる)

 ・キャスト成功の場合
  :プレイヤーがボリューム(火)に立つと、プレイヤーの体力が下がり始める。

 ・キャスト失敗の場合
  :プレイヤーがボリューム(火)に立っても、体力に影響がない。

ブラシ(Brush)

【概要】

 :レベルデザインにおいて、基本的なジオメトリ(形状)を作成するツールのこと。

 :例えば、建物の構造、部屋のレイアウト、地形の基礎などの3D形状の作成に使用される。

 :ブラシには「加算」と「減算」がある。

【詳細】

 ・加算ブラシ(Additive Brush)
  :例えば、部屋の壁や床を作るときに使用する。

 ・減算ブラシ(Additive Brush)
  :例えば、部屋の壁にドアや窓を作るときに使用する。

スクリプト化

【概要】

 :特定の動作やロジックをプログラムとして記述して、自動的に処理が実行されるように設定すること。

 :例えば、プレイヤーがボタンをクリックしたときにドアが開く、など。