Houdini 20.0 Unity

アトリビュートとグループ

On this page

“”“HoudiniとUnity間で使用するアトリビュートとグループのリスト。”“” HoudiniとUnity間でデータをマーシャリング(等価変換)する際は、特別なグループとアトリビュートが使用されます。

標準のHoudiniアトリビュート

HoudiniとUnity間でデータをマーシャリング(等価変換)する際は、特定の標準Houdiniアトリビュートが使用されます。

アトリビュート名

説明

p

位置

rot

回転

Cd

カラー

Alpha

不透明度

N

法線

uv

UV

uv2, uv3

追加のUVチャンネル

instance

オブジェクトレベルのインスタンス向け。インスタンス化を参照してください。

HoudiniからUnity

以下のテーブルは、HoudiniからUnityへのデータマーシャリング時に認識される特別なアトリビュートをリストしたものです。 アセットにこれらのアトリビュートを設定すると、生成されたUnityジオメトリの一部のプロパティを制御したり上書きすることができます。

アトリビュート名

オーナー

タイプ

トピック

説明

unity_instance

Point, Detail

string

インスタンス化

指定されたオーナートランスフォームでインスタンス化するアセットのUnityプロジェクトでのパス。 プロジェクトのAssetsフォルダを基準とした相対パスである必要があります。

例: Assets/Prefabs/Hero.prefab

unity_use_instance_flags

Point, Detail

int

インスタンス化

インスタンス化する時に、Prefabの元の静的、タグ、レイヤーのアトリビュートを使用します(親のHDAのアトリビュートではなく)。 unity_staticよりも優先されます。

unity_material

Prim, Detail

string

マテリアル

パートに適用するマテリアルアセットのUnityでのパス。 プロジェクトのAssetsフォルダを基準とした相対パスである必要があります。

例: Assets/Materials/HeroMat.mat

unity_tag

Prim, Detail

string

生成されたGameObjectに設定するUnityタグ。 タグは、Unity Editorシーンに既存のものでなければなりません。

unity_static

Prim, Detail

int

1に設定すると生成されたGameObjectが静的になり、0に設定すると非静的になります。

lod_screensizes

Detail

float配列

詳細レベル

LODレベルの遷移画面サイズ(範囲は0から1または1から100である必要があります)。

unity_layer

Prim, Detail

string

生成されたGameObjectに設定するUnityレイヤー。 レイヤーは、Unity Editorシーンに既存のものでなければなりません。

instance_prefix

Point, Detail

string

インスタンス化

インスタンスオブジェクトに追加する接頭辞。 例: City_Instance1(Cityが接頭辞)

unity_mesh_readable

Point, Detail

int

読み取り可能なメッシュ

これが1の場合、生成されたメッシュは読み取り可能としてマークされます。 デフォルトでは、生成されたメッシュは読み取り可能ではありません。

unity_split_attr

Point, Detail

int

インスタンス化

2つ目のアトリビュート値に基づいてインスタンサーを複数のコンポーネントに分割するために使用される、もう1つのアトリビュートの名前を示します。

Houdini Height FieldからUnity Terrain(地形)

以下のテーブルは、使用する既存のTerrainDataアセットファイルを指定するために、 height Height Fieldレイヤーに設定できる特別なアトリビュートのリストです。 TerrainDataアセットファイルのコピーは、Unityでの生成時に作成されます。

アトリビュート名

オーナー

タイプ

トピック

説明

unity_hf_terraindata_file

Prim

string

地形データ

地形データとして設定するTerrainDataアセットのUnityプロジェクトでのパス。プロジェクトのAssetsフォルダを基準とした相対パスです。

例: Assets/Terrain/terlayer.asset

unity_hf_terraindata_export_file

Prim

string

地形データ

生成またはコピーされたTerrainDataアセットの書き出し先のパス。

unity_hf_tile

Point

int

地形データ

散乱したポイントの地形タイルを指定します。タイル分割ノードを使った木のインスタンス化に便利です。

以下のテーブルは、生成されたUnity Terrainに対応する地形レイヤープロパティを設定するために、Height Fieldレイヤーに設定できる特別なアトリビュートのリストです。 地形レイヤーの作成時、 height および mask レイヤーは無視されることに注意してください。 これらのアトリビュートは他のHeight Fieldレイヤーに設定する必要があります。

アトリビュート名

オーナー

タイプ

トピック

説明

unity_hf_terrainlayer_file

Prim

string

Height Fieldレイヤー

地形レイヤーとして設定するTerrainLayerアセットのUnityプロジェクトでのパス。 プロジェクトのAssetsフォルダを基準とした相対パスです。

例: Assets/Terrain/base.terrainlayer

unity_hf_texture_diffuse

Prim

string

Height Fieldレイヤー

地形レイヤーのディフューズテクスチャとして設定するTextureアセットのUnityプロジェクトでのパス。 プロジェクトのAssetsフォルダを基準とした相対パスです。

例: Assets/Texture/sand.png

unity_hf_texture_mask

Prim

string

Height Fieldレイヤー

地形レイヤーのマスクテクスチャとして設定するTextureアセットのUnityプロジェクトでのパス。 プロジェクトのAssetsフォルダを基準とした相対パスです。

unity_hf_texture_normal

Prim

string

Height Fieldレイヤー

地形レイヤーの法線テクスチャとして設定するTextureアセットのUnityプロジェクトでのパス。 プロジェクトのAssetsフォルダを基準とした相対パスです。

unity_hf_normal_scale

Prim

float

Height Fieldレイヤー

地形レイヤーの法線スケール(サイズが1の浮動小数点)。

unity_hf_metallic

Prim

float

Height Fieldレイヤー

地形レイヤーのシェーダのメタリック値(サイズが1の浮動小数点、値は0から1)。

unity_hf_smoothness

Prim

float

Height Fieldレイヤー

地形レイヤーのシェーダの滑らかさの値(サイズが1の浮動小数点、値は0から1)。

unity_hf_specular

Prim

float配列

Height Fieldレイヤー

地形レイヤーのシェーダのスペキュラーカラー(サイズが4の浮動小数点、値は0から1)。

unity_hf_tile_offset

Prim

float配列

Height Fieldレイヤー

地形レイヤーのテクスチャのタイルオフセット(サイズが2の浮動小数点)。

unity_hf_tile_size

Prim

float配列

Height Fieldレイヤー

地形レイヤーのテクスチャのタイルサイズ(サイズが2の浮動小数点)。

UnityからHoudini

以下のテーブルは、UnityからHoudiniへのデータマーシャリングの際に、プラグインによって作成される特別なアトリビュートをリストしたものです。

アトリビュート名

オーナー

タイプ

トピック

説明

unity_material

Prim

string

マテリアル

メッシュに適用するマテリアルアセットのUnityでのパス。 プロジェクトのAssetsフォルダを基準とした相対パスである必要があります。 入力メッシュの使用時に自動的に設定されます。

uunity_input_mesh_name

Prim

string

入力

メッシュのオーナーGameObjectの名前。 入力メッシュの使用時に自動的に設定されます。

これらのアトリビュートは、入力を使用してUnityからHoudiniにデータをマーシャリングする際にHoudiniで利用可能になります。

位置( P )、頂点カラー( CdAlpha )、法線( N )、UVセット( uvuv2uv3 )などの標準のHoudiniアトリビュートも通常利用可能です。

これらのアトリビュートとその値は、アセットの入力を初期化した後、内部のHoudiniシーン( File ▸ Open Scene In Houdini )のトラブルシューティングを行なうことで簡単に確認することができます。

グループ

いくつかの特別なグループ名には命名規則があり、HoudiniからUnityにデータをマーシャリングする際の生成動作を指定します。

グループ名

トピック

説明

collision_geo

コライダー

コライダージオメトリの生成に使用される接頭辞(非表示)。

convex_collision_geo

コライダー

凸状のコライダージオメトリの生成に使用される接頭辞(非表示)。

convex_collision_geo_trigger

コライダー

凸状のトリガーコライダージオメトリの生成に使用される接頭辞(非表示)。

collision_geo_simple

コライダー

可視の単純なコライダージオメトリの生成に使用される接頭辞。指定可能な値は、 box、spherecapsule です。

collision_geo_simple_trigger

コライダー

可視の単純なトリガーコライダージオメトリの生成に使用される接頭辞。指定可能な値は、 box、spherecapsule です。

rendered_collision_geo

コライダー

可視のコライダージオメトリの生成に使用される接頭辞。

rendered_convex_collision_geo

コライダー

可視のコライダージオメトリの生成に使用される接頭辞。

rendered_convex_collision_geo_trigger

コライダー

可視のトリガーコライダージオメトリの生成に使用される接頭辞。

rendered_collision_geo_simple

コライダー

可視の単純なコライダージオメトリの生成に使用される接頭辞。指定可能な値は、 box、spherecapsule です。

rendered_collision_geo_simple_trigger

コライダー

可視の単純なトリガーコライダージオメトリの生成に使用される接頭辞。指定可能な値は、 box、spherecapsule です。

lod

詳細レベル

メッシュLODレベルの定義に使用される接頭辞(lod0、lod1など)。

コリジョングループに属するプリミティブは、メッシュコライダーコンポーネントとして個別に作成され、出力GameObjectに追加されます。 rendered_collision_geoグループには、MeshRendererおよびMeshFilterコンポーネントもあります。

Attributes Store

Attributes Store機能を使用すると、生成されたGameObjectにアタッチされたスクリプトコンポーネント(HEU_OutputAttributesStore)にアトリビュートデータを保存することができます。 これにより、対応しているアトリビュートタイプ(int、float、string)をHoudiniからUnityに取り込んで、後でアクセスすることができます。

HDAにこの機能を使用するには:

  1. HDA内のSOPジオメトリのポイント、プリミティブ、ディテールのアトリビュートを作成し、名前と値を設定します。

  2. 名前がhengine_attr_storeで、クラスが Detail で、タイプが String の別のアトリビュートを作成します。

  3. 保存したいアトリビュートの名前を、カンマで区切って指定します(health,ammo,armorなど)。

これでUnityでは、HDAがクックされると、生成されたGameObjectにHEU_OutputAttributesStoreスクリプトコンポーネントが追加されます。 これにはアトリビュートのマップが含まれ、スクリプトを介して照会することができます。

P、rot、N、UVなどのHoudiniのネイティブのアトリビュートも保存することができます。

オプションですが、フォローアップとして、Attributes Storeから値を照会して割り当てることができるスクリプトを追加して、自動的にコールバックすることもできます。 Assets/Plugins/HoudiniEngineUnity/HDAs/HEUInstanceAttributesStore.hdaで提供されているサンプルHDAをチェックしてください。

Unity

はじめよう

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

Houdini Engineを使用する

リファレンス