Lyra インベントリおよび装備
インベントリ は、自分が所有しているアイテムのコレクションですが、バックパックなどのようなコンテナ内に隠して格納することもできます。
装備 はそのようなコンテナまたはバックパックから取り出され、携帯、着用、または使用されるアイテムです。
たとえば、プレイヤー キャラクターに与えられるライフル アイテムについて考えてみましょう。ライフルは、最初は弾薬も含めて仮想的にプレイヤーのインベントリに存在しているのみです。武器切り替えボタンを押すことで、ライフルが装備されます。これは、キャラクターの手の中に 3D メッシュとして表示され、ライフルを撃ったりリロードしたりする機能が追加されます。
インベントリと装備の主な違いについて、以下に一部を示します。
カテゴリ | インベントリ アイテム | 装備アイテム |
---|---|---|
Visualization (ビジュアライゼーション) | ユーザーインターフェース (UI) やインゲームのピックアップには、アイコンが使用されます。 | 使用中にスポーンするビジュアル アクタであり、多くの場合、オーナーにアタッチされます。 |
Lifetime (存続期間) | インスタンスはオーナーが保持している限り存在し、ドロップされると破棄されます。 | インスタンスはアイテムが装備されると作成され、装備解除されると破棄されます。 |
Gameplay (ゲームプレイ) | ステートは、ゲームプレイ タグ スタックを使用して維持されます。 | 装備/装備解除のサイクルの間では、ステートは維持されません。装備中はアビリティ セットを付与できます。 |
Ownership (オーナーシップ) | InventoryManagerComponent のコントローラーによって所有されます。 | EquipmentManagerComponent のポーンによって所有されます。 |
Network Replication (ネットワークのレプリケーション) | サーバーおよび自動プロキシのみ。 | サーバー、自動プロキシ、およびシミュレートされたプロキシ。 |
Data Definition (データ定義) | 拡張可能なインベントリ フラグメントで構成されます。 | データ プロパティに限定されます。 |
Association (関連付け) | 通常、アイテムの定義は、関連付けられる定義を指定します。 | 装備の定義はインベントリの定義を参照しません。 |
命名規則 | 'ID_' のプレフィックスが付けられます (ID_Rifle) | 'WID_' のプレフィックスが付けられます (WID_Rifle) |
Inventory (インベントリ)
インベントリ アイテムは、獲得またはピックアップできるオブジェクトです。これは、インベントリ フラグメント の配列を通してゲームプレイおよび表現に影響を与えます。フラグメントは、オーナーの統計を Gameplay tags を通して変更することができ、インベントリ UI に表示したりアイテムを装備できるようにしたりします。
インベントリ アイテム フラグメント
Lyra には、インベントリ アイテムに適用できる、以下のようなさまざまなフラグメントが用意されています。
インベントリ フラグメント | 説明 |
---|---|
InventoryFragment_PickupIcon | ピックアップ可能なアイテムのワールド内の表現を決定します。 |
InventoryFragment_EquippableItem | オーナーがアイテムを装備すると、インベントリ アイテムと使用される装備の定義をペアにします |
InventoryFragment_SetStats | 弾薬など、ピックアップ時にタグベースのスタックのゲームプレイ セットを付与します。 |
InventoryFragment_QuickbarIcon | プレイヤーのクイックバー UI のスロットを占有するアイテムに使用される HUD アイコンを判定します。 |
InventoryFragment_ReticleConfig | このインベントリ アイテムが装備されたときにインスタンス化する代替の HUD レチクル クラスを指定します。 |
Lyra のインベントリ フラグメント アイテムのエフェクトは、新しいフラグメント タイプを実装することでカスタマイズできます。
アイテム ピックアップ
ALyraWeaponSpawner
クラスには、インベントリ アイテムとともにピックアップがどのように機能するかを示す例が含まれています。これらのアイテムは、Lyra のシューター マップで B_WeaponSpawner
インスタンス (武器ピックアップ用) および B_AbilitySpawner
インスタンス (ヘルス ピックアップ用) として使用されます。
装備
装備 はプレイヤーに装備できるアイテムであり、ゲームプレイのビジュアル や UI を変更したり、パッシブまたはアクティブな アビリティ を付与したりします。通常、装備されたアイテムはインベントリ アイテムに基づいてインスタンス化されます。
インベントリ アイテムとは異なり、装備アイテムは装備したときにのみ存在します。
UI との関係
クイック バー
クイック バー は、プレイヤーの HUD 領域であり、武器などの装備可能なインベントリ アイテムが表示されます。これには、表示のためにアイテムのインベントリ フラグメントの情報が使用され、弾薬のステータスのためにインスタンスの統計タグが使用されます。
異なるクイック バー スロットを選択すると、プレイヤーのインベントリの武器が装備されたり装備解除されたりします。
実装の詳細については、W_QuickBar および W_QuickBarSlot ウィジェットのブループリントを参照してください。
カスタム レチクル
異なるアイテムを装備すると、プレイヤーの HUD に変化を発生させる可能性があります。たとえば、ピストルのレチクルは照準を合わせた射撃を目的としていますが、ショットガンのレチクルは複数の着弾箇所が広がるビジュアライゼーションを目的としています。
レチクルは、アイテムのインベントリ アイテム定義のフラグメントから指定されます。W_ShooterHUDLayout および W_WeaponReticleHost ウィジェットのブループリントを参照してください。
主なインベントリ タイプ
タイプ | 注記 |
---|---|
InventoryManagerComponent |
|
InventoryItemDefinition (asset) |
|
InventoryFragment | アイテムの側面を説明するオプションのデータ チャンク。通常、アイテムはこれを複数備えています。 |
InventoryItemInstance |
|
PickupDefinition (アセット) |
|
主な装備タイプ
タイプ | 注記 | |
---|---|---|
EquipmentManagerComponent |
|
|
EquipmentDefinition (アセット) |
|
|
EquipmentInstance |
|
|
AppliedEquipmentEntry |
|
|
RangedWeaponInstance / WeaponInstance | EquipmentInstance の特殊化で、一部のタイプに固有の内部ブックキーピングを行います。 |
Lyra のさらに先へ
Lyra のアイテムには、インベントリと装備の両方の表現がありますが、システムは独立して動作させることもできます。
たとえば、プレイヤーが獲得できるアイテムで防御ボーナスを付与するもの (魔法のお守りなど) を検討してみましょう。このアイテムには、HUD アイコンを指定するインベントリの定義や、オーナーにシールドのゲームプレイ エフェクトを適用する新しいフラグメント タイプを含めることができます。これは装備する必要がないパッシブ エフェクトであるため、装備アイテム定義は必要ありません。