On this page |
“”“HoudiniとUnity間で使用するアトリビュートとグループのリスト。”“” HoudiniとUnity間でデータをマーシャリング(等価変換)する際は、特別なグループとアトリビュートが使用されます。
標準のHoudiniアトリビュート ¶
HoudiniとUnity間でデータをマーシャリング(等価変換)する際は、特定の標準Houdiniアトリビュートが使用されます。
アトリビュート名 |
説明 |
---|---|
|
位置 |
|
回転 |
|
カラー |
|
不透明度 |
|
法線 |
|
UV |
|
追加のUVチャンネル |
|
オブジェクトレベルのインスタンス向け。インスタンス化を参照してください。 |
HoudiniからUnity ¶
以下のテーブルは、HoudiniからUnityへのデータマーシャリング時に認識される特別なアトリビュートをリストしたものです。 アセットにこれらのアトリビュートを設定すると、生成されたUnityジオメトリの一部のプロパティを制御したり上書きすることができます。
アトリビュート名 |
オーナー |
タイプ |
トピック |
説明 |
---|---|---|---|---|
|
Point, Detail |
string |
インスタンス化 |
指定されたオーナートランスフォームでインスタンス化するアセットのUnityプロジェクトでのパス。 プロジェクトのAssetsフォルダを基準とした相対パスである必要があります。 例: Assets/Prefabs/Hero.prefab |
|
Point, Detail |
int |
インスタンス化 |
インスタンス化する時に、Prefabの元の静的、タグ、レイヤーのアトリビュートを使用します(親のHDAのアトリビュートではなく)。
|
|
Prim, Detail |
string |
マテリアル |
パートに適用するマテリアルアセットのUnityでのパス。 プロジェクトのAssetsフォルダを基準とした相対パスである必要があります。 例: Assets/Materials/HeroMat.mat |
|
Prim, Detail |
string |
生成されたGameObjectに設定するUnityタグ。 タグは、Unity Editorシーンに既存のものでなければなりません。 |
|
|
Prim, Detail |
int |
1に設定すると生成されたGameObjectが静的になり、0に設定すると非静的になります。 |
|
|
Detail |
float配列 |
詳細レベル |
LODレベルの遷移画面サイズ(範囲は0から1または1から100である必要があります)。 |
|
Prim, Detail |
string |
生成されたGameObjectに設定するUnityレイヤー。 レイヤーは、Unity Editorシーンに既存のものでなければなりません。 |
|
|
Point, Detail |
string |
インスタンス化 |
インスタンスオブジェクトに追加する接頭辞。
例: |
|
Point, Detail |
int |
読み取り可能なメッシュ |
これが1の場合、生成されたメッシュは読み取り可能としてマークされます。 デフォルトでは、生成されたメッシュは読み取り可能ではありません。 |
|
Point, Detail |
int |
インスタンス化 |
2つ目のアトリビュート値に基づいてインスタンサーを複数のコンポーネントに分割するために使用される、もう1つのアトリビュートの名前を示します。 |
Houdini Height FieldからUnity Terrain(地形) ¶
以下のテーブルは、使用する既存のTerrainDataアセットファイルを指定するために、 height Height Fieldレイヤーに設定できる特別なアトリビュートのリストです。 TerrainDataアセットファイルのコピーは、Unityでの生成時に作成されます。
アトリビュート名 |
オーナー |
タイプ |
トピック |
説明 |
---|---|---|---|---|
|
Prim |
string |
地形データ |
地形データとして設定するTerrainDataアセットのUnityプロジェクトでのパス。プロジェクトのAssetsフォルダを基準とした相対パスです。 例: Assets/Terrain/terlayer.asset |
|
Prim |
string |
地形データ |
生成またはコピーされたTerrainDataアセットの書き出し先のパス。 |
|
Point |
int |
地形データ |
散乱したポイントの地形タイルを指定します。タイル分割ノードを使った木のインスタンス化に便利です。 |
以下のテーブルは、生成されたUnity Terrainに対応する地形レイヤープロパティを設定するために、Height Fieldレイヤーに設定できる特別なアトリビュートのリストです。 地形レイヤーの作成時、 height および mask レイヤーは無視されることに注意してください。 これらのアトリビュートは他のHeight Fieldレイヤーに設定する必要があります。
アトリビュート名 |
オーナー |
タイプ |
トピック |
説明 |
---|---|---|---|---|
|
Prim |
string |
Height Fieldレイヤー |
地形レイヤーとして設定するTerrainLayerアセットのUnityプロジェクトでのパス。 プロジェクトのAssetsフォルダを基準とした相対パスです。 例: Assets/Terrain/base.terrainlayer |
|
Prim |
string |
Height Fieldレイヤー |
地形レイヤーのディフューズテクスチャとして設定するTextureアセットのUnityプロジェクトでのパス。 プロジェクトのAssetsフォルダを基準とした相対パスです。 例: Assets/Texture/sand.png |
|
Prim |
string |
Height Fieldレイヤー |
地形レイヤーのマスクテクスチャとして設定するTextureアセットのUnityプロジェクトでのパス。 プロジェクトのAssetsフォルダを基準とした相対パスです。 |
|
Prim |
string |
Height Fieldレイヤー |
地形レイヤーの法線テクスチャとして設定するTextureアセットのUnityプロジェクトでのパス。 プロジェクトのAssetsフォルダを基準とした相対パスです。 |
|
Prim |
float |
Height Fieldレイヤー |
地形レイヤーの法線スケール(サイズが1の浮動小数点)。 |
|
Prim |
float |
Height Fieldレイヤー |
地形レイヤーのシェーダのメタリック値(サイズが1の浮動小数点、値は0から1)。 |
|
Prim |
float |
Height Fieldレイヤー |
地形レイヤーのシェーダの滑らかさの値(サイズが1の浮動小数点、値は0から1)。 |
|
Prim |
float配列 |
Height Fieldレイヤー |
地形レイヤーのシェーダのスペキュラーカラー(サイズが4の浮動小数点、値は0から1)。 |
|
Prim |
float配列 |
Height Fieldレイヤー |
地形レイヤーのテクスチャのタイルオフセット(サイズが2の浮動小数点)。 |
|
Prim |
float配列 |
Height Fieldレイヤー |
地形レイヤーのテクスチャのタイルサイズ(サイズが2の浮動小数点)。 |
UnityからHoudini ¶
以下のテーブルは、UnityからHoudiniへのデータマーシャリングの際に、プラグインによって作成される特別なアトリビュートをリストしたものです。
アトリビュート名 |
オーナー |
タイプ |
トピック |
説明 |
---|---|---|---|---|
|
Prim |
string |
マテリアル |
メッシュに適用するマテリアルアセットのUnityでのパス。 プロジェクトのAssetsフォルダを基準とした相対パスである必要があります。 入力メッシュの使用時に自動的に設定されます。 |
|
Prim |
string |
入力 |
メッシュのオーナーGameObjectの名前。 入力メッシュの使用時に自動的に設定されます。 |
これらのアトリビュートは、入力を使用してUnityからHoudiniにデータをマーシャリングする際にHoudiniで利用可能になります。
位置( P )、頂点カラー( Cd 、 Alpha )、法線( N )、UVセット( uv 、 uv2 、 uv3 )などの標準のHoudiniアトリビュートも通常利用可能です。
これらのアトリビュートとその値は、アセットの入力を初期化した後、内部のHoudiniシーン( File ▸ Open Scene In Houdini )のトラブルシューティングを行なうことで簡単に確認することができます。
グループ ¶
いくつかの特別なグループ名には命名規則があり、HoudiniからUnityにデータをマーシャリングする際の生成動作を指定します。
グループ名 |
トピック |
説明 |
---|---|---|
|
コライダー |
コライダージオメトリの生成に使用される接頭辞(非表示)。 |
|
コライダー |
凸状のコライダージオメトリの生成に使用される接頭辞(非表示)。 |
|
コライダー |
凸状のトリガーコライダージオメトリの生成に使用される接頭辞(非表示)。 |
|
コライダー |
可視の単純なコライダージオメトリの生成に使用される接頭辞。指定可能な値は、 box、sphere 、 capsule です。 |
|
コライダー |
可視の単純なトリガーコライダージオメトリの生成に使用される接頭辞。指定可能な値は、 box、sphere 、 capsule です。 |
|
コライダー |
可視のコライダージオメトリの生成に使用される接頭辞。 |
|
コライダー |
可視のコライダージオメトリの生成に使用される接頭辞。 |
|
コライダー |
可視のトリガーコライダージオメトリの生成に使用される接頭辞。 |
|
コライダー |
可視の単純なコライダージオメトリの生成に使用される接頭辞。指定可能な値は、 box、sphere 、 capsule です。 |
|
コライダー |
可視の単純なトリガーコライダージオメトリの生成に使用される接頭辞。指定可能な値は、 box、sphere 、 capsule です。 |
|
詳細レベル |
メッシュLODレベルの定義に使用される接頭辞(lod0、lod1など)。 |
コリジョングループに属するプリミティブは、メッシュコライダーコンポーネントとして個別に作成され、出力GameObjectに追加されます。
rendered_collision_geo
グループには、MeshRendererおよびMeshFilterコンポーネントもあります。
Attributes Store ¶
Attributes Store機能を使用すると、生成されたGameObjectにアタッチされたスクリプトコンポーネント(HEU_OutputAttributesStore
)にアトリビュートデータを保存することができます。
これにより、対応しているアトリビュートタイプ(int、float、string)をHoudiniからUnityに取り込んで、後でアクセスすることができます。
HDAにこの機能を使用するには:
-
HDA内のSOPジオメトリのポイント、プリミティブ、ディテールのアトリビュートを作成し、名前と値を設定します。
-
名前が
hengine_attr_store
で、クラスが Detail で、タイプが String の別のアトリビュートを作成します。 -
保存したいアトリビュートの名前を、カンマで区切って指定します(health,ammo,armorなど)。
これでUnityでは、HDAがクックされると、生成されたGameObjectにHEU_OutputAttributesStore
スクリプトコンポーネントが追加されます。
これにはアトリビュートのマップが含まれ、スクリプトを介して照会することができます。
P、rot、N、UVなどのHoudiniのネイティブのアトリビュートも保存することができます。
オプションですが、フォローアップとして、Attributes Storeから値を照会して割り当てることができるスクリプトを追加して、自動的にコールバックすることもできます。 Assets/Plugins/HoudiniEngineUnity/HDAs/HEUInstanceAttributesStore.hdaで提供されているサンプルHDAをチェックしてください。