| On this page |
プラグインによって生成されたメッシュに対してマテリアルを割り当てるには、2通りの方法があります:
-
既存のUnrealマテリアルアセットを、アトリビュートで指定する。
-
アセットで検出したHoudiniマテリアルに基づいて、このプラグインが新しいUnrealマテリアルの生成を試みる。
Houdini Engineは、既存のUnrealマテリアルからマテリアルインスタンスを自動的に作成し、そのパラメータをプロシージャルに変更することもできます。
アトリビュート ¶
特殊なUnrealからHoudiniのPrimitiveアトリビュートであるunreal_materialは、特定のプリミティブに適用するUnrealマテリアルアセットを指定することができます。
このアトリビュートは、アセットへのパスを文字列値として含んでいます。
右クリックしてコンテキストメニューの Copy Reference を選択すると、マテリアルアセットへのパスを取得することができます。
送信されたメッシュに2つ以上のマテリアルがあった場合、unreal_materialアトリビュートの値の頭には、大括弧の中にマテリアルスロット番号が入った文字列が付きます。例:
[0]/Script/Engine.Material'/Game/StarterContent/Materials/M_Ground_Grass.M_Ground_Grass
また、特定のUnrealマテリアルアセットのマテリアルインスタンスを自動的に作成することもできます。
詳細は、マテリアルインスタンスを参照してください。
物理マテリアルは、unreal_physical_materialアトリビュートを使用して変更できます。
生成 ¶
オプションで、このプラグインは、アセットで見つかったHoudiniマテリアルに基づいてUnrealマテリアルの生成を試みるようにすることができます。
このプラグインでは、Houdiniでのマテリアルの割り当て方法が3つあります:
-
Materialネットワークを使用し、 Material ノードからそのネットワークをジオメトリに割り当てる。
-
SHOPネットワークと
shop_materialpathアトリビュートを使用する。 -
COP2またはCopernicus(COP)ネットワークを使用し、 COP Preview Material ノードからそのネットワークをジオメトリに割り当てる。
マテリアルは、生成されたジオメトリの各プリミティブ/フェースを読み取り、Houdiniマテリアル毎にUnrealマテリアルを作成します。
Principled Shader を使用してHDAからマテリアルを生成するには:
-
HDAで生成されるメッシュには必ずUVがなければなりません。
-
HDA内にMaterialネットワークを作成します。
-
そのMaterialネットワーク内に Principled Shader を作成します。
-
GEO/SOPレベルで、生成されたジオメトリに Material ノードを追加します。その Material ノードの Material パラメータに、そのMaterialネットワーク内の Principled Shader を指します。
COP Preview Material ノードを使用してHDAからマテリアルを生成するには:
-
HDAで生成されるメッシュには必ずUVがなければなりません。
-
GEO/SOPレベルで、生成されたジオメトリに COP Preview Material ノードを追加します。
一部のマテリアルチャンネルのみがUnrealマテリアルに変換されます。 変換されるマテリアルチャンネルは以下のテーブルを参照してください。
SHOPノード、Principled Shader、COP Preview Materialノードでは、マテリアルチャンネルの割り当て方法が複数あります。 例えば、Base Colorチャンネルには、テクスチャパラメータと定数カラーパラメータの両方があります。 このプラグインは、マテリアルに使用するパラメータをどちらかのみを選択し、定数値よりもテクスチャが優先されます。
このプラグインは、まず最初に名前でパラメータを検索します。 その名前のパラメータが見つからなかった場合、それに呼応する互換タグを持つパラメータを検索します。
名前とタグは以下のとおりです:
Unrealマテリアルチャンネル |
パラメータ |
互換タグ |
COPプレビューノードパラメータ |
|---|---|---|---|
Base Color |
|
|
|
Base Color (Texture) |
|
|
|
Metallic |
|
|
|
Metallic (Texture) |
|
|
|
Specular |
|
|
|
Specular (Texture) |
|
|
|
Roughness |
|
|
|
Roughness (Texture) |
|
|
|
Emissive Color |
|
|
|
Emissive Color (Texture) |
|
|
|
Emissive Intensity |
|
|
|
Opacity |
|
|
|
Opacity Mask (Texture) |
|
|
|
Normal (Texture) |
|
|
|
Normal Map Type (Tangent/World) |
|
||
Displacement (Texture) |
|
|
|
Displacement Scale |
|
|
|
Ambient Occlusion (Texture) |
|
|
N/A |
Note
ogl_normalmap_typeは、法線マップ(接線vsワールド)の空間を決定します。
パラメータがWorld Spaceに設定されている場合、このプラグインは、マテリアルのbTangentSpaceNormal UPropertyをFalseに設定し、法線マップがワールド空間になります。
設定されていない場合、法線マップは接線空間になります。
スタンドアローンのテクスチャインポート ¶
NodeSyncを使用している場合、マテリアルにテクスチャを取り付ける必要なく、Houdiniから直接COP2またはCopernicus(COP)テクスチャを取得することができます。 そのテクスチャはUnrealテクスチャに変換されます。 詳細は、NodeSyncの使い方を参照してください。
マテリアルインスタンス ¶
特定のUnrealマテリアルアセットからマテリアルインスタンスを自動的に作成することができます。
-
unreal_material_instancePrimitiveアトリビュートを割り当てます。 -
パラメータの文字列値には、マテリアルアセットへのパスを使用します。
-
パスを取得するには、アセットを右クリックして Copy Reference を選択します。
クック時、このプラグインは、ソースのUnrealマテリアルの新しいマテリアルインスタンスを クック一時フォルダ に作成して、生成されたジオメトリにそれを割り当てられます。
ランドスケープでは、Landscapeマテリアルにはunreal_material_instance、穴マテリアルにはunreal_material_hole_instanceを使用します。
マテリアルインスタンスパラメータ ¶
マテリアルインスタンスを使用して、アトリビュートのマテリアルパラメータを制御および変更することができます。
汎用unreal_material_parameter_接頭辞でマテリアルパラメータを変更します。これは、汎用UPropertyアトリビュートのように動作します。
-
unreal_material_parameter_で始まるDetailまたはPrimitiveアトリビュートを追加します。 -
スペースなしで、マテリアルパラメータの名前を追加します。
デフォルトでは、このプラグインは、この名前と一致するパラメータを持つすべてのマテリアルにこのオーバーライドを適用します。
必要であれば、マテリアルパラメータ名の前にINDEX_(INDEXはマテリアルスロットのインデックス)を追加することで、このオーバーライドを適用するマテリアルスロットのインデックスを指定することができます。
これは、unreal_material_instance値の前に対応するマテリアルインデックスが追加されている場合にのみ機能します。
そうでない場合、各マテリアルのインデックスは、unreal_material_instance値のリストで最初に表示されるマテリアルに合わせて設定されます。
このシステムは、マテリアルインスタンス(BlendMode、PhysMaterial、TwoSided)の作成時にUnrealによって常に生成される標準マテリアルパラメータだけでなく、
マテリアルによって定義されるscalar、vector、またはtextureパラメータをエクスポーズさせる(アクセス可能にする)カスタムマテリアルパラメータに対しても機能します。
クックの際は、オーバーライドして、指定した値に設定します。
これは、Unrealによって生成される標準マテリアルパラメータと、scalar、vector、またはtextureパラメータをエクスポーズする(アクセス可能にする)カスタムマテリアルパラメータの両方に対して機能します。
例えば、次のようになります:
-
Diffuse Boost パラメータを2.0に設定するには、
unreal_material_parameter_diffuseboostDetailアトリビュートをアセットに追加し、その値を2.0(Floatアトリビュート)に設定します。 -
Blend Mode パラメータをデフォルトのOpaque値からAdditiveに変更するには、
unreal_material_parameter_blendmodeDetailアトリビュートをアセットに追加して、その値を Additive (Stringアトリビュート)または3(FloatまたはIntegerアトリビュート)に変更します。 -
マテリアルで作成したカスタム My Color Vectorパラメータを変更するには、
unreal_material_parameter_mycolorDetailアトリビュートを追加して(タプルのサイズが4のFloatパラメータは)、その値を目的のカラー値(真っ赤なら(1.0, 0.0, 0.0, 1.0))に設定します。
このシステムは、現在4種類のマテリアルパラメータをサポートしています:
-
Scalarパラメータ。これは、単一のタプルアトリビュート(FloatまたはInteger)で制御することができます。 -
Vectorパラメータ。これは、タプルサイズが4または3のFloatまたはIntegerアトリビュートで制御することができます。UnrealはFloatアトリビュートをFLinearColorとして解釈し、IntegerアトリビュートをFColorとして解釈します。 -
Enumパラメータ(Blend Modeなど)。これは、enumのstring値またはintのinteger値(ゼロから開始)のいずれかを使用して設定することができます。 -
Textureパラメータ。これは、Stringアトリビュートで変更することができます。既存のUnrealテクスチャアセットを使用するには、アセットのUnrealパスを使用できます(アセットを右クリックし、Copy Referenceを選択して取得します)。
現行のHoudiniアセットで生成されるテクスチャを使用するには、以下の2つのオプションがあります:
-
単一のマテリアルでは、アトリビュートをマテリアルチャンネル(basecolor(またはdiffuse)、normal、specular、roughness、emissive、metallic、opacitymask)に設定します。
-
複数のマテリアルの場合は、マテリアルを生成するSHOPノード(またはPrincipled Shaderノード)への相対パスを目的のチャンネルの前に追加します。例えば、 testgeometrysquab1/shopnet1/SquabSkin/diffuse のようになります。これはアセットノードへの相対パスです。
アトリビュート ¶
Houdini to Unreal ¶
このテーブルには、HDA内で設定する特殊なアトリビュートを載せており、このプラグインは、HoudiniデータをUnreal出力に変換する時にそれらのアトリビュートを認識します。 アセット上にこれらのアトリビュートをセットアップすることで、生成されるUnreal出力の一部のプロパティと挙動を制御およびオーバーライドすることができます。 詳細は、アトリビュートとグループを参照してください。
マテリアル ¶
アトリビュート名 |
オーナー |
型 |
説明 |
|---|---|---|---|
|
any |
string |
出力に適用するマテリアルアセットのUnrealパス。
マテリアルスロットを指定するには、大括弧の中にスロット番号を指定したものをパスの前に追加します: |
|
Primitive, Detail |
string |
出力で物理マテリアルとして使用されるPhysicalMaterialアセットのUnrealパス |
|
Primitive, Detail |
string |
単純なUnrealコリジョンで使用されるPhysicalMaterialのUnrealパス |
|
Primitive |
int |
メッシュスムージングマスクデータ |
マテリアルインスタンス ¶
アトリビュート名 |
オーナー |
型 |
説明 |
|---|---|---|---|
|
Primitive, Detail |
string |
インスタンスを作成するマテリアルアセットのUnrealパス |
|
Primitive, Detail |
string |
インスタンスを作成するマテリアルアセットのUnrealパスで、ランドスケープの穴に使用されます。 |
|
Detail |
any |
生成されたマテリアルインスタンスのパラメータを変更するのに使用されるアトリビュート接頭辞 |
Unreal to Houdini ¶
このテーブルには、UnrealデータをHoudniに取り込む時にこのプラグインによって生成される特別なアトリビュートを載せています。 詳細は、アトリビュートとグループを参照してください。
マテリアル ¶
アトリビュート名 |
オーナー |
型 |
説明 |
|---|---|---|---|
|
Primitive |
string |
単純なコリジョンから取り込まれるPhysicalMaterialアセットのUnrealパス |