可動性(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=近接攻撃

ボリューム(Volume)


【概要】

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

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

【詳細】

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

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

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

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


【概要】

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

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

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

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

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

【例】

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

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

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

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