On this page |
カーブは、Unreal Engineビューポートで表示および操作できるため、Houdiniでアセットの挙動を制御するのに便利です。
Houdini Engine for Unrealでは、HoudiniカーブまたはUnreal Splineコンポーネントのいずれかを使用して、Houdiniアセットの Curve SOP を制御することができます。 Houdiniカーブは、カーブ入力または編集可能なカーブノードを使用して作成できます。 Unreal Splineコンポーネントは、World Outliner Inputで使用することができます。
また、unreal_output_curve
アトリビュートの使用時は、カーブをUnreal Splineコンポーネントとして出力できます。
Houdiniカーブ ¶
入力カーブ ¶
Houdiniカーブは、Curve Inputを使用してアセットを制御します。 これは、ノード入力またはオブジェクトパス入力を作成して、タイプを Curve に変更することで実行できます。
その後、カーブはエディタのビューポートに表示され、そこで直接編集することができます。 タイプやメソッドなどのカーブパラメータは、Detailsパネルで変更できます。
詳細は、カーブ入力を参照してください。
編集可能なカーブノード ¶
Curve SOPを編集可能にして、Unrealで編集可能なHoudiniカーブを作成することもできます。
編集可能なカーブノードを作成するには:
-
Houdiniの Type Properties ダイアログで、 Node タブを見つけます。
-
Curve SOPをアセットの Editable Nodes リストに追加します。
複数のカーブノードを編集可能にすることができます。
Unrealでは、エディタのビューポートで直接編集することができます。
Note
このワークフローは現在廃止されており、Houdini 19.0で導入された新しいCurve SOPとは互換性がありません。 Houdini 19.0で編集可能なカーブを使用したい場合は、Curve1.0 SOPを使用するようにしてください。
2通りの方法でこれを行なうことができます:
-
ネットワークエディタでCurve SOPを右クリックし、 Actions ▸ Change Type を使用して、次にNode Typeを curve::2.0 ではなく curve にします。
-
Asset Definition Toolbarを Assetsメニュー で有効にしてから、 Asset Definition Toolbar ▸ Show Always と移動し、Curve SOPのパラメータの上に表示されるドロップダウンで curve::2.0 でなく curve を選択します。
Houdiniカーブを編集する ¶
表示されたカーブを含むHoudiniアセットを選択すると、エディタのビューポートにカーブとコントロールポイントが表示されます。 アセット全体を選択すると、ポイントがグレーアウトされます。
カーブのポイントをクリックして、カーブを編集します。ポイントのスケール、回転、移動にはトランスフォームギズモを使用できます。
現在の選択の後に新しいポイントを作成するには、Altをクリックしながらコントロールポイントを移動します。 または、カーブ上でAlt)を押すと、新しいコントロールポイントが自動的に挿入されます。
カーブから現在選択されているポイントを削除するには、⌦ Delを押します。 または、カーブポイントで右クリックし、コンテキストメニューを使用することもできます。
カーブの最初の2つのポイントは緑色とオレンジ色になっており、それでカーブの方向が分かります。これは、閉じたカーブを使用するときに便利です。
カーブの各コントロールポイントの回転およびスケールは、Unrealでスケールおよび回転ギズモを使用することで変更できます。
回転値およびスケール値は、Houdiniで標準のrot
およびscale
Pointアトリビュートとして表示されます。
Unreal Splineコンポーネント ¶
Unreal Splineコンポーネントを使用して、Houdiniの Curve SOP を制御することもできます。
World Inliner Inputを使用して、Splineコンポーネントがアタッチされたアクターを選択します。
Unreal Splineコンポーネントは、既存のスプラインをHoudiniアセットで直接再利用したり、複数のアセット間でカーブを共有するのに大変便利です。
Unrealのスプライン補間は、Houdiniで完全には再現できないため、Houdiniにマーシャリングして線形 Curve SOP に変換するとき、スプラインは微調整された位置に再サンプルされます。 World Outliner InputでUnreal Spline Resolutionパラメータを使用すると、再サンプルに使用されるサンプルの長さを選択して、微調整された位置をHoudiniに送ることができます。
デフォルト値は50で、Unrealで50cm毎にスプラインポイントを抽出し、Houdiniにマーシャリングします。スプライン解像度を0
に設定すると、スプラインのコントロールポイントのみがマーシャリングされます。スプラインの最初と最後のポイントは、必ずHoudiniにマーシャリングされます。
各スプラインポイントの回転およびスケールは、標準のrot
およびscale
PointアトリビュートとしてHoudiniで使用できるようになります。
Note
Houdiniカーブとは異なり、閉じたUnrealスプラインは閉じたカーブとして作成されず、同じ開始点と終点を持つ開いたカーブとして作成されます。
HDAが通常閉じたカーブ(つまりポリゴンを定義する)を想定している場合は、EndsノードでClose U
パラメータをClose Straightに設定することで、確実にカーブ入力を閉じることができます。
rotおよびscaleアトリビュート ¶
Houdini Engine for Unrealでは、HoudiniカーブおよびUnrealスプラインの両方がCurve SOPを生成し、そのポイントには追加のrot
およびscale
Pointアトリビュートが含まれています。
これらのアトリビュートにより、Unrealの標準ギズモを用いてアセットを操作できるため、アセットをより詳細に制御できます。
しかし、Curve SOPはもともとこれらのアトリビュートを持たないため、カーブノードがそれらを使用するノードによって処理されると、そのアトリビュートの存在が副作用を引き起こす可能性があります。
例えば、カーブを背骨として使用するSweepノードです。Unrealでカーブのポイントの回転を変更しない場合でも、追加されたrot
アトリビュートによって、カーブでスイープされるジオメトリの向きが変わることがあります。
これを解決するには、追加したrot
パラメータを考慮して入力ジオメトリを回転するか、Attribute Delete
ノードを使用してカーブからそのパラメータを削除する必要があります
(Sweepノードの場合は、Transform using attributes
パラメータでもこの問題を解決できます)。
カーブ出力 ¶
HDAから、カーブをUnreal Splineコンポーネントとして出力することができます。カーブにunreal_output_curve
intアトリビュートを追加し、値を1
に設定する必要があります。
出力Splineコンポーネントが線形または閉じている場合は、それぞれunreal_output_curve_linear
またはunreal_output_curve_closed
intアトリビュートの値を1
または0
に設定することで、制御できます。
Note
出力カーブは単なる出力オブジェクトであり、メインアセットの再クック時に再生成されます。 UnrealでSplineコンポーネントを変更しても、それに呼応するHoudiniカーブは更新されません。