On this page

出力タイプ

現在のところ、Houdini Engine for Unityは、Houdiniデジタルアセットから以下のタイプのジオメトリを生成します:

  • Unityメッシュ

  • インスタンス化されたUnityメッシュ

ジオメトリは、Displayフラグが設定されたノード(表示ノードジオメトリ)、または、インスタンス化された/中間/編集可能なノード(一時的なジオメトリ)から生成されます。

表示ノードジオメトリ

SOPタイプのアセットの場合、ジオメトリはサブネットワーク内の表示SOPノードから出力されます。 Objectタイプアセットでは、各Objectサブネットワークの表示ノードが生成されます。 これらの出力は、Houdiniアセットの実際の結果とみなされます。

出力

インスタンス化されたジオメトリや、中間または編集可能ノードの一部であるジオメトリは、生成されたり、GameObjectに追加されたり、HDA_Data GameObjectに親子化されたりします。 これらは通常、MeshRendererコンポーネントを無効にすることで非表示になります。 これらはビルド時に削除されるという意味で、一時的なジオメトリです。 EditorOnly タグでHDA_Dataに親子化すると、これが自動的に行なわれます。

Unityメッシュ

通常、Houdiniアセットは、クックの結果としてUnityメッシュを生成します。 Unityメッシュは作成され、MeshRenderer、1つ以上のマテリアル、そして場合によっては独自のメッシュを持つメッシュコライダーと共に、GameObjectの一部として、MeshFilterコンポーネントに適用されます。

出力ジオメトリがHoudiniで複数のマテリアルを持つ場合、Unityでも同じ数のマテリアルを持つことになります。

最初のクックでは、出力GameObjectとそのコンポーネントが新しく作成されます。 その後の再クックでは、出力GameObjectのコンポーネントのメッシュとマテリアルが更新されます。

詳細はメッシュを参照してください。

インスタンス化されたUnityメッシュ

パックプリミティブやオブジェクトインスタンサーでは、出力は、一時的なインスタンス化されたGameObjectとメッシュ(一時的なジオメトリ)の組み合わせと、実際のGameObjectインスタンスになります。 インスタンス化されたGameObjectには以下のような特別なプロパティがあります:

  • 生成されたUnityメッシュはメモリ内で共有されます(MeshFilter.sharedMeshを使用)。

  • 生成されたマテリアルではGPUインスタンシングが自動的に有効になります。

GameObjectインスタンスは、階層でグループ化して整理するために空っぽのGameObjectの下に配置されます。

出力の命名規則

デフォルトでは、生成されるGameObjectの名前は、オブジェクトノード、ジオメトリノード、パート(表示ノード)の名前をアンダースコアで区切って組み合わせたものになります。 アセット内でこの名前の一意のバージョンを生成するために、整数が追加されます。 一意の名前が必要なのは、Bake Update機能のためです。 Bake Updateは、ソースアセットの出力GameObjectの名前を使用して、呼応するターゲット出力のGameObjectを見つけ、それを更新することで機能します。 一意の名前がない場合、呼応するGameObjectを見つけて更新することはできません。

出力にパート名(表示ノード)だけを使用する(つまりフルパス名を無視する)には、 HoudiniEngine メニューから Plugin Settings を開き、GENERALセクションの Use Full Path Names for Output オプションを無効にします。

Unity

はじめよう

プロジェクトのセットアップ

Houdini Engineを使用する

リファレンス