
プレハブ
プレハブ は、シリアル化されたエンティティを含むアセットであり、シーン内でインスタンス化できます。柱、椅子、UI コンポーネントなど、同じエンティティタイプのインスタンスを多数作成する場合に便利です。エンティティを複製するだけでも可能ですが、プレハブを使用すると、プレハブに加えた変更がシーン内のすべてのインスタンスに自動的に反映されるため、より効率的です。
Evergine は、新しい プレハブ システムの初期バージョンを追加しています。近い将来、興味深い機能を追加する予定ですが、現時点でもコアとなる新機能が利用可能です。この最初のバージョンでは、プレハブ の作成とインスタンス化をサポートしており、次のバージョンでは完全な機能を備えたエディターを追加する予定です。
Evergine Studio でのプレハブの作成
現在、エンティティを選択し、右クリックしてコンテキストメニューから「プレハブを作成」項目を選択することで、プレハブを作成できます。

これにより、現在のアセットフォルダに、エンティティと同じ名前のプレハブアセットが作成されます。

Evergine Studio でのプレハブのインスタンス化
シーンに プレハブ をインスタンス化するには、プレハブアセットをシーンビューアにドラッグするだけで、新しいプレハブインスタンスが作成されます。

インスタンス化されると、シーン内の プレハブインスタンス は変更や移動が可能で、シーンはそれらの変更を追跡します。この例では、簡単なミニ森林を作成しました。
コードによるプレハブのインスタンス化
コードでのプレハブのインスタンス化も非常に簡単です。プレハブオブジェクトの Instantiate メソッドを呼び出すだけです。
var treePrefab = this.assets.Load<Prefab>(EvergineContent.Prefabs.tree);
var treeInstance = treePrefab.Instantiate();
this.Managers.EntityManager.Add(treeInstance);
