📀

[UE5] Data Registry プラグインの BPノード羅列するだけ +α

2023/02/15に公開

前置きのひとこと

Data Registry の情報少ない...
(特に Game Features と絡めた内容が欲しい...)

公式ドキュメント

公式クイックスタートガイド (UE5.1)

https://docs.unrealengine.com/5.1/ja/quick-start-guide-for-unreal-engine-data-registries/

Data Registry の作成方法など

公式ドキュメント (UE5.1)

https://docs.unrealengine.com/5.1/ja/data-registries-in-unreal-engine/

クイック関数リファレンスの項で、以下のノードに関しては少し使い方が載ってます。

  • Acquire Data Registry Item
  • Find Data Registry Item
  • Get Data Registry Item
  • Evaluate Data Registry Curve

公式BP APIリファレンス (UE5.1)

https://docs.unrealengine.com/5.1/en-US/BlueprintAPI/DataRegistry/

概観

構造体用のノード

構造体用のBreak・Makeノード、Setノードもありますが量が多いので割愛。

記事執筆時点では基本すべて experimental(実験的段階)です。

https://www.unrealengine.com/en-US/blog/experimental-early-access-and-beta-features-in-unreal-engine

Item Id (Data Registry Id 構造体) について補足

Registry Type と Item Name を内包している構造体です。

Registry Type

  • 作成した Data Registry に設定した Registry Type に応じて候補が表示される
  • Data Registry を作成したら Project Settings > Data Registry から、ディレクトリをスキャン対象に追加する必要があるので注意

Item Name

  • Data Table の列名の候補が表示される
  • 作成した Data Registry の Item Struct に Data Table 作成時に指定した構造体を設定し、かつ Data Source に対応した Data Table を追加しておく必要があるので注意
  • 作成した Data Registry の Id Format > Base Gameplay Tag に 子要素を持つ Tag を設定すると Data Table の列名に GameplayTag を使用できる (親タグが "Weapon"、子タグが "Weapon.01" であれば、"Weapon" を設定する)
  • ただし Data Table 側の列名は手動で入力する必要あり ("Weapon.01" をフルで)

※ちなみに Data Registry Id も Data Registry Type も Make 構造体ノードで 文字列から指定できる

NonPure関数

Acquire Data Registry Item

Starts an asynchronous acquire of a data registry item that may not yet be cached.
まだキャッシュされていないデータレジストリ項目の取得を非同期で開始します。

Evaluate Data Registry Curve

Attempts to evaluate a curve stored in a DataRegistry cache using a specific input value
DataRegistry キャッシュに保存された曲線を、指定した入力値で評価しようとします。

Find Data Registry Item

Attempts to get cached structure data stored in a DataRegistry, modifying OutItem if the item is available
(EXPERIMENTAL) this version has an output param and enum result

DataRegistry に格納されているキャッシュ構造体データの取得を試み、その項目が利用可能であれば OutItem を変更します。
(EXPERIMENTAL) このバージョンでは、出力パラメータと結果が enum で表されます。

Get Data Registry Item

Attempts to get cached structure data stored in a DataRegistry, modifying OutItem if the item is available
(EXPERIMENTAL) this version has an input param and simple bool return

DataRegistry に格納された構造体のキャッシュデータを取得しようと試み、そのアイテムが利用可能な場合は OutItem を変更します。
(EXPERIMENTAL) このバージョンは、入力パラメータと単純な戻り値 (bool) を持ちます。

Get Data Registry Item From Lookup

Attempts to get structure data stored in a DataRegistry cache after an async acquire, modifying OutItem if the item is available
非同期取得の後、DataRegistry キャッシュに保存された構造体データの取得を試み、アイテムが利用可能であれば OutItem を変更します。

Pure関数

Is Valid Data Registry Id

Return true if this is a non-empty item identifier, does not check if it is currentry registered
アイテム識別子が空でない場合は true を返す。

※これだけカテゴリが Asset Manager

Is Valid Data Registry Type

Return true if this is a non-empty item identifier, does not check if it is currentry registered
アイテム識別子が空でない場合は true を返す。

比較演算子

Equal (DataRegistryId)

Return true if the values are equal (A == B)
値が等しい場合に真を返す (A == B)

NotEqual (DataRegistryId)

Return true if the values are not equal (A != B)
値が等しくない場合(A != B)に真を返す。

Equal (DataRegistryType)

Return true if the values are equal (A == B)
値が等しい場合に真を返す (A == B)

NotEqual (DataRegistryType)

Return true if the values are not equal (A != B)
値が等しくない場合(A != B)に真を返す。

ToString

To String (DataRegistryId)

Converts a Data Registry Id to a string. The other direction is not provided because it cannot be validated
データレジストリIDを文字列に変換します。もう一方の方向は検証できないので提供しない。

To String (DataRegistryType)

Converts a Data Registry Type to a string. The other direction is not provided because it cannot be validated
Data Registry Typeを文字列に変換します。もう一方の方向は検証できないため、提供しない。

以上

Discussion