日々適当

hibitekitou

Clone Point の Strand

xsi |2013-05-05
Clone Pointノードはソースとなるポイントの複製を作成するノードです。つまり、Strandが設定されたポイントがソースの場合、Strandも複製されます。
それじゃ、例えば下図のようなツリーを組んだ場合を考えます。



Add Pointで 原点に発生させたポイントに Create Strands コンパウンドを使ってStrandを発生させます。それをソースにクローンポイントを作ります。
複製されたポイントを例えば別の位置に持っていきたいとかする場合は、複製された直後、Clone PointノードのOn Creationポートで複製されたポイントの各属性をオーバーライドしておきます。
んで、とりあえず、複製されたポイントの位置を、複製元のポイントのStrandPositionのうちの一点に指定しています(3番目の要素の値を指定)。

さて、こうした時、複製されたポイントも当然Strandを持っているわけですが、そいつのStrandPositionはどんな値を持っているでしょうか。



数値を表示していますけど、この数値は複製されたポイントの持つStrandPositionです。複製元のStrandPositionと全く同じ値を示しています。しかして、PointPositionは複製元のStrandPositionの3番目の要素で、この場合、(0, 3, 0)の位置になります。つまり、複製されたポイントのStrandは、(0, 3, 0)から引かれはじめ、いったん(0, 1, 0)まで下って(0, 2, 0), (0, 3, 0) ..と上っていくような線が引かれることになります。

要するに何を言いたいかといいますと、Strandを使って枝分かれしたような構造を作成する際、Clone PointでStrand付きのポイントを複製して作ろうとするなら、StrandPositionの値をオーバーライドしてやらないと、多くの場合,上手くつくれないわけですよ。とても面倒くさい。面倒くさいけど、この辺の面度を見てやることで、何となく樹っぽい構造をつくってみております。



何となくそれっぽくなってきたけど、まだまだいろいろケアしてやらないといけない要素がありそうですな。

コメント ( 0 )|Trackback ( )
  ・