~“Edit SOP”~
前回に引き続きHoudini18.0のSOPノードの解説を行います。
今回のノードは新しく追加されたものではなく、機能が追加されたノードになります。
前回の記事をご覧になられていない方はこちらからご覧ください。
※本記事ではHoudini 18.0.416を使用しています。
今回はEdit SOPについて解説していきます。
Edit SOP
このノードは、Houdini 18.0にアップデートされた際に新しく追加機能が付きました。その機能を使うことで今までよりも容易に素早く、思い通りに形状の変更を行うことができるようになりました。従来のEdit SOPと基本的な機能は変わりませんが、シーンビュー上にあるインタラクティブツールの「Slide Mode」に“Edge”、“Surface”のオプションが追加されました。さらに、インタラクティブツールの「Slide on Surface」ではエッジだけでなくポイント、プリミティブの選択も可能となり、パラメータ内の「Slide on Surface」を有効にした際に1軸方向(X軸のみなど)しか移動できなかったエッジが複数軸方向(X軸とY軸など)に移動できるなどの機能が追加されました。
それでは具体的にどのように変更されているかを説明していきます。
まずはパラメータからです。
Houdini 17.5のパラメータとHoudini 18.0のパラメータを比較してみましょう。

パラメータに多少の変更が加わりました。
赤色で囲われたパラメータが新しく追加されたパラメータ、黄色で囲われたパラメータが変更されたパラメータになります。
赤色で囲われたパラメータは、ローカルでのPivotの変更、ローカルでのピース単位のトランスフォームを行うことが出来ます。
しかし、デフォルトではこれは有効となっておらず、黄色で囲われたパラメータの「Transform Space」をローカルに変更する必要があります。
ローカル空間を基準としたトランスフォームを行う際は、こちらの設定を変更してトランスフォームを行うとよいでしょう。
具体的な例を紹介します。
下のような原点からずれた複数のジオメトリが存在するモデルを用意します。
まず初めに、このモデルに対してグローバル座標を用いたトランスフォームを行います。
今回はy座標に対して30度回転を加えます。
「Transform Space」はデフォルトの“Global”にしておきます。
そうすると下のような結果を得ることができます。
このような結果になるのは、今回のトランスフォームがグローバル座標を元にしたトランスフォームであるためです。そのため、トランスフォームの原点が(0,0,0)になっているのでこのような結果になります。
次に「Transform Space」を“Local Frame”に変更した結果を確認してみます。
この場合は下のような結果を得ることができます。
このように「Transform Space」が“Global”の場合とは異なった結果となります。
これはトランスフォームの原点がグローバルからローカルに変更されたため、このような結果になります。ローカル座標を元にしたトランスフォームはそのオブジェクトの中心を元にした変換となります。
しかし、上の画像を見てわかるようにy座標に対してのトランスフォームを行っているはずが異なった座標のトランスフォームが行われてしまいます。
具体的には「x座標→z座標」、「y座標→x座標」、「z座標→y座標」となります。
しかし、下の画像のように「Local Frame」を“Normal + Vector”に変更することで通常のxyz座標を元にしたトランスフォームを行うことができます。
その時の結果が下の画像になります。
次に「Transform Space」を“Local Frame by Connectivity”に変更した結果を確認してみます。
この場合は下のような結果を得ることができます。
このように各ジオメトリ一つ一つに対してトランスフォームを適用することができます。しかしこの場合でもデフォルトでは、先ほどの「Transform Space」を“Local Frame”に変更した場合と同様に「x座標→z座標」、「y座標→x座標」、「z座標→y座標」のトランスフォームとなっています。
そのためこちらも「Local Frame」を“Normal + Vector”に変更することによって通常のxyz座標を用いたトランスフォームを行うことができます。
その場合には、下のような結果を得ることができます。
最後に「Transform Space」を“Local Origin by Connectivity”に変更した結果を確認してみます。
その時の結果が下の画像になります。
この場合は、通常のxyz座標を用いたトランスフォームを行うことができます。
こちらは先ほどまでと異なり、「Local Frame」は変更することができません。
このようにEditのトランスフォームに新しい機能が追加されています。
ほかにもシーンビュー上での操作にも変更があります。
先ほども述べたように、シーンビュー上にあるインタラクティブツールの「Slide Mode」に“Edge”、“Surface”のオプションが追加されました。さらに、インタラクティブツールの「Slide on Surface」ではエッジだけでなくポイント、プリミティブの選択も可能となり、パラメータ内の「Slide on Surface」を有効にした際に1軸方向(X軸のみなど)しか移動できなかったエッジが複数軸方向(X軸とY軸など)に移動できる機能が追加されました。
ではこちらも詳しく説明していきます。
Editノードを作成した後にシーンビュー上でEnterキーを押すとシーンビュー上部のUIが変わり下の画像の赤く囲われた部分のようなアイコン群が出てきます。
Houdini17.5の場合とUIの変更はありません。しかし、システムが少し変更されています。
具体的に変わっている部分は赤く囲われているアイコンの左から2番目の「Slide on Surface」です。
ではどのように変わったかを説明していきます。
基本的な使い方は変わりませんが、機能が拡張されSlide on Surfaceで操作ができる対象がEdgeのみから、Edge・Point・Primitiveに対して適用できるようになりました。
さらに、Houdini17.5ではSlide on Surfaceを有効にした場合の移動方向は1軸方向(エッジに対して垂直のみ)でしたが、Houdini18.0では2軸方向(エッジに対して垂直と平行)に移動可能となりました。
では具体的な動きを確認してみましょう。
下の動画が具体的にどのように変更を加えることができるかの比較になります。
このようにHoudini17.5に比べてHoudini18.0では機能が拡張されています。
このような機能拡張が行われ、モデリングの際にポリゴン形状を調整することが容易になりました。そのため、従来よりもさらにモデリングの効率が上がります。
こちらの記事のhipファイルが以下のURLからダウンロードできますので興味のある方はご確認ください。 https://www.dropbox.com/sh/1hme1jaoycoep0p/AACgbacrkBc8zAN5gMZ9JfwRa?dl=0