| On this page |
概要 ¶
Particle Trail SOPは、アニメーションするパーティクルシステムを受け取り、そのパーティクルからモーショントレイルを生成します。
これらのトレイルは、火花、花火、雨などの様々なエフェクトで使用可能です。
このノードは、そのトレイルのルックを制御することもできます。
これによって、長い期間のモーションブラーを使ってポイントをレンダリングすることなく、SOPコンテキスト内でルックを微調整することができます。
シミュレーションからのパーティクルとそこから生成されたパーティクルトレイル。
さらに、Particle Trail SOPは、分裂トレイルを生成して爆裂する火花とかバシャバシャ跳ね返る雨のルックを模倣することができます。 生成される分裂は、パーティクルシミュレーションで実現可能な実際の物理的挙動の近似的計算に過ぎません。 このノードを使用すると、複雑なパーティクルシミュレーションをセットアップする必要なく少ない反復回数で処理が済むメリットがあると同時に、 分裂に対してもっと直接的な制御ができます。
分裂を有効(右)/無効(左)にしたパーティクルトレイル。
Note
このノードは、中間フレームを使用してモーショントレイルをサンプリングしますが、整数フレーム間で何も補間を行ないません。
それ故に、入力が小数フレームで必ず評価できる必要があります。
DOPネットワークは、異なるフレーム間での同一パーティクルの照会にidアトリビュートを使用しないので、パーティクルが死亡した時に誤った補間を生成してしまいます。
Quick Setups メニューを使用してこのParticle Trail SOPの前にTime Blend SOPを挿入することで、
idアトリビュートに基づいた適切な補間をすることができます。
このメニューは、必要なすべての設定がなされたTime Blend SOPをこのParticle Trail SOPの前に接続してくれます。
別の方法としては、ネットワークエディタ内で⇥ Tabを押して Sparks とタイプすることで自動的にこれらのノードを生成することができます。
Tip
生成されるトレイルはパーティクルのモーションから構築されることから、レンダリングのモーションブラーは無効にする必要があります。 カメラのモーションブラーを取り込みたいのであれば、このノードの Motion タブの Bake Camera Motion を有効にしてください。
このノードの入力にパーティクルシミュレーションを取り込む時、その入力には以下のアトリビュートが含まれている必要があります:
-
あらかじめ決められたパーティクルの寿命が格納された
lifePointアトリビュート。 -
パーティクルの現行年齢が格納された
agePointアトリビュート。 -
各パーティクル固有の識別子が格納された整数 Seed Attribute (デフォルトは
id)Pointアトリビュート。
このノードの入力にBallistic Path SOPを取り込む時、その入力には以下のアトリビュートが含まれている必要があります:
-
パーティクルがその弾道パス上の指定位置にいる時の時間が格納された
timePointアトリビュート。 -
各弾道パス固有の識別子が格納された整数 Seed Attribute (デフォルトは
id)Primitiveアトリビュート。
トレイルをカスタマイズする ¶
デフォルトでは、すべてのトレイルは、このノードのパラメータ(例えば、 Color, Alpha など)で設定されたものと同じプロパティを持ちます。
トレイル毎にこれらのプロパティを可変させるには、該当するパラメータの隣にあるメニューから Set Varying オプションを選択してください。
このオプションは、指定された範囲内で入力ポイント毎に異なるランダム値を使用します。
この生成されるランダム値は、 Seed Attribute (デフォルトはid)で設定されたカスタム整数アトリビュートで決まります。
これによって、ポイントがシャッフルされようとも入力から削除されようとも、 Seed Attribute の値が同じである限りランダムなプロパティは入力ポイントに対して必ず同じ値を維持するようになります。
アトリビュートを使って手動でパラメータ値を上書きすることもできます。
例えば、入力ジオメトリにCdPointアトリビュートが存在すれば、グローバルの Color の代わりにその値を使用することができます。
これによって、各火花のカラーを細かく制御することができます。
これをするには、該当するパラメータの隣にあるメニューも必ず Use Attribute に設定してください。
Pointアトリビュートで制御可能なパラメータを以下のテーブルに載せます。
パラメータ名 |
範囲 |
アトリビュート名 |
アトリビュートタイプ |
|---|---|---|---|
Intensity |
0 to ∞ |
|
float |
Color |
(0,0,0) to (∞,∞,∞) |
|
vector |
Alpha |
0 to 1 |
|
float |
Length Start |
0 to 1 |
|
float |
Length End |
0 to 1 |
|
float |
Tail Width |
0 to ∞ |
|
float |
Head Width |
0 to ∞ |
|
float |
Split |
0 to 1 |
|
integer |
Splits per Point |
0 to ∞ |
|
integer |
Split Start Angle |
0 to 180 |
|
float |
Split End Angle |
0 to 180 |
|
float |
Split Velocity Scale |
0 to ∞ |
|
float |
Split Duration |
0 to ∞ |
|
float |
パラメータの詳細は、Particle Trail SOPのヘルプページを参照してください。
火花のルックを変更する ¶
Particle Trail SOPには、火花のルックを変更できるコントロールがたくさんあります。
以下の画像の一部では、効果をわかりやすく説明するためにWidthパラメータを大きくしています。
ディテール ¶
Substeps パラメータを上げると、各ラインの分割数が増えます。 これによって、火花が地面に落下する時に形状が少し曲がったり、火花が地面に当たって跳ね返った時に形状がV字になったりと、火花にディテールを加えることができます。
カラー ¶
Look タブの Color セクション内のコントロールを使用して火花のカラーを変更することができます。 Color Along Length Ramp パラメータは、火花の先頭から後尾まで自然なルックのグラデーションを作成するのに役立ちます。 ただし、 Substeps と同じ数のカラーしか使用できません。
別の方法として、火花が発生してから消滅するまでのカラーを付けたいのであれば、 Color Over Normalized Age を選択する方法があります。
Color Along Length Ramp
Color Over Normalized Age
これらのチェックボックスを両方とも有効にして両方の効果を得ることができます。 これによって、先頭ほど明るく後尾ほど暗く、さらに、発生時に明るく時間の経過と共に消えていく個々の火花を表現することができます。
透明度 ¶
Look タブの Alpha セクション内のコントロールを使用して火花の不透明度を変更することができます。 カラーと同様に、 Scale Along Length パラメータは、先頭から後尾に沿って個々の火花を薄れさせ、 Scale Over Normalized Age パラメータは火花が発生してから消滅するまでにその火花を薄れさせます。
Scale Along Length
Scale Over Normalized Age
Note
カラーと同様に、これらのコントロールを両方とも使用して両方の効果を得ることができます。
明度 ¶
火花を明るくするには、 Look タブの Intensity セクション内の Scale を上げます。 これは、火花がPyroシミュレーションの一部となっている場合にその火花から光をシーンに放出させたいことが多いので、軌道(トレイル)のカラーの乗数として作用します。
Scale set to 1
Scale set to 5
Houdini19以降では、3Dビューアのディスプレイオプションダイアログの Fog タブにある Bloom ディスプレイオプションを使ってビューポート内でグロー効果を生成することができます。これは、火花をレンダリングした時にだいたいどのように見えるのか視覚化するのに役立ちます。
Note
これは、あくまでビューポートの視覚化に過ぎないので実際にはレンダラーには影響しません。 とはいえ、フリップブックの作成に役立ち、他にもレンダリングした時に最終的にどのように見えるのか検討するのにも役立ちます。
幅 ¶
Shape タブの Width セクションにあるパラメータをいじると、カーブ上のwidthPointアトリビュートにその値が設定されます。
しかし、ビューポート内で自動的にそれらのパラメータの変化を確認することができません。
widthアトリビュートの変化を適切に可視化できるようにするには、OBJレベルに移動して、 Misc タブにある Shade Open Curves in Viewport を有効にしてください。
これによって、レンダリングする必要なく火花がどのように見えるのか適切にプレビューすることができます。
Shade Open Curves in Viewport が無効な場合
Shade Open Curves in Viewport が有効な場合
Tail Width と Head Width のパラメータを使用して火花の形状をカスタマイズしたり、 Scale Along Length を有効にして Width Along Length Ramp を編集することでもっとアーティスティックな制御をすることができます。 Substeps を上げれば、このランプを使ってシェイプにディテールを加えることができます。これは特に涙の形状を作成して雨といったエフェクトを表現するのに役立ちます。
Tail Width を1、 Head Width を2
Width Along Length Ramp
パーティクルにバリエーションを加えるなら Scale by Noise も便利です。これによってどれも形状やサイズが同じにならなくなります。 カラーと同様に、これらのオプションは同時に有効にすることができるので、もっと面白いルックのエフェクトを作成することができます。
長さ ¶
軌道(トレイル)の長さは、 Shape タブ上で設定することができます。 過去のフレーム数に基づいて長さを設定したり、過去または未来のフレームを使ってカメラのシャッターの開閉に応じて長さを設定することができます。 Shutter を使用すれば、モーションブラーを他のどこかのレンダリングしたモーションに合わせることができます。
詳細は、Particle Trail SOPのLengthパラメータを参照してください。
分裂 ¶
分裂は、爆裂する火花とかバシャバシャ跳ね返る雨のルックを模倣します。 生成される分裂は、パーティクルシミュレーションで実現可能な実際の物理的挙動の近似的表現に過ぎません。 しかし、Particle Trail SOPを使用すると、複雑なパーティクルシミュレーションをセットアップする必要なく少ない反復回数で処理が済むメリットがあります。 他にも、パーティクルの寿命の終わり付近で起こさせる分裂に対してもっと直接的な制御ができます。 Split Duration は、パーティクルが分裂してから死亡するまでのフレーム数で、 Splits per Point は発生させる分裂の数を制御します。 この値を上げると、もっと多くの分裂が発生します。
Split Path で Straight か Ballistic かを選択することもできます。 デフォルトは Straight になっています。この方が高速であり、通常では火花を早く消滅させたいからです。 しかし、例えば空中を落下する火花のように火花を長く継続させたいのであれば、より現実的な表現ができる Ballistic を選択すると良いでしょう。 この欠点は、 Ballistic パスはフレーム毎に生成されるので遅くなってしまうことです。その代わり、分裂の軌道が重力の影響を受けることで落下する火花がより垂れ下がってリアルなルックを得ることができます。