Q100457: 単一の書き込みノードを使用して複数のスイッチ入力をレンダリングする方法

まとめ

この記事では、Switch ノードを単一の Write ノードと組み合わせて使用し、 Nukeスクリプト内で異なる結果を出力する方法について説明します。

Switchノードは、様々な入力を交互に切り替えるために使用されます。Writeノードへの入力として使用すると、フレームを使用して個々の入力を呼び出すことで、スクリプトで複数の結果をレンダリングできます。


詳細情報

以下の例に示すように、Switch ノードの「which」ノブで式を使用して、利用可能な各入力のフレームを並べ替えることができます。

このスクリプトは、スクリプトから複数の結果を出力し、一度にレンダリングする場合に便利です。例えば、シーケンス内に3つの画像があまりにも速く表示されているとします。このSwitchノード処理を使用して、画像のフレーム数を増やし、フレームを追加してシーケンスの速度を遅くすることで、シーケンスの速度を変更できます。

例: 

1 つのスイッチで 3 つの入力をそれぞれ 10 フレームでレンダリングします

  1. ノード グラフで、スイッチ ノードを作成します。
  2. 定数ノードを 3 つ追加します。
  3. 以下のように、各ノードの色の値を赤、緑、青に変更します。

  1. ConstantノードをSwitchノードの入力に接続します。これらはそれぞれ(Red - 0、Green - 1、Blue - 2)として接続されているはずです。

  1. スイッチ ノードをダブルクリックして、プロパティビンを開きます。
  2. 「which」ノブを右クリックして選択 表現を追加します
  3. 式フィールドに次のコードを追加し、[OK] を押して確定します: root.frame()%30/10



  4. 書き込みノードを追加し、スイッチノードに接続します。
  5. 書き込みノードのプロパティ ビンを開き、指定したディレクトリ内のファイルをレンダリングするためのファイル パスを設定します。
  6. [レンダリング] をクリックして、レンダリング プロンプトを表示します。
  7. フレーム範囲を 0 ~ 29 に設定し、[OK] をクリックしてレンダリングを開始します。
  8. 出力フォルダーを表示し、作成された画像を観察します。

上記のレンダリングでは、次のスクリーンショットに示すように、単一の書き込みノードからそれぞれ 10 フレームの 3 色の出力が生成されます。




追加情報:

  • このプロセスは、複数の入力を一度にレンダリングし、Switchの「which」フィールドの式でフレームをソートするのに使用できます。上記の例では、 root.frame()%30/10という式は、アクセス可能な入力の数に応じて拡張できます。frame frame%30/10という式を使用しても同じ結果が得られます。

  • レンダリングごとに1フレームだけ生成したい場合は、例えばroot.frame()%3 per 3 inputs」のような式を使用します。また、レンダリングごとに3フレーム生成したい場合は、 root.frame()%9/3のような式を使用します

注:%3は、利用可能な入力の最大量に応じて各入力ごとに変化します。 (つまり、 %4は 4 つの入力を使用し、 %5は 5 つの入力を使用します。) 係数として使用されるパーセント記号を含む式の詳細については、以下の「参考資料」セクションを参照してください。


さらに詳しく

スイッチ ノードの詳細情報を表示するには、 スイッチ パラメータのドキュメントをご覧ください。

Nukeでの式の動作について詳しくは、 式に関するこのドキュメントを参照してください。

係数(%)を使った式に関する追加情報は、こちらをご覧ください: Modulo

    私たちはそれを聞いて申し訳ございません

    理由をお聞かせください