アクションゲームフレームワーク

確認済のバージョン: 2017.2

-

難易度: 中級

オーディオ

HealthChangeAudioSource

Health Change に関連するサウンドを再生するためのヘルパークラスです。

HealthChangeSounds

Health Change をオーディオクリップにマップします。

HealthChangeSoundSelector

特定な量のダメージを受けたときに、指定のオーディオクリップを再生するコンポーネントです。

RandomAudioSource

ランダムのオーディオクリップを再生するヘルパークラス。ランダムの加減は一定ではなく、ウェイトによります。

WeightedAudioClip

WeightedAudioList は WeightedAudioClips の配列を格納しています。独立したクリップの方がより高い確率で選択されます。

WeightedAudioList

RandomAudioSource によって使用されるクラス。ここから、オーディオクリップが選択されます。

耐久力

Damageable

イベントを使って耐久力を処理するクラスです。

利用可能なイベントは以下の通りです。

  • Action reachedMaxHealth

  • Action<HealthChangeInfo> damaged

  • Action<HealthChangeInfo> healed

  • Action<HealthChangeInfo> died

攻撃を受ける側にダメージを適用するには TakeDamageWithAlignment メソッドを呼び出す必要があります。これは、主に DamageableListener を通して行われます。

DamageableBehaviour

このコンポーネントは、ダメージを受けるゲームオブジェクトに使用します。 このコンポーネントには、Damageable を設定するフィールドと、すべてのダメージを処理し適切なときにイベントを発生させる Configuration があります。Configuration の Health と Alignment のフィールドは、コンポーネントで設定したり、動的に設定することが可能です。

Health Visualizer Prefab は、Configuration の Health をプレイヤーに伝えるのに使用される HealthVisualizer です。 Health Visualizer Offset は単に、Health Visualizer プレハブ がインスタンス化されたときのローカル位置です。

DamageableListener

UnityEvents を DamageableBehaviour の Damager イベントに簡単に割り当てることができるコンポーネントです。

DamageCollider

Damager コンポーネントと衝突するときに、対応する DamageableBehaviour にダメージを適用するコンポーネントです。

Damager

DamageableBehaviour にダメージを適用するために必要なコンポーネントです。

DamageTrigger

Damager コンポーネントによって呼び出されたときに、対応する DamageableBehaviour にダメージを適用するコンポーネントです。

DamageZone

ダメージを取得し、ダメージを受ける側の挙動に適用する抽象クラスです。

DamageTrigger と DamageCollider によって継承されます。

HealthChangeInfo

Damageable の耐久力関連のイベントを通して渡される構造体です。

HealthVisualizer

ダメージを受ける側の耐久力を表示する可視化するためのコンポーネントです。

HitInfo

いくつかの damage listener が必要とするクラス。ダメージポイント用に HealthChangeInfo と Vector3 を格納します。

ヘルパークラス

Ballistics

一般的な弾道計算を補助する静的なヘルパークラスです。

以下はメソッドのリストです。

  • CalculateLinearFireVector

  • CalculateLinearFlightTime

  • CalculateLinearLeadingTargetPoint

  • CalculateBallisticFireVectorFromAngle

  • CalculateBallisticFireVectorFromVelocity

  • CalculateBallisticFireAngle

  • CalculateBallisticFlightTime

  • CalculateBallisticLeadingTargetPointWithSpeed

  • CalculateBallisticLeadingTargetPointWithAngle

Projectiles

BallisticsProjectile

放物線状に飛行する砲撃のための簡単な IProjectile の実装。 角度または速さで起動するように設定できます。

HomingLinearProjectile

砲弾が飛行中に飛行経路を調整して指定された目標を迎撃することを可能にする LinearProjectile の基本的なオーバーライドです。 設定可能な Leading (誘導) パラメーターを持っています。

IProjectile

一般的な砲弾の仕様を設定するインターフェースです。

以下のメソッドが含まれています。

  • FireAtPoint(Vector3 startPoint, Vector3 targetPoint)

  • FireInDirection(Vector3 startPoint, Vector3 fireVector)

  • FireAtVelocity(Vector3 startPoint, Vector3 fireVelocity)

LinearProjectile

直線状に飛行する砲弾のための簡単な IProjectile を実装します。

WobblingHomingProjectile

3 つの状態を持つ HomingLinearProjectile の特化したオーバーライドです。

  1. ふらつく。 砲弾がふらつきながら、制御不能の状態で飛行します。

  2. 方向転換。砲弾が指定された標的に向かって方向を変えます。

  3. 標的に向かう。通常の HomingLinearProjectile のように挙動し、指定された標的を迎撃するために飛行します。

生成

HitObject

MonoBehaviour の抽象クラス。ヒットの情報を使用する特別なタイプのコンポーネントです。

HitObjectSpawner

MonoBehaviour の抽象クラス。ヒットに基づいてゲームオブジェクトを生成する public メソッドを提供します。

RandomHitObjectSpawner

WeightedObjectList からランダムに *GameObject** を選択する HitObjectSpawner を実装します。

SingleHitObjectSpawner

1 つのゲームオブジェクトを提供する HitObjectSpawner を実装します。

WeightedObject

serializable weightedObject をもつクラス。WeightedObjectList によって使用されます。

WeightedObjectList

serializable WeightedObject[] をもつクラス。配列のウェイトに基づいてランダムにゲームオブジェクト返すメソッドが含まれます。