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

フォローする

まとめ

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

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


詳しくは

以下の例に示すように、Switch ノードの「what」ノブでエクスプレッションを使用して、利用可能な入力ごとにフレームを並べ替えることができます。

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

例: 

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

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

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

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



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

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




その他の注意事項:

  • このプロセスを使用すると、複数の入力を一度にレンダリングし、スイッチの「どの」フィールドの式によってフレームを並べ替えることができます。上記の例から、 root.frame()%30/10の式は、アクセス可能な入力の数に応じて拡張できます。式frame%30/10を使用しても、同じ結果を得ることができます。

  • レンダリングごとに 1 フレームだけが必要な場合は、 root.frame()%3 per 3 inputs のような式を使用します。さらに、レンダリングごとに 3 フレームが必要な場合は、式root.frame()%9/3を使用できます

注:%3は、使用可能な入力の最大量を基準にして入力ごとに変化します。 (つまり、 %4 4 つの入力を使用し、 %5 5 つの入力を使用するなど) モジュラス計算として使用されるパーセント記号を使用した式の詳細については、以下の参考資料セクションを参照してください。


参考文献

スイッチ ノードの詳細については、 スイッチ パラメータのドキュメントを参照してください。

Nukeで式がどのように機能するかについては、 式に関するこのドキュメントを参照してください。

モジュラス計算 (%) を使用した式に関する追加情報は、ここで参照できます: https://en.wikipedia.org/wiki/Modulo_operation

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

    理由をお聞かせください