Labs Lightning SOP


こちらの記事では、Labs Lightning SOPノードについて解説いたします。

▼記事で紹介している内容

  1. Labs Lightning SOPノードについて
  2. Labs Lightning SOPノードのパラメータ解説
  3. Labs Lightning SOPノードの使用方法
  4. Labs Lightning SOPノードを使用したシーン例



▼サンプルファイルについて

こちらの記事では、サンプルファイルを配布しています。ファイルは、下記のリンクからダウンロードすることができます。

※本記事では、Houdini19.0.498、SideFXLabs19.0.498を使用しています。

1.Labs Lightning SOPノードについて

最初に、Labs Lightning SOPノードの概要や各パラメータについて、紹介します。

Labs Lightning SOPノードは、指定した入力地点の周辺に稲妻のエフェクト用ジオメトリを生成します。ゲームエンジンなどで稲妻のエフェクトを生成する際に非常に役立ちます。

各入出力の項目については、以下の通りです。

①入力1
メッシュを入力します。

②入力2
稲妻を発生させるための開始ポイントを入力します。

③入力3
稲妻を発生させるための終了ポイントを入力します。

④出力
生成した稲妻のジオメトリと頂点カラーを出力します。

2.Labs Lightning SOPノードのパラメータ解説

Settings

こちらでは、生成する稲妻の設定を行います。

Setup

この項目では、生成する稲妻の発生場所や本数について変更を加えることができます。

①Start Point
稲妻を生成するための開始位置を制御します。

②End Point
稲妻を生成するための終了位置を制御します。

③Lightning Arcs
生成する稲妻の本数を制御します。

④Spread
開始位置(①Start Point)の発生領域の広さを制御します。

⑤Relax Scatter
開始位置でばらまかれたポイント位置が重複することを防ぐため、ポイント同士の間隔を制御します。

⑥Debug begin spread
開始位置を視覚的に確認できるようにします。

⑦Spread
終了位置(②End Point)の発生領域の広さを制御します。

⑧Relax Scatter
ばらまかれたポイント位置が重複することを防ぐため、ポイント同士の間隔を制御します。

⑨Debug end spread
終了位置を視覚的に確認できるようにします。


Shape along lines

この項目では、生成された稲妻の形をランプで制御したり、稲妻の解像度を調整します。

①Beam Thickness
稲妻オブジェクト全体の太さを制御します。

②Columns
稲妻オブジェクトの列数を変更できます。

③Curve Section Length
稲妻オブジェクトの行数を変更し、オブジェクトの解像度を変更できます。

④Distance from model
入力1で入力されたオブジェクトと稲妻オブジェクトの離れ具合を制御します。

⑤Length until end
稲妻を開始位置から終了位置まで生成する長さを変更できます。

⑥Push End
稲妻の終了位置を入力モデルから押し出して遠ざけることができます。

⑦Push Falloff
稲妻の終了位置を押し出す(⑥Push End)際の影響範囲を制御します。


Vertex Colors

この項目では、選択した方法によってCdアトリビュートに値を追加します。

①Red Channel
選択した方法でCdポイントアトリビュートのレッドチャンネルに値を追加します。こちらを変更すると、稲妻のアニメーションが変化します。

②Green Channel
選択した方法でCdポイントアトリビュートのグリーンチャンネルに値を追加します。

③Blue Channel
選択した方法でCdポイントアトリビュートのブルーチャンネルに値を追加します。


Noise

この項目では、稲妻の形状をノイズによって制御します。

①Add noise
チェック項目を有効にすると、稲妻の形状にノイズが適用されます。

②Noise Type
適用するノイズの種類を変更することができます。

③Height
ノイズの高さ(強さ)を制御します。

④Element Size
ノイズの周波数を制御します。

⑤Roughness
ノイズの細かさを制御します。この値が高いほど、ノイズの量が多くなります。

⑥Scale
ノイズの強さを軸ごとに制御することができます。

⑦Clipping Minimum
ノイズを0にする最小閾値を制御します。この値が高いほど、ノイズの強い箇所から稲妻が平坦になります。

⑧Clipping Maximum
ノイズを0にする最大閾値を制御します。この値が低いほど、ノイズの強い箇所から稲妻が平坦になります。


Stick To Surface

この項目では、稲妻が入力オブジェクトに張り付く度合いを制御します。

①Start range
開始位置付近の稲妻が入力オブジェクトの表面に張り付く範囲を制御します。

②Stick To Surface
開始位置付近の稲妻が入力オブジェクトに張り付く強さを制御します。

③End range
終了位置付近の稲妻が入力オブジェクトの表面に張り付く範囲を制御します。

④Stick To Surface
終了位置付近の稲妻が入力オブジェクトに張り付く強さを制御します。


①Add Jitter
チェック項目を有効にすると、小刻みなノイズが稲妻オブジェクトに適用されます。

②Scale
小刻みなノイズ(①Add Jitter)の強さを制御します。

③Axis Scales
小刻みなノイズ(①Add Jitter)の強さを軸ごとに制御できます。


Previews

この項目では、稲妻オブジェクトのプレビューに関する項目を制御します。

①Show Input
入力オブジェクトを表示し、稲妻オブジェクトと一緒に出力します。

②Tint Blue
稲妻オブジェクトを水色に着色します。

③Preview modes
稲妻オブジェクトのプレビュー形式を変更します。こちらのタブを「Animation」に変更することで稲妻オブジェクトにアニメーションが付与されます。


Export

この項目では、稲妻オブジェクトの出力に関する項目を制御します。

①Save to Disk
モデルをディスク上に保存します。

②Model name
出力するファイルの名前を変更できます。

③Output File
出力するファイルの保存先を変更できます。

④Export in ASCII Format
チェック項目を有効にすると、出力フォーマットをBinaryではなくASCII形式で書き出します。


3.Labs Lightning SOPノードの使用方法

ここからはLabs Lightning SOPノードの使用方法についてご紹介します。



周辺に稲妻を発生させたいオブジェクトをLabs Lightning SOPノードに接続します。
今回は、SphereとBoxの二つをMerge SOPノードで繋ぎ、それらをLabs Lightning SOPノードの第一入力に接続します。

Labs Lightning SOPノードの[Previews]タブにある[Show Input]にチェックを入れて有効化すると、稲妻だけでなく入力オブジェクトも可視化されるため作業がしやすくなります。

下画像は、[Show Input]のチェックを切り替えた結果です。
オンにすることで、入力オブジェクト(スフィア)が表示されていることが分かります。

次に、[Settings]タブでContact Spreadの[Debug begin spread] [Debug end spread]にチェックを入れて、稲妻が発生する範囲を確認できるようにします。

SetupのStart PointとEnd Pointの一番右にある矢印マークを選択し、シーンビューからオブジェクトのポイントを直接選択して、ビューポート上でEnterキーを押します。
これで選択したポイントが稲妻の発生ポイントになります。

アニメーションをさせる際は、PreviewsタブにあるPreview modesのプルダウンメニューから[Animation]を選択します。

Settingsタブの一番下にある、Vertex ColorsのRed Channelのプルダウンメニューを変更することで、アニメーションの動作が変化します。



アニメーションを確認する際、SOP階層では、稲妻のガイドが表示されることで確認しづらいことがあります。
その場合は、Labs Lightning SOPノードの下にDelete SOPノードを接続し、パラメータを以下の通りに変更することで確認しやすくなります。

Group → 「@Alpha==1.0
Operation → 「Delete Non-Selected
Entity → 「Points

Groupを@Alpha==1.0、EntityをPointsと指定することで、Alpha値が1.0の不透明なポイントを指定しています。OperationをDelete Non-Selectedに変更することで、Alpha値が1.0以外のポイントを削除します。

Labs Lighntning SOPノードは、透明度を変化させることでアニメーションのように動きを付けています。
Delete SOPノードを使用して、Alpha値が1.0以外のポイントを削除する事でガイドがなくなり、アニメーション結果が確認しやすくなります。
Glowマテリアルなども適用させる事で、稲妻が更にはっきりとした見た目になります。

下動画は、Labs Lightning SOPノードのパラメータを以下の通りに変更した結果です。

【Settingsタブ】
Lightning Arcs → 「8
Beam Thickness → 「0.2
Curve Section Length → 「0.3
Red Channel → 「Random

【Noiseタブ】
Add Jitter → 「有効化

Labs Lightning SOPノードの使用方法については以上です。

4.Labs Lightning SOPノードを使用したシーン例

最後に、Labs Lightning SOPノードの使用例を簡単にご紹介いたします。

まずSphereノードを作成し、Labs Lightning SOPノードの第一入力に接続します。

Labs Lightning SOPノードのパラメータである、Contact Spreadの[Debug begin spread][Debug end spread]にチェックを入れて稲妻の生成範囲を確認しながら、各パラメータを変更して稲妻の形状を調整します。
Shape along linesのランプパラメータとNoiseタブで細かい形状を調整し、[Beam Thickness]で稲妻全体の太さを調整してディテールを決めていきます。

Labs Lightning SOPノードを幾つか複製し、Vertex ColorsのRed ChannelやNoiseで稲妻のアニメーションや形状を変更した物を何種類か作成して稲妻のバリエーションを増やします。

マテリアルパレットから「Glow」を選択し、右側のパレットへドラッグ&ドロップしてGlowマテリアルを追加します。

今回は、SOPにMaterialノードを追加してマテリアルを適用しています。
[Enable Emission]にチェックを入れ、Emissionの値とGlow Colorのパラメータを変更して稲妻の光加減を調整します。

最後に作成したジオメトリを複製し、同様に稲妻の形状やアニメーションを変更します。GridノードとCopy to pointsノードを使って簡単に背景を作成し、ライティング設定を行い完成です。

このようにLabs Lightning SOPノードを使用することで、稲妻オブジェクトの作成や稲妻のアニメーション表現を容易に行うことができます。

こちらのHipファイルは、下記のリンクからダウンロードすることができます。詳しくは、こちらをご参照ください。

これでLabs Lightning SOPノードについての解説は以上となります。
今後の学習や制作のご参考にしていただけますと幸いです。