LEGO® Grid Entity Manager の仕掛けは、グリッド上にスポーンされるグリッド エンティティを制御します。 グリッド エンティティは、ブルーム・タイクーンで示されているように、プレイヤーがレゴ配置グリッド上にスポーンできる小道具のことです。 このカスタム Verse の仕掛けには、使用可能なグリッド エンティティのリストと、アンロック可能な小道具の設定が含まれています。
このグリッド システムで使用される「エンティティ」という概念は、Scene Graph ワークフローとは別のものです。
ロック解除パックとは、特定の条件を満たすことでプレイヤーが獲得し、自分の配置用インベントリに追加できるグリッド エンティティのコレクションです。条件は、自分で独自に設定することができます。 この仕掛けを使って、独自の小道具や UI 画像を追加できます。
仕掛けの設定
この仕掛けには、プレイヤーが配置したい小道具を確認および選択するためのユーザー インターフェース (UI) が含まれています。 各オプションは、仕掛け内で個別に設定されます。
グリッド エンティティを作成するには、以下の手順に従います。
コンテンツ ドロワーを開き、「Project Folder> LEGO_Grid_Placement」へ移動します。
テンプレートからファイルをコピーした場合は、自分がフォルダを配置した場所へ移動してください。
lego_grid_entity_managerVerse クラスをレベルにドラッグアンドドロップします。レベル内の LEGO Grid の仕掛けをクリックし、[Details] パネルの [EntityManager] オプションへ移動します。
ドロップダウンをクリックし、先ほど配置したエンティティ マネージャを選択します。
任意で、[Persistence (持続性)] セクションで次の項目を調整できます。
OnlyLoadDataForSessionOwner:参加するプレイヤーがフォートナイトの現在のプレイ セッションの所有者である場合にのみデータをロードするように持続性システムを設定します。
AutoSaveIntervalSeconds:プレイヤー側で自動保存処理が呼び出される間隔を秒単位で設定します。
FNBindingsInterface:データの保存、読み込み、削除に使用するトリガーの仕掛けの割り当てオプションです。
また、別の方法として、新しい Verse の仕掛けを作成し、以下のスニペットをコピーすることも可能です。
using { /Fortnite.com/Characters }
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Colors/NamedColors }
using { LEGOUtilities }
Tooltip_GridEntityManager_Definitions<public><localizes> : message = "All the grid entity definitions that can be placed in the world."
この Verse のスニペットは、「LEGOUtilities」フォルダ内のユーティリティに依存しているため、 これらのファイルがプロジェクト フォルダ内にあることを確認してください。
独自の小道具を追加する
プレイヤーが配置できる独自の小道具を追加するには、以下の手順に従ってください。
LEGO Grid Entity Manager の仕掛けをクリックします。
[Details] パネルを開き、[GridEnityDefinitions] セクションに移動して、配置したい小道具を追加します。
小道具をロック状態にしたい場合は、[UnlockPacks] カテゴリに移動し、該当の設定を行います。
各グリッド エンティテには、ワールド内に正しくスポーンさせるためのデータ設定が必要です。 このデータは [GridEnityDefinitions] カテゴリ内で構成され、以下の項目を設定します。
Name:小道具の名称
PropAsset:実際にスポーンさせる小道具 アセットを決定
SoloPropDefinition:小道具の詳細情報 (例:レゴ スタッド サイズなど)。 右側の矢印をクリックして値を入力します
Object Definition:小道具のカテゴリ、グリッド セルのサイズ、タイプ、UI に表示されるサムネイル画像などを決定 右側の矢印をクリックして値を入力します
UnlockCategory:この小道具がアンロック パックに属するかどうかを決定
このカスタム Verse の仕掛けは、プレイヤーがグリッド上でスポーンできる小道具 (エンティティとして定義) のリストを作成します。 また、Unlock Packs を設定するオプションもあります。これを使うことで、たとえばクエストの達成など特定のイベントを通じてプレイヤーが小道具をロック解除できるようにすることが可能です。
UEFN 単位と LEGO 単位の対応
[SoloPropDefinition] フィールドには、小道具のサイズを LEGO のスタッド (stud) 単位で入力する必要があります。具体的には、Forward (かつての X 軸)、Left (かつての Y 軸)、Up (かつての Z 軸) の各方向のサイズをスタッド単位で指定します。
なお、このテンプレート作成以降、UEFN では新しい座標システムが採用されています。 詳しくは「LUF 座標系」を参照してください。
これらのサイズ設定によって、レゴ ブロック同士が重なったり干渉したりするのを防ぐことができます。 Forward、Left、Up の値は、UEFN の単位に合うように正確に換算されています。 また、レゴのデザイン ガイドラインに準拠するためにも、これらのユニットは重要です。 幅や奥行きに加え、高さをプレート内で正確に設定することが重要です。
Bloom Tycoon ギャラリーに含まれるアセットの寸法一覧は、次の ZIP ファイルからダウンロードできます。
自分で作成したオブジェクト、または Bloom Tycoon ギャラリーに掲載されていないオブジェクトを使用する場合は、 レゴ オブジェクトのスタッド数を水平方向の両方で数えることで、Forward 値と Left 値を算出できます。 高さはプレート単位で定義されており、垂直方向にプレートの数を数える必要があります。
UEFN の単位とレゴの単位との換算は、以下のテーブルの通りです。
UEFN 単位 | レゴ単位 |
16 単位 (横) | 1 スタッド |
6.4 単位 (縦) | 1 プレート |
この換算表を使えば、Content Drawer (コンテンツ ドロワー)で小道具にカーソルを合わせて表示される寸法をもとに、オブジェクトのおおよそのレゴ単位(スタッド数やプレート数)を見積もることができます。 寸法については、横単位を 16 で割り、縦単位を 6.4 で割ります。 レゴのサイズ設計についてさらに詳しく知りたい方は、「レゴ® 島で作業する」をご覧ください。
グリッド クラスタを設定する
グリッド クラスタは、オブジェクトの配置可否をチェックする際のパフォーマンスを最適化するための技術です。 Forward と Left の軸でプレイ空間を区切り、エリアを複数のクラスタに分割します。 テンプレートでは、12 x 15 のグリッド クラスタが使用されています。 配置チェックの際、対象のオブジェクトが存在しないクラスタは無視され、プレイヤーとオブジェクトが属するクラスタだけをチェックすることで、重なり判定の負荷を削減します。
グリッド クラスタを設定するには、Forward のサイズを 12 に、Left のサイズを 15 にします。
次
特定の場所にプレイヤーがどのオブジェクトを配置できるかを制御するための、小道具配置設定の方法を学びましょう。