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”を使用します。
Detailアトリビュートを使用する ¶
以下のDetailアトリビュートを使用して、メッシュソケットを作成することもできます: Xは、ソケットの0ベースのインデックスです。
コマンド |
機能 |
|
---|---|---|
|
有効なHoudini Engineセッションが実行/接続されている場合、Trueを返します。 |
|
名前 |
タイプ |
説明 |
|
float 3 |
ソケットの位置を表すVector3 |
|
float 4 |
ソケットの位置に使用されるクォータニオン |
|
float 3 |
ソケットのスケールを表すVector3 |
|
string |
ソケットの名前 |
|
string |
ソケットのタグ |
以下は、Attribute Wrangleで使用できる、Detailアトリビュートを介して2つのソケットを作成するためのVEXスニペットのサンプルです。
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コンポーネントに生成されたソケットに、コンテンツブラウザから既存のアクターアセットを割り当てることができます。
-
アクターの名前、アセットのパスを含む
mesh_socket_actor
という文字列アトリビュートを追加します。
1つのソケットに複数のアセットを事前に割り当てることができます。,
または;
(カンマまたはセミコロン)で名前を区切ります。
アトリビュートがアセットに設定され、パスが有効である場合、アクターが作成されます。 一致するアクターが、クック時に自動的にUnrealでソケットにアタッチされます。
Note
ワールド内の複数のアクターがmesh_socket_actor
アトリビュートに一致する場合、それらはすべてそのソケットに割り当てられます。また、同じアクターが複数のソケットに事前に割り当てられるようになっている場合、最後のソケットにのみアクターが割り当てられます。