On this page |
メッシュソケットは、手動でオブジェクトの親子化やトランスフォームの設定をすることなく、Unrealでメッシュに何かをアタッチしたい場合に便利です。 Houdini Engine for Unrealでは、 ポイントグループ または Detailアトリビュート を使用して、メッシュソケットを作成することができます。
デフォルトでは、見つかったソケットは、同じパーツで生成されたメッシュにアタッチされます。そのパーツに有効なメッシュが見つからない場合、ソケットは、そのソケットと同じジオメトリから作成されたメッシュにアタッチされます。
入力 ¶
入力スタティックメッシュにあるメッシュソケットをインポートできます。 入力の Export Sockets チェックボックスがオンのとき、プラグインは自動的にメッシュのソケットにポイント、グループ、アトリビュートを作成します。
出力 ¶
ポイントグループを使用する ¶
メッシュソケットを作成するには、接頭辞mesh_socket
を含むポイントグループにポイントを割り当てる必要があります。
これらのポイントの位置のP
、回転のrot
、スケールのscale
アトリビュートが、ソケットのトランスフォームを定義します。
回転アトリビュートが見つからない場合、ソケットの回転はポイントの法線N
アトリビュートから(存在する場合)推測することができます。
rot
アトリビュートはオイラー角ではなく、クォータニオン(float 4)として設定する必要があります。
ソケットの名前は、mesh_socket_name
という文字列アトリビュートをポイントに追加することで定義でき、ソケットのタグはmesh_socket_tag
というアトリビュートを使用して定義できます。

生成されたソケットはスタティックメッシュエディタに表示され、編集できます。
アクターをソケットにアタッチするには、World Outlinerのアセットのアクターをドラッグアンドドロップするか、コンテキストメニューの“Attach to”を使用します。

Attribute Wrangleのサンプル ¶
以下に、VEXスニペットのサンプルを載せています。 これをAttribute Wrangleで使用することで、Detailアトリビュート経由で2つのソケットを作成することができます:
v@mesh_socket0_pos = {0.5, 0.5, 0.5}; v@mesh_socket0_scale = {2, 2, 2}; s@mesh_socket0_name = "plip"; s@mesh_socket0_tag = "test"; s@mesh_socket0_actor = "Cube"; v@mesh_socket1_pos = {0, 0.5, 0}; v@mesh_socket1_scale = {0.5, 0.5, 0.5}; s@mesh_socket1_name = "plop";
ポイントグループよりもDetailアトリビュートを使用することを推奨します。 特にパックプリミティブを使用する場合がそうです。
割り当て ¶
コンテンツブラウザ内の既存のアクターアセットを、Static Mesh Components上に生成されたソケットに割り当てることができます。
-
mesh_socket_actor
という名前の文字列アトリビュートを追加し、そのアトリビュートにアクターの名前やアセットのパスを格納します。
複数のアクターをソケットに事前に割り当てることができます。
そうするには、アクターの名前を,
または;
(カンマまたはセミコロン)で区切ってください。
mesh_socket_actor
アトリビュートにアセットのパスが設定されていて、そのパスが有効な場合、アクターが作成されます。
該当するアクターは、Unrealでのクック時に自動的にソケットに追加されます。
Note
mesh_socket_actor
アトリビュートにマッチしたアクターがワールド内に複数存在した場合、
それらすべてのアクターがそのソケットに割り当てられます。
さらに、複数のソケットが事前割り当てで同じアクターを指している場合、最後のソケットのみにそのアクターが割り当てられます。
アトリビュートとグループ ¶
Detailアトリビュート ¶
以下のDetailアトリビュートを使用して、メッシュソケットを作成することもできます: Xは、ソケットの0ベースのインデックスです。
コマンド |
機能 |
|
---|---|---|
|
有効なHoudini Engineセッションが実行/接続されている場合、Trueを返します。 |
|
名前 |
タイプ |
説明 |
|
|
ソケットの位置を表すVector3 |
|
|
ソケットの位置に使用されるクォータニオン |
|
|
ソケットのスケールを表すVector3 |
|
string |
ソケットの名前 |
|
string |
ソケットのタグ |
Houdini to Unreal ¶
このテーブルには、HDA内で設定する特別なアトリビュートを載せており、 HoudiniデータをUnreal出力に変換する際にプラグインがそれらのアトリビュートを認識します。 また、アセット上にこれらのアトリビュートをセットアップすることで、生成されるUnreal出力の一部のプロパティや挙動を制御/上書きすることができます。 詳細は、アトリビュートとグループを参照してください。
メッシュソケット ¶
アトリビュート名 |
オーナー |
型 |
説明 |
---|---|---|---|
|
Point |
string |
ポイントグループによって生成されるメッシュソケットの名前 |
|
Point |
string |
ポイントグループによって生成されるメッシュソケットのタグ |
|
Point |
string |
ポイントグループによって生成されるソケットに自動的にアタッチされるアクターの名前。V2では、これは、アクターとしてインスタンス化され、ソケットにアタッチされるアセットのパスである場合もあります。 |
|
Detail |
float3 |
メッシュソケットの位置を示したvector3 |
|
Detail |
float4 |
メッシュソケットの回転に使用されるクォータニオン |
|
Detail |
float3 |
メッシュソケットのスケールを示したvector3 |
|
Detail |
string |
生成されたメッシュソケットの名前 |
|
Detail |
string |
生成されたメッシュソケットのタグ |
|
Detail |
string |
自動的にアタッチされるアクターの名前 |
Unreal to Houdini ¶
このテーブルには、UnrealのデータをHoudiniに取り込む際にプラグインによって生成される特別なアトリビュートを載せています。 詳細は、アトリビュートとグループを参照してください。
メッシュソケット ¶
アトリビュート名 |
オーナー |
型 |
説明 |
---|---|---|---|
|
Point |
string |
入力オブジェクトからインポートされるメッシュソケットの名前 |
|
Point |
int |
入力オブジェクトからインポートされるメッシュソケットのタグ |
|
float3 |
int |
入力オブジェクトからインポートされるソケットの位置を示したvector3 |
|
float4 |
string |
入力オブジェクトからインポートされるソケットの回転を示したクォータニオン |
|
float3 |
int |
入力オブジェクトからインポートされるソケットのスケールを示したvector3 |
|
Detail |
string |
インポートされるメッシュソケットの名前 |
|
Detail |
string |
インポートされるメッシュソケットのタグ |
グループ ¶
一部の特別なグループ名には、HoudiniのデータをUnrealにマーシャリングする際の生成の挙動を指定した命名規則があります。