2022年2月13日

プレハブの追加と改善

この新しいバージョンのEvergineでは、プレハブ システムにいくつかの修正と改善が追加されました。最も重要な新機能は、プレハブインスタンスエンティティへのコンポーネントの追加・削除と、子の追加オプションです。

 

プレハブインスタンスへのエンティティの追加

プレハブインスタンスへのエンティティの追加は、通常のエンティティに子を追加するのと同様で、エンティティ階層パネルからエンティティをドラッグ&ドロップするか、作成するだけです。

次の画像では、木のプレハブインスタンスに鳥のエンティティを追加しています(木のエンティティには(Prefab)ラベルがありますが、鳥のエンティティにはないことがわかります)。

プレハブインスタンスにエンティティを追加しても、同じプレハブの他のインスタンスは変更されません。

 

予期せぬ結果を避けるため、Evergineでは、ルートのプレハブインスタンスエンティティを除き、プレハブインスタンス階層からのエンティティの削除は許可されていません。ルートエンティティを削除すると、シーンからプレハブインスタンス全体が削除されます。

プレハブインスタンスへのコンポーネントの追加と削除

もう一つの嬉しい追加機能は、プレハブインスタンスのエンティティにコンポーネントを追加・削除できるようになったことです。これも通常のエンティティと同様の方法で行えます。Evergineは、新しいコンポーネントをインスタンス化されたものと区別し、削除されたものを追跡します。

木の一つにSpinnerコンポーネントを追加してみましょう。

 

エンティティではなくコンポーネントの削除を可能にしたのは、エンティティを削除して階層のブランチ全体を失うリスクに比べ、階層の一貫性を失うリスクが小さいと判断したためです。プレハブを扱う際には、適切に動作するために少なくともある程度の内部的一貫性が通常求められることを念頭に置く必要があります。

 

今後のEvergineリリースでは、プレハブシステムに新しく興味深い機能がもたらされる予定です。ご期待ください!

Antonio avila
著者
Antonio Ávila
Plain Concepts Research