ヒエラルキーを含むモデルのインポート
PlayCanvasでは、シーン内のエンティティ階層ごとにメッシュを持つモデルをインポートすることができます。これにより、エディタで異なるメッシュを直接編集することができます。コンポーネントを追加したり、他のエンティティをアタッチしたり、エンティティ階層内のエンティティを移動/回転/スケールしたりすることができます。
有効化の方法
注記
新しいプロジェクトでは、これが既定で有効になっています。
「プロジェクト設定」を開きます。
'Asset Tasks' までスクロールし、 'Import Hierarchy' を有効にします。
モデルのインポート
最初のモデルとアニメーションのインポートについての完全なチュートリアルはこちらで見つけることができます。
概要として、モデルファイルを 'アセットパネル' にドラッグします。
インポート時に次のアセットが作成されます。
アセットタイプ | 説明 |
---|---|
マテリアル | インポートされたモデルで使用される、メッシュインスタンスにマップされたマテリアル。 |
テクスチャ | モデルファイルに埋め込まれたテクスチャ(ある場合)。これらは、関連するマテリアルに自動的にマップされます。 |
テンプレート | モデルのシーン階層を保存するテンプレート。テンプレートのインスタンスを作成して、モデルをシーンに持ち込みます。 |
Container | モデルのすべてのメッシュを保存するGLB。 |
Render | Renderアセットは、コンテナアセット内のメッシュを参照し、Renderコンポーネントでシーン内のメッシュをレンダリングするために使用されます。また、Collisionコンポーネントとして、物理用のメッシュとしても使用できます。 |
モデルの更新
ヒエラルキーはテンプレートの一部として作成されるため、モデルが更新されると、それはシーンのテンプレートインスタンスに影響を与える可能性があります。
テンプレート内のエンティティに追加されたコンポーネントは、更新中にメッシュインスタンスがもう存在しない場合を除いて保持されます。
ただし、Scriptコンポーネントがテンプレート内のエンティティに追加され、それが更新されたモデルの一部ではなくなった場合、データの損失がないように、そのエンティティはテンプレート内のルート エンティティの下に移動されます。アップデート前にその下にあったエンティティも保持されます。
エディターが新しいメッシュインスタンス、または削除されたメッシュインスタンスをどのように判断するかは、以下のとおりです。
- アップデート中に、メッシュインスタンスの名前とそ の親メッシュのインスタンスの名前が既存のメッシュインスタンスとその親と一致している場合、それらは階層内の同じメッシュインスタンスと見なされ、更新されます。
- アップデート中に、メッシュインスタンスの名前が存在しない場合、新しいエンティティがテンプレートに追加されたものと見なされます。
- アップデート中に、ルールに従って与えられた対応するメッシュインスタンスが存在しない場合、そのメッシュインスタンスが削除されたと見なされ、エンティティがテンプレートから削除されます。ただし、上述した例外があり、テンプレートにScriptコンポーネントが追加された場合、そのエンティティはルートに保持されます。Scriptコンポーネントが追加されなかった場合は、テンプレートから削除されます。