On this page |
Houdiniのジオメトリアトリビュートは、そのアトリビュート内のデータが何かしらの種類のトランスフォーム(例えば、位置や回転)を表現することを示したメタデータを持つことができます。 そのメタデータがあると、ジオメトリ自体がトランスフォームされた時にそのデータを変更するのかどうか、または、どのように変更するのかが決まります。
Houdiniは、以下のタイプ情報値を理解します:
|
トランスフォームしません。 |
|
スケール、回転、移動を適用します。 |
|
このvector4にスケール、回転、移動を適用します。 |
|
スケール、回転を適用しますが、移動は適用しません。 |
|
回転を適用し、スケールは逆転置で適用します。 |
|
トランスフォームしません。 |
|
このmatrixにスケール、回転、移動を適用します。 |
|
回転を適用します。 |
|
トランスフォームしません。 |
|
ポイントが平均化されている時にこの値をブレンドしません。 |
|
ポイントが平均化されている時にブレンドする整数値。 |
|
トランスフォームせず、補間時にシームの維持を試みます。 このタイプのアトリビュートはUVビューポートメニューに表示されます。 |
汎用関数 ¶
以下のバージョンの関数は、アトリビュートのコンポーネントレベルで引数を指定することができます。 これは、異なるタイプのアトリビュートでも動作する汎用コードを記述するのに役立ちます。
ジオメトリのアトリビュートの意味を設定します。
int setattribtypeinfo(int geohandle, string attribclass, string name, string typeinfo)
geohandle
書き出し先のジオメトリハンドル。現在のところ、有効な値は0
またはノードの現行ジオメトリを意味するgeoself()のみです。
(将来、この引数は他のジオメトリに書き出せるようにする予定です。)
attribclass
detail
(またはglobal
), point
, prim
, vertex
のどれか。
primgroup
, pointgroup
, vertexgroup
を使用することで、グループから読み込むこともできます。
name
トランスフォーム情報を変更するアトリビュートの名前。
typeinfo
アトリビュートの意味。これは、アトリビュートを修正する方法を決めるためにトランスフォームノードで使用されます。以下のどれかを指定します:
|
トランスフォームしません。 |
|
スケール、回転、移動を適用します。 |
|
このvector4にスケール、回転、移動を適用します。 |
|
スケール、回転を適用しますが、移動は適用しません。 |
|
回転を適用し、スケールは逆転置で適用します。 |
|
トランスフォームしません。 |
|
このmatrixにスケール、回転、移動を適用します。 |
|
回転を適用します。 |
|
トランスフォームしません。 |
|
ポイントが平均化されている時にこの値をブレンドしません。 |
|
ポイントが平均化されている時にブレンドする整数値。 |
|
トランスフォームせず、補間時にシームの維持を試みます。 このタイプのアトリビュートはUVビューポートメニューに表示されます。 |
ジオメトリアトリビュートのトランスフォームメタデータを返します。
string attribtypeinfo(<geometry>geometry, string attribclass, string attribute_name)
この汎用的な形式では、実行時のアトリビュートの“クラス”を指定することができます。 これは、異なるクラスで動作可能な汎用コードを記述するのに役立ちます。 アトリビュートのクラスが事前に分かっていれば、detailattribtypeinfo(), primattribtypeinfo(), pointattribtypeinfo(), vertexattribtypeinfo()を使用した方が高速です。
<geometry>
ノード(例えばWrangle SOP)のコンテキスト内で実行する時は、この引数にジオメトリの読み込み元の入力番号(0から始まります)を意味する整数を指定することができます。
別の方法として、読み込み元のジオメトリファイル(例えば、.bgeo
)を示した文字列を指定することができます。
Houdini内で実行する時は、この引数にop:/path/to/sop
参照を指定することができます。
attribclass
detail
(またはglobal
), point
, prim
, vertex
のどれか。
primgroup
, pointgroup
, vertexgroup
を使用することで、グループから読み込むこともできます。
attribute_name
読み込むアトリビュート(またはIntrinsic)の名前。
Returns
指定したジオメトリアトリビュートのメタデータを示した文字列。アトリビュートが存在しなければ空っぽの文字列(""
)。
|
トランスフォームしません。 |
|
スケール、回転、移動を適用します。 |
|
このvector4にスケール、回転、移動を適用します。 |
|
スケール、回転を適用しますが、移動は適用しません。 |
|
回転を適用し、スケールは逆転置で適用します。 |
|
トランスフォームしません。 |
|
このmatrixにスケール、回転、移動を適用します。 |
|
回転を適用します。 |
|
トランスフォームしません。 |
|
ポイントが平均化されている時にこの値をブレンドしません。 |
|
ポイントが平均化されている時にブレンドする整数値。 |
|
トランスフォームせず、補間時にシームの維持を試みます。 このタイプのアトリビュートはUVビューポートメニューに表示されます。 |
コンポーネント固有の関数 ¶
以下のバージョンの関数は、コンポーネントタイプ別にアトリビュートのタイプ情報を読み込むことができます。 事前にアトリビュートのコンポーネントレベル( Detail(ジオメトリ全体)、プリミティブ(例えば、ポリゴンフェース)、ポイント、頂点)が分かっていれば、これらの関数は、汎用関数よりもコードを記述するのが若干便利で、若干速いです。
ジオメトリアトリビュートのType Infoを返します。
string detailattribtypeinfo(<geometry>geometry, string attribute_name)
PrimitiveアトリビュートのType Infoを返します。
string primattribtypeinfo(<geometry>geometry, string attribute_name)
<geometry>
ノード(例えばWrangle SOP)のコンテキスト内で実行する時は、この引数にジオメトリの読み込み元の入力番号(0から始まります)を意味する整数を指定することができます。
別の方法として、読み込み元のジオメトリファイル(例えば、.bgeo
)を示した文字列を指定することができます。
Houdini内で実行する時は、この引数にop:/path/to/sop
参照を指定することができます。
PointアトリビュートのType Infoを返します。
string pointattribtypeinfo(<geometry>geometry, string attribute_name)
<geometry>
ノード(例えばWrangle SOP)のコンテキスト内で実行する時は、この引数にジオメトリの読み込み元の入力番号(0から始まります)を意味する整数を指定することができます。
別の方法として、読み込み元のジオメトリファイル(例えば、.bgeo
)を示した文字列を指定することができます。
Houdini内で実行する時は、この引数にop:/path/to/sop
参照を指定することができます。
ジオメトリアトリビュートのType Infoを返します。
string vertexattribtypeinfo(<geometry>geometry, string attribute_name)
<geometry>
ノード(例えばWrangle SOP)のコンテキスト内で実行する時は、この引数にジオメトリの読み込み元の入力番号(0から始まります)を意味する整数を指定することができます。
別の方法として、読み込み元のジオメトリファイル(例えば、.bgeo
)を示した文字列を指定することができます。
Houdini内で実行する時は、この引数にop:/path/to/sop
参照を指定することができます。