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カーブを作成することもできます。

編集可能なカーブノードを作成するには:

  1. Houdiniの Type Properties ダイアログで、 Node タブを見つけます。

  2. 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 を選択します。

Note

HDAがロック解除されると、カーブは編集可能になりますが、そうしたくない場合があります。 カーブ編集を無効にするには、Houdiniアセットコンポーネントの“Enable Curve Editing”のチェックを外してください。

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カーブは更新されません。

Unreal

はじめよう

基本

Houdini Engineを使用する

スクリプト

リファレンス