On this page |
|
プラグインは、UnrealからHoudiniアセットへデータを送信する、各種入力をサポートしています。 入力に加えられた変更は、自動的にHoudiniアセットにプッシュされ、評価され、出力が再クックされます。
現在のところ、Houdini Engine for Unrealは以下の入力タイプをサポートしています:
Houdini 20.0で、以前利用可能だった入力タイプの一部が廃止され、既存のものに統合されました。
-
Directly Connect HDAs in Houdini を有効にする場合、 Asset Inputs は World Input に置き換えられます。
-
Landscape Inputs は World Input に置き換えられ、以前のオプションは Landscape Options タブで利用可能です。
-
Geometry Collection および Skeletal Mesh 入力は Geometry inputs に置き換えられています。
入力タイプによって、入力がHoudiniに送信できるオブジェクト/データのタイプが制限されることはありません。 例えば、 World Input は、Houdiniにランドスケープを送信することも、 Asset Input のように他のHoudini Asset Actorを選択して接続することもできます。
これらは、プラグイン入力が現在サポートしているオブジェクトのタイプです。
-
スタティックメッシュ
-
Static Meshコンポーネント
-
インスタンス化されたStatic Meshコンポーネント
-
スケルタルメッシュ
-
Skeletal Meshコンポーネント
-
BSPブラシ
-
ジオメトリコレクション
-
Geometry Collectionコンポーネント
-
Houdini Splineコンポーネント(カーブ入力)
-
Unreal Splineコンポーネント
-
ランドスケープ
-
ランドスケープスプライン
-
Spline Meshコンポーネント
-
フォリッジ
-
データテーブル
-
アクター
-
ブループリント
-
Houdini Asset Actor
-
レベルインスタンス
-
Packed Levelアクター
-
アニメーション(ベータ版)
入力を作成する ¶
UnrealからHoudiniへデータを送信するための入力は、2通りの方法を使用して作成することができます。
SOPタイプのアセットに通常のノード入力を使用するか、アセットのOperator Path
パラメータにオブジェクトパス入力を作成します。
ノード入力 ¶
設計上、SOPにはジオメトリを渡すためのノードコネクタがあります。
このため、SOPタイプのアセットには、ジオメトリを入力するためのノードコネクタも含めることができます。
それらの入力は、アセットのOperator Type Properties
ダイアログでMinimum InputsおよびMaximum Inputs値を変更することで設定できます。
このようにして作成されるすべての入力は、Input Detailsパネルにリストされ、それらの名前はOperator Type Properties
ダイアログのInput/Outputタブで変更できます。
オブジェクトパス入力 ¶
オブジェクトパス入力は、Houdiniノードへのパスを受け入れるOperator Path
パラメータから作成されます。
ジオメトリを入力するためには、 Op Filter を Any Object または Any SOP に設定する必要があります。
ジオメトリがこのパラメータに割り当てられると、Houdini Engineはその入力ジオメトリを表現する適切なHoudiniノードを作成します。
アセットはこれらのノードを使用して、ジオメトリにアクセスします。
Operator Path
パラメータは手動で作成することもできますが、最も簡単な作成方法は、 Object Merge SOP を作成し、そのObject (objpath)
パラメータをアセットレベルにエクスポーズする(アクセス可能にする)ことです。
ジオメトリはObject Merge SOPの出力からアクセスすることができ、Unrealでは Parameter Detailsパネル の入力として表示されます。
これらのパラメータは通常タイプのパラメータなので、Detailsパネルでアセットの他のパラメータと混在して表示されますが、挙動はノード入力と同じになります。
これらは、 Objectタイプ アセットでも SOPタイプ アセットでも、ジオメトリを入力するために使用できますが、SOPタイプアセットではノード入力接続を直接使用する方が一般的です。
ノード入力とは異なり、Keep World Transform
オプションをオブジェクトパス入力に設定することはできません。
詳細は、Operator Pathパラメータを参照してください。
デフォルトの入力タイプを設定する ¶
UnrealでHDAをインスタンス化する際、デフォルトで、入力タイプはgeometry
に設定されます。
入力名(SOP入力の場合)またはObject Pathパラメータラベル(オブジェクトパス入力の場合)を、特定のキーワードを含むように変更することで、異なるデフォルトの入力タイプを設定することができます:
-
名前に curve が含まれている場合、デフォルトの入力タイプはCurve Inputになります。
-
名前に landscape、terrain または heightfield が含まれている場合、デフォルトの入力タイプはWorld Inputになります。
-
名前に world または outliner が含まれている場合、デフォルトの入力タイプはWorld Inputになります。
-
名前に asset または hda が含まれている場合、デフォルトの入力タイプはWorld Inputになります。
-
上記のどの条件にも当てはまらない場合、デフォルトの入力タイプはGeometry Inputになります。
デフォルトの入力タイプは後から変更でき、使用されるのはHDAの最初のインスタンス化のときだけです。
Input Detailsパネル ¶
アセットにノード入力がある場合、アセットのDetailsパネルの Houdini Inputs では、Array
にすべてがリストされます。
入力タイプは、ドロップダウンメニューを使用して変更することができます。
するとDetailsパネルが更新されて、その入力タイプのオプションやパラメータを修正できるようになります。
入力がオブジェクトパス入力の場合、その詳細、オプション、パラメータがDetailsパネルの Houdini Parameters 部分に同じようにリストされます。
Keep World Transform ¶
すべての入力タイプにKeep World Transform
チェックボックスがあり、ジオメトリ/アセットのトランスフォームがどのようにUnrealからHoudiniにマーシャリングされるかを制御します。
ジオメトリが入力を通してHoudiniにマーシャリングされる場合、 Object Merge ノードがアセットとジオメトリを接続します。
ノード入力では、 Object Merge ノードはHoudini Engineによって自動的に作成され、オブジェクトパス入力のObject Mergeと同じようにセットアップされます。
-
Keep World Transform
がオンの場合、入力を接続するのに使用される Object Merge のTransformパラメータはINTO_THIS_OBJECT
に設定され、マーシャリングされたジオメトリはAsset ActorのUnreal TransformをHoudiniで使用するようになります。 -
オフの場合、 Object Merge のTransformパラメータは
NONE
に設定され、ジオメトリはHoudiniでAsset ActorのUnreal Transformを無視するようになり、原点にあるかのように扱われます。
要するに、UnrealでAsset Actorが(10, 10, 10)
にある場合、Keep World Transform
がオンであれば、HoudiniでジオメトリのTransformは(10, 10, 10)
になり、Keep World Transform
がオフであれば(0, 0, 0)
になります。
Pack Geometry Before Merging ¶
Pack Geometry Before Merging
チェックボックスは、 Geometry Inputおよび World Inputで使用可能です。
オンの場合、入力のすべての異なるメッシュおよびオブジェクトは、アセットの入力に結合される前に個別にパック化されます。 これにより、個々のオブジェクトをHoudiniでパックプリミティブとして使用できるようになるため、オブジェクトのインスタンス化と区別が容易になります。 しかし、HDAがどのようにセットアップされているかによっては、問題が発生する可能性もあります(パックプリミティブにポイントを正確にばら撒くことができないなど)。
オフの場合、入力のすべての入力メッシュおよびオブジェクトは単一のジオメトリに結合されます。
Export Input as References ¶
オンの場合、入力ジオメトリはHoudiniで作成されず、代わりに、“unreal_instance”アトリビュートがソースアセットのパスに設定されたポイントに置き換えられます。
このオプションは、完全なジオメトリをHoudiniに送る必要のないときに使用すると便利です。 そのような操作は、負荷が大きくなる可能性があるからです。 そうしたシナリオの1つは、HDAを作成し、特定の領域に入力ジオメトリの複数のインスタンスをランダムにばら撒きたいような場合です。
呼応するオプションが入力で有効になっている場合、作成されたポイントクラウドに追加のアトリビュートを含めることもできます:
-
使用されるマテリアル(
unreal_material
) -
回転とスケールを含む完全なトランスフォーム(P、rot、scale)
-
境界ボックス(
bbox_min
およびbbox_max
)
レベルおよびアクターのパスもWorld Inputに存在します。
入力参照に回転/スケールを追加する ¶
入力でExport Input as References
が有効の場合、ジオメトリを表すポイントには回転のrot
とスケールのscale
という、floatのベクトル型アトリビュート2つを持ちます。
rot
は4要素、“scale”は3要素です。
それらの値は、呼応するUnrealオブジェクトでTransformデータによって使用されます。
これを有効にしておくと便利なのは、実際の入力ジオメトリをHoudiniに送ることなく、入力の方向とスケールに関する情報をHDAに取り込みたい場合です。
入力参照に境界ボックスの最小/最大を追加する ¶
入力でExport Input as References
が有効の場合、ジオメトリを表すポイントには、unreal_bbox_min
とunreal_bbox_max
という2つのfloatベクトルアトリビュートがあります。
これら2つのベクトルには、それぞれ3つのエレメントがあります。
これらは、入力の軸に沿った境界ボックスの2つの頂点の位置を示します。
これを有効にしておくと便利なのは、実際の入力ジオメトリをHoudiniに送ることなく、入力の寸法に関する情報をHDAに取り込みたい場合です。
入力参照にマテリアルを追加する ¶
入力のExport Input as References
が有効の場合、ジオメトリを表すポイントは、入力ジオメトリに取り付けられたマテリアルアセットへのパスを示す文字列アトリビュートを持ちます。
これらのアトリビュートには、unreal_material
、unreal_material1
、unreal_material2
などの名前が付けられます。
Export LODs ¶
Export LODs
チェックボックスは、 Geometry Inputおよび World Inputで使用可能です。
これは、入力のメッシュのいずれかが複数のLODレベルを持つ場合のみ有効になります。 オンのとき、各メッシュのすべてのLODレベルはHoudiniにマーシャリングされ、それぞれがLODグループに割り当てられます。
Export Sockets ¶
Export Sockets
チェックボックスは、 Geometry Inputおよび World Inputで使用可能です。
オンの場合、入力のアセットのすべてのソケットはHoudiniにマーシャリングされ、ソケットグループでポイントとして使用することができます。詳細は、メッシュソケットを参照してください。
Export Colliders ¶
Export Colliders
チェックボックスは、 Geometry Inputおよび World Inputで使用可能です。
オンの場合、呼応するunreal_collision_
グループを使用して、入力メッシュ上の単純なコライダーが、グループ化されたジオメトリとしてHoudiniに作成されます。
Prefer Nanite Fallback Mesh ¶
Prefer Nanite Fallback Mesh
チェックボックスは、 Geometry Inputで使用できます。
これがオンで、ジオメトリ入力としてNaniteメッシュが使用されている場合、Houdiniはフル解像度のNaniteメッシュではなく、フォールバックメッシュを使用とします。
この設定のデフォルトの状態は、HoudiniEngineプラグイン設定のPrefer Nanite Fallback Mesh
チェックボックスと同じです。
入力タイプ ¶
Geometry Input ¶
Geometry Inputは、Unrealアセット(コンテンツブラウザ)からHoudiniにデータをマーシャリングするのに使用します。そのためには、コンテンツブラウザの1つまたは複数のUnrealアセットをHoudiniにドラッグアンドドロップするか、ドロップダウンメニューから1つのアセットを選択するかのいずれかを行ないます。詳細は、Geometry Input設定を参照してください。
複数のジオメトリが入力として設定されている場合、入力ジオメトリプリミティブで作成されるUnrealからHoudiniのアトリビュートunreal_input_mesh_name
を使用して、ジオメトリをデジタルアセット内で区別することができます。
複数のジオメトリアセットを入力に追加するには、+ Add
ボタンをクリックして、入力スロットを追加します。
現在のスロットに一列に表示されたアイコンを使用すると、以下のことができます。
-
現在の選択を使用する
-
入力オブジェクトをブラウズする
-
現在の入力オブジェクトをリセットする
-
現在の入力オブジェクトのトランスフォームオフセットを編集する
-
入力オブジェクトを編集、複製、削除する
-
ジオメトリ入力オブジェクトを削除する
ジオメトリ入力で選択した各アセットには、独自のTransform Offsetがあります。このTransform Offsetを使用すると、入力の各アセットを個別に移動、回転、スケールして、正規化されていないアセットや不正確な位置のピボットポイントなどを補正することができます。
Transform Offsetメニューを開くには、cube with coordinates
アイコンを選択します。
Geometry Inputを通してマーシャリングされたUnrealジオメトリには、対応するHoudiniノードに、以下のようなUnrealからHoudiniのアトリビュートが含まれます:
-
unreal_material
-
unreal_face_smoothing_mask
-
unreal_lightmap_resolution
(detail) -
unreal_input_mesh_name
-
unreal_input_source_file
これらの標準のHoudiniアトリビュートも含まれます:
-
ポイント位置の
P
-
頂点法線の
N
-
頂点カラーの
Cd
-
UVセットの
uv
、uvX
Object Path Parameters 入力を使用する際は、デフォルト値を有効なUnrealアセット参照に設定することで、ジオメトリ入力で使用するデフォルトオブジェクトを事前に設定することができます。
データテーブルは、Geometry inputを使用してインポートすることができます:
データは、Houdiniでポイントクラウドとして使用でき、各ポイントはデータテーブルの列を表します。
それぞれの変数は、unreal_data_table_X_NAME
という名前のアトリビュートとして使用できます。Xは変数のインデックス、NAME
はその名前です。
unreal_data_table_rowstruct
アトリビュートも作成され、データテーブルによって使用される構造体を示します。unreal_object_path
アトリビュートには、ソースのデータテーブルアセットへのパスが格納されます。
データテーブルで使用される構造体のプロパティのいずれかの型が数値型であった場合、Houdiniで適切な数値型に変換されます。
Houdiniで利用可能なint型は、符号あり/符号なし8ビット、符号あり16ビット、符号あり32ビット、符号あり64ビットです。16ビット符号なしint型は、32ビット符号ありint型に変換されます。32ビット符号なしint型は、64ビット符号ありint型に変換されます。64ビット符号なしint型は、64ビット符号ありint型に強制的に変換されます。Houdiniには符号なしの64ビット以上のint型がないためです。この場合、オーバーフローが起こる可能性があります。
Houdiniは、単精度および倍精度の浮動小数点型をサポートしているため、浮動小数点型のプロパティはすべて直接変換されます。
Unrealにネイティブな以下の集約型は、Houdiniでタプルに変換されます。各コンポーネントは、上記のルールに従って数値型に変換されます。
-
すべてのネイティブのベクトルタイプ(X、Y、Z、Wの順番)
-
回転(ロール、ピッチ、ヨーの順番)
-
トランスフォーム(3つの3コンポーネントベクトルに分割)
-
カラーとリニアカラー(R、G、B、Aの順番)
bool型は、0
または1
の値の符号あり8ビットint型に変換されます。
他のすべてのプロパティは、Houdiniで文字列アトリビュートに変換されます。
Note
変数名は、アトリビュートに変換される前にサニタイズ(無害化)されます。変数名内の無効な文字は、アンダースコアに置き換えられます。
カーブの編集方法に関する詳細は、カーブを参照してください。
World Input ¶
World Inputを使用すると、ワールド内の任意のアクターをアセットの入力に接続できます。
Start Selection を選択すると、Detailsパネルがロックされ、入力に接続するアクターを選択できるようになります。 選択したら、 Use Current Selection を再度選択します。ボタンの下に現在の選択が表示されます。
World Inputは境界セレクタモードでも動作します。オンのとき、選択されたアクターが境界セレクタになり、境界ボックス内にあるすべてのアクターを入力に送ります。 そのモードでは、World Inputに2つのリストが表示されます。
-
境界セレクタとして機能するアクター用
-
Houdiniに送られる選択されたアクター用
境界セレクタを自動的に更新するオプションもあります。オンのとき、プラグインが境界内の新規/削除されたアクターを定期的にチェックして、変更が検出された場合には入力を更新し、HDAを再クックします。
World Inputはさまざまなアクターのタイプをサポートしています:
-
Meshコンポーネント付きの通常のアクター
-
インスタンサー
-
ランドスケープ
-
フォリッジ
-
Houdini Asset Actor
-
BSPブラシ
-
ランドスケープスプラインとSpline Meshコンポーネント
-
レベルインスタンスとPacked Levelアクター
World Inputとしてインポートされたインスタンサーはパックプリミティブとして、ランドスケープはHeight Fieldとして作成されます。Houdini Asset Actorは、対応するオプションがオンのとき、Houdiniで直接接続されます。
World Inputを使用すると、Unreal SplineコンポーネントをHoudiniのカーブ入力として使用することもできます。Splineコンポーネント付きのアクターが選択されている場合、SplineはHoudiniで Curve に変換されます。
Unreal Splineコンポーネントは、Houdiniでは動作を1:1で再現できないため、リニアカーブに再サンプリングされます。スプラインの微調整された位置は、Houdiniの対応するCurve SOPにCVとして送られます。
Unreal Spline Resolutionパラメータを使用すると、再サンプルに使用されるサンプルの長さを選択して、これらのポイントをHoudiniに送ることができます。デフォルト値は50で、Unrealで50cm毎にスプラインポイントを抽出して、Houdiniにマーシャリングします。0
に設定すると、スプラインのコントロールポイントのみがマーシャリングされます。
詳細は、Unreal Splineコンポーネントを参照してください。
World Input を通してマーシャリングされたUnrealランドスケープには、対応するHoudiniノードに、以下のようなUnrealからHoudiniのアトリビュートが含まれていま:
-
unreal_input_mesh_name
-
unreal_vertex_index
-
unreal_lightmap_resolution
-
unreal_lightmap_color
-
unreal_material
-
unreal_material_hole
これらの標準のHoudiniアトリビュートも含まれます:
-
ポイント位置の
P
-
ポイント法線の
N
-
UV座標の
uv
入力ランドスケープのActor/ComponentタグはプリミティブアトリビュートとしてHoudiniに送信されます。接頭辞はunreal_uproperty_tag_
で、その後にタグの名前が続きます。
Export Selected Landscape Components Only がオンの場合、現在選択されているランドスケープコンポーネントのみがHoudiniにエクスポートされます。オフの場合は、ランドスケープ全体がマーシャリングされます。 詳細は、World Input設定を参照してください。
World Inputを通してマーシャリングされたUnrealメッシュには、対応するHoudiniノードに、以下のようなUnrealからHoudiniのアトリビュートが含まれています:
-
unreal_material
-
unreal_face_smoothing_mask
-
unreal_lightmap_resolution
-
unreal_input_mesh_name
-
unreal_input_source_file
-
unreal_actor_path
以下の標準のHoudiniアトリビュートも含まれます:
-
ポイント位置の
P
-
頂点法線の
N
-
頂点カラーの
Cd
-
UVセットの
uv
、uvX
World Inputを通してマーシャリングされたUnreal Splineコンポーネントには、呼応するHoudiniノードに、以下のような標準のHoudiniアトリビュートが設定されます:
-
位置の
P
-
回転の
rot
-
スケールの
scale
選択したオブジェクトのActorおよびComponentタグに、プリミティブグループが作成されます。
Directly Connect HDAs in Houdini オプションをオンにして、World Inputを使用して別のHoudini Asset Actorをエクスポートすると、Houdiniアセットが別のHoudiniアセットの入力に直接接続されます。 両方のアセットがHoudiniで直接接続され、UnrealとHoudini間の余分なデータ転送を防ぐため、これはより効率的です。 これはまた、すべてのオリジナルのアトリビュートとデータを維持し、両方のアプリケーション間の変換で失われないようにするのにも役立ちます。
オフのとき、Unreal出力(メッシュ、インスタンスなど)は入力にエクスポートされます。
詳細は、World Input設定を参照してください。
Curve Input ¶
Curve Inputを使用すると、カーブデータをUnrealからHoudiniにマーシャリングできます。Detailsパネルで、Houdiniで入力に接続されている、作成されたCurve SOPのパラメータをセットアップすることができます。詳細は、カーブ設定を参照してください。
単一の入力に複数のカーブオブジェクトを作成することができます。現在の入力で Add ボタンを使用します。 Clear All ボタンを使用すると、すべての作成されたカーブを削除できます。
追加されるカーブはそれぞれ、いくつものカーブが重なることのないよう、前回の位置からわずかにオフセットされたデフォルトの位置に作成されます。 オフセットの増分をリセットするには、 Reset Curve Offset ボタンを押します。
Houdiniでは各カーブに独自のカーブが作成され、入力で他のカーブのノードと結合されます。
Curve Inputを介してHoudiniに送られるカーブでは、以下の標準のHoudiniアトリビュートが対応するHoudiniノードに設定されます。
-
位置の
P
-
回転の
rot
-
スケールの
scale
Curve Inputでは、Unrealスプラインコンポーネントと同様、Spline Point Editorにアクセスできるようになりました。 カーブの選択されているコントロールポイントのトランスフォームを手動で編集することができます。