LoginSignup
5
4

More than 5 years have passed since last update.

TouchDesigner Group SOPで番号による範囲指定

Last updated at Posted at 2018-10-02

TouchDesignerのSOPにあるGroup SOPのRangeがよくわからなかったのでメモ。
Rangeパラメーターは、SOPのPrimitiveやPointの番号によるグルーピングが可能になります。

Primitiveの場合

Group SOPは単体では機能しません。
その前に何らかのSOPが必要なので、そのSOPとノードを繋ぎます。

今回はBox SOPGroup SOPを繋いでいます。
スクリーンショット 2018-10-02 15.11.37.png

そして上のスクリーンショットではGeometryに番号が付いていますが、Display Optionを表示(SOPをプレビューモードにしてPを押せば出ます)し、Primitive Numbersにチェックを入れると表示されます。
do.png

そして次にパラメータの設定です。
prim.png

1.Entity
PrimitiveのGroupなのでPrimitiveにします。
(デフォルトではPrimitive)

2.Use Number
番号による範囲指定をするためにONにします。
(デフォルトではOFF)

3.Operation
範囲指定のためGroup by Rangeを選択します。
選択肢は下記の3つです。
- Group by Pattern
- Group by Range
- Group by Expression

4.Start / End
StartからEndで指定された範囲のPrimitiveがGroupの対象になります。
Endには下記のようなパラメータが入っていますが、これはデフォルトで入っているものです。
意味としてはこのGroup SOPへの入力0番目のPrimitiveの数となります。

len(me.inputs[0].prims)

今回はBox SOP1つしか繋いでいないのでBox SOPのPrimitiveの数ですね。
Startが0で、EndがPrimitiveの数なので全てのPrimitiveが対象になります。

5.Select_of_
これは何個おきに何個選ぶかを指定します。
この画像では2個おきに1個選ぶことになります。
つまり、このBox SOPで各Primitiveの番号は「0 1 2 3 4 5」と振られています。
2個に1個なので「0 2 4」と偶数が選択されることになります。

Pointの場合

基本は一緒です。
今回はBoxではなくGridにしています。
スクリーンショット 2018-10-02 15.39.29.png

さらにAdd SOPを繋いでいますがGrid SOPがPolygonなので、Add SOPでGeometryを削除してPointだけにしています。
del.png

そしてパラメータです。
points2.png

1.Entity
Pointsに変更します。

2.Start / End
さっきと似ていますが、primsではなくpointsにします。

len(me.inputs[0].points)

より理解を深めるためにStartを10、Endを上記のパラメータから10引いて90としています。
これで10番目から90番目のPointが選択の対象になりました。

さらにSelect_of_を2と5にしてみました。
これは5個おきに2個選択という意味なので、10番目のPointから始めて最初の2個を選択、その後は5個おきに2個ずつ90番目のPointまで選択ということになります。

こういったグルーピングができると、あるGeometryの特定のPrimitiveやPointをTransformなどで動かすことができますね:smiley::raised_hands:

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4