ParticleBlinkScriptの属性とパラメーター
次のパーティクル属性は、ParticleBlinkScriptカーネル内で使用できます。
float3 p_position |
パーティクルの現在の位置。 |
float3 p_initialPosition |
粒子の開始位置。 |
float3 p_lastPosition |
粒子の以前の位置。 |
float3 p_velocity |
粒子の速度。 |
float4 p_color |
粒子の色。 |
float3 p_size |
粒子のサイズ。 |
float4 p_orientation |
粒子の向き。 |
float3 p_rotationAxis |
粒子の回転軸。 |
float p_rotationAngle |
粒子の回転角度。 |
float p_rotationVelocity |
粒子の回転速度。 |
float p_mass |
粒子の質量。 |
float p_life |
粒子の寿命。 |
float p_startTime |
パーティクルの開始時間。 |
すべてのパーティクルアトリビュート配列はシステム内のパーティクルの数のサイズであるため、必要な数だけカーネルに渡すことができ、すべてのパーティクルを同時に反復処理します。これにより、たとえば、速度と位置に応じて粒子の色を変更したり、新しい力を書き込んだりできるカーネルを作成できます。
ParticleBlinkScriptでノブを作成する
パラメータはカーネルで宣言することもできます。BlinkScriptノードを使用すると、パラメーターノブが自動的に作成されます。ParticleBlinkScriptノードの動作は異なります。ノブを自動的に作成することの欠点は、特定のパラメーターに対して作成するノブのタイプを選択できないこと、およびスライダーまたはツールチップの範囲を設定できないことです。A float3属性にはColor_knob、またはXYZ_knob。ノブを自動的に生成することは、コントロールパネルのレイアウトを制御できないことも意味します。
ParticleBlinkScriptは代わりにUser Knobsそして、それらの名前をパラメーターに一致させることによってそれらをバインドします。カーネルにfloat4呼び出されたパラメーターpa_color、RGBAカラーのユーザーノブと呼ばれる pa_colorにバインドすることも作成する必要があります float4 パラメータ。
ParticleBlinkScriptメソッドは少し時間がかかる場合がありますが、はるかに制御可能です。
注意: パラメータのユーザーノブを作成しない場合、デフォルト値に設定されます。のCreate Knobsボタンは、まだ持っていないパラメーターのノブを作成します。これらは必要に応じて削除、置換、編集できます。
魔法の属性
カーネルでは、現在のフレームなどのいくつかの追加情報が役立つ場合があります。ParticleBlinkScriptは、属性が特定のマジック名で定義されている場合にこれを提供します。これらは:
float _frame |
現在のフレームNukeレンダリングしています。 |
float _systemTime |
パーティクルシステムの現在の時刻。 |
float _dt |
このフレームの時間差。 |
float _startTime |
タイムステップの始まり。 |
float _endTime |
タイムステップの終了。 |
これらはすべてアンダースコアで始まります_それらを区別するためにp_ カーネル属性。使用する最も一般的なものは_始まる時間、 _終了時間そして _dt。
これらの属性を一緒に使用して、たとえば次のようなさまざまな情報を取得できます。
_systemTime-p_startTime() |
パーティクルの年齢。 |
(_systemTime-p_startTime())/ life() |
寿命の割合としてのパーティクルの年齢。 |
float _dt = max(0.0f、min(_dt、float(_endTime-p_startTime()))); |
力を加えるための正しい時間差。 |
注意: ParticleBlinkScriptノードのカーネルの作成の詳細については、 Nuke開発者ガイド。
画像入力
粒子入力だけでなく、画像を生成するノードに接続できるParticleBlinkScriptノードに画像入力を提供できます。これらは、次で始まる名前で宣言する必要があります画像_、そしてeAccessRandom、それ以外の場合は、パーティクルの反復空間で反復されます。
たとえば、という画像を宣言するimage_textureという新しい入力を作成しますtexture。
追加の画像入力を持つParticleBlinkScriptノードの例
追加の画像入力を使用して、フローマップや高さマップなど、より多くのデータをカーネルに渡すことができます。また、シーン内の位置によって粒子を着色するなど、さまざまな目的に使用できます。
申し訳ありませんが、これは役に立ちませんでした
なぜこれが役に立たなかったのですか? (当てはまるもの全てをご確認ください)
ご意見をいただきありがとうございます。
探しているものが見つからない場合、またはワークフローに関する質問がある場合は、お試しくださいファウンドリサポート。
学習コンテンツを改善する方法についてご意見がある場合は、下のボタンを使用してドキュメントチームにメールを送信してください。
Email Docs Teamフィードバックをお寄せいただきありがとうございます。