_581x100.png CGsyomei_583x102.gif 訪問者 無料カウンター ページビュー 無料カウンター

2011年11月24日

(TP Basic)threshold condition nodeの基礎

今回はTPのオペレーションで必須の機能の説明としてthreshold condition nodeの説明をします。threshold condition nodeはパーティクルがもつパーティクルエイジ、サイズ、ベロシティー等の各種パラメーターをインプットから読み取り一定の範囲の値を認識した時にBool値のtrueをそうではない場合にfalseをアウトプットするものです。これによってある程度のパーティクルエイジに達したらパーティクルを次のグループに送って削除とか、ある一定の速度内に収まっているパーティクルのみシェイプを与える等のコントロールが出来るようになります。以下のムービーは簡単なサンプルシーンのものです。



 ちなみにこれら各種ノードの説明はcebasのwikiにヘルプとして載っています。http://www.cebas.com/wikka/wikka.php?wakka=ThresholdCondition これはちょっと分かりづらいので覚えておいてください。場所はcebasのHP→survice & support→cebas wiki1に行き”Shortcuts to Manuals can be found here:”とあるところの”thinkingParticles R4”へ行けばTPのヘルプが見れます。     

 さてthreshold condition nodeの説明です。パーティクルグループからテストしたいパラメーターをvalueインプットへと繋ぐことでthreshold condition nodeがどのパラメーターをチェックするのかを指定できます。条件を満たせばoutアウトプットからtrueまたはfalseの命令がだされることになります。では実際のシーンでみてみましょう。今回のテストシーンは、最初にredグループのパーティクルが発生し、ある条件を満たせばblueのパーティクルグループに変わるというシンプルなものです。今回はパーティクルのsizeを元にコントロールしてみます。Position Bornからサイズが1.0でサイズのバリエーションが100%のパーティクルが発生しています。

ThresholdBasicSize.jpg

 次にロールアウトメニューを見てみます。threshold1とthreshold2がありますが、ここはちょっとややこしいです。threshold1はヘルプには”This value is used as the low end of the threshold range that is tested against.”とあって、この値は一番低い閾値として使われるとあるのですが、例えばthreshold1が0.7、threshold2が0.0の場合と、threshold1が0.0、threshold2が0.7の場合は同じ結果になります。0.7以上の値が入った時にtrueがアウトプットされます。0.0の値がどちらかに入っている場合はそのパラメーターは無視されて他の入力された値以上がtrueとして認識されるようです。ちなみにthreshold1が0.3、threshold2が0.7となっている場合は0.3未満もしくは0.7以上の値が認識されればtrueとなります。その間の0.3〜0.7未満の値が認識された場合はfalesを返します。ちなみにthreshold1が0.7、threshold2が0.3でも同じ結果になります。なのでthreshold1に小さい方の閾値が、threshold2の方に大きい方の閾値が指定されていないといけないかというとそうではないようです。でもぱっと見混乱してしまうのでhreshold1に小さい方の閾値を、threshold2の方に大きい方の閾値を指定するようにした方がいいと思います。

 ちなみになぜこういう風になっているかというと、threshold1,2のインプットにランダムヘルパーノードでランダムな値を指定したとすると、場合によってはthreshold1の方が大きくなったりthreshold2の方が小さくなったりする場面があるからだと思います。

 次にロールアウトメニューのinsideのチェックボックスです。これはthreshold1とthreshold2の値の間に収まった時にtrueを返すようにするチェックボックスです。これもかなり重要ですね。とりあえずthresholdの値の見方は以下の図のようにしておくといいでしょう。

ThresholdBasicCompare.jpg

posted by けゑ at 04:32| Comment(2) | TrackBack(0) | Thinking Particles
この記事へのコメント
いつも参考にしています。
一時期、数値からtrue・falseの返し方が分からずexpressionでなんとかしようとしてましたが、thresholdは非常に有効的ですね。
distanceでもradiusの範囲で同じ事ができる事に気づきました。
ヘルプ読み辛いですよね。ごそっとPDFで配布して戴きたいものです。
Posted by RR at 2011年12月06日 09:55
>RRさんどうもです。thresholdなしではTPいじりようがないくらい重要ですよね。実は自分TPいじりだしてからしばらくはどう使っていいのか分からずに放置していたんですが^^;distanceもに多用な事出来ますね。あくまで距離のみになってしまいますが、特定の用途でかなり使えると思います。特に遠くのGeometry Instanceをローポリに置き換えるLODとかに最適ですね。

ヘルプはまあほんとこういうソフトの宿命ですね^^;これにちょっとした作例が載ってればもっと直感的なのになと思います。
Posted by けゑ at 2011年12月07日 07:31
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/50885101

この記事へのトラックバック