Solverノードの使い方


篠島です。Solverノードは理解すると非常に強力なノードですが、イマイチ良くわからない方のために解説してみます。Solverノードは要は毎フレームSolverノード内に含まれるSOPノードを実行します。

 

今回のサンプルファイルです。
Solver1.zip

 

Solverノードの中に入ると予め5つのノードが存在しています。一番重要なのが紫色のPrev_Frameノードです。これはSolverノードが処理した結果を読み込んでいます。残りのInput_1~4ノードはSolverノードに繋げられたInputをそのまま読み込んでいるだけです。

a

 

例えば、BoxにSolverノードをつなぎ、Solver内でTransformによって少し回転するとします。すると、毎フレームPrev_Frameノードにより前回の状態のBoxが読み込まれ、Transformノードが実行されます。結果としてBoxが回転する事になるのです。

solverb

 

別の例を見てみましょう。Fontノードを使ってみます。デフォルトで現在のフレームを表示するようになっています。Solverノードを繋いで結果を表示してみると、Frame: 1 で止まったままです。何故かと言うと、Solverノードがフレーム1 から始まり、その計算結果は「Frame: 1」 という文字列です。フレーム2になって、Solverノードが実行されると、Prev_Frameノードによって前回の計算結果 「Frame: 1 」 を返します。そして 「Frame: 1 」がフレーム2の計算結果になるわけです。なので結果として全てのフレームで 「Frame: 1 」 を表示していることになります。

c