H16での Copy SOP


こんにちは、篠島です。この間 Group SOP に対する記事が掲載されてましたね。Copy SOP も同様にノードが増えているので少し解説し、なぜ既存のノードが複数に分かれたのかを説明したいと思います。

 

Tab から Copy SOP を呼び出そうとすると、Group SOP ほどノードが増えているわけではありませんが、Copy and Transform SOP と Copy to Points SOP が増えています。今までの Copy SOP は Copy Stamp SOP という名前になりました。基本的には 今までと同じ機能の Copy Stamp SOP を使えば問題ありません。

 

 

Copy to Points

今までの Copy SOP からのポイントにオブジェクトをコピーするスタンプ機能だけを独立させたものです。

 

Copy and Transform

今までの Copy SOP の同じオブジェクトを複数コピしながらトランスフォームをかける機能を独立させた物です。しかし、Copy SOP で使えていたローカル変数などが使えなくなっています。 なのでコピーの数を表す $CY などは認識されず、エラーになってしまいます。

 

まとめ

何故このように既存のノードが複数のノードに分かれているかというと、Compile SOPによってノード群をコンパイルする時に、特定のSOPはコンパイル不可能なのです。なので、コンパイル可能にするために、機能を独自にもたせたSOPがいくつもできてしまったのです。例えばCompile Blockノード間に使うノードは、コンパイル可能ノードであることや、他にもローカル変数が使えない、コピースタンプの stamp() エクスプレッションが使えない等の制約があります。ネットワークディタを見てみると、今までと同様の機能をもつ Copy Stamp SOP はコンパイル不可能ですが、機能を限定した Copy to Points と Copy and Transform はコンパイル可能ノードなのです。なので、Compile Block 内部で使う場合はこれらの限定されたノードを使う必要がありますが、それ以外のシチュエーションでは使いやすい Copy Stamp SOP を使いましょう。

Group SOP が複数のGroupノードに分割されたのも同じ理由です。 この記事に説明が書いてありますが、opunhide Sop group コマンドで H16以前の Goup SOP を作ってみると、コンパイル不可アイコンがついているのが確認できます。