2012年9月23日日曜日

TPでLightTrailを作ってみた。


TP TrailSystem the latest version from notchmen on Vimeo.


先々週から、TPでLightTrailSystemを作ってきたのがとりあえず完成しました。
一応完成はしたものの、やはり、TPはカラー周りの設定が弱い印象がします。
なんとか完成した感じで、このシステムではEmitterがStdShape限定になってしまいました。
つまり、EmitterがGeometryShapeになるとお手上げで、EmitterがStdShapeのSphere,Boxに限定されます。※Facingも使えないです。
こういった、何かを表現するためには何かしらの犠牲が必要になってくるのがTPでカラー調整をするときの印象です。
ですが今回の目的は、Emitterの形はSphereで問題ないので良しとしました。


こういった問題はあるものの、やはり表現力はKyTrailの上を行くと思うのでKyTrailでできないときはTPで仕込むのも良いかなと思います。
KyTrailのほうが設定は簡単ですが、一回システム組めば、TPのほうが幸せになるでしょう。
又、有料のKyTrail Proのほうを触ったことがないので、もしかしたら完成動画のようなLightTrailを作れるのかもしれないです。

さて、TPの中身のほうを簡単に記述します。
今回、三つのLightTrailのバージョンを作りました。前のバージョンはvimeoにUPしてます。
はじめの二つは、カラー表現はMaterialTimeノード、シェイプはStdShapeのFacingを使用しました。
最新バージョンでは、カラー表現にH TexmapColor、シェイプはStdShapeのSphereを使用しています。
これら二つの大きな違いは、光跡を色変化させるか先端のエミッターを色変化させるかです。後者のほうが現実的??なので、後者のほうにシステムをシフトしました。
結果、後者のほうがシステムがシンプルになりました。
レンダ時間も縮まりました。重いところで、GI込みで1フレ30秒くらいです。

後、以前にも述べたと思いますがMaterialTimeの不安定さはTP5になっても変わっていないようです。トラックビュー開いてレンダリングするとクラッシュします。組み方が悪いのかな~。。

さて、次は花火でも作ろうかな。





2012年9月18日火曜日

TPのGeometryHelperメモ

TP5の新機能のヘルパーノードで、GeometryHelperというのが追加されました。
気になっていたので、どんなことができるのかな~と思いつつ探ってみてみました。

新しくpointデータというものが扱えるらしいです。
pointデータに関しては、memlogさんの記事で、触れられていました。
memlogさんの記事のpointデータと違う意味だったらすみません。
その辺もわかっていないです。
自分はまだ、「pointって頂点じゃないの!?」ってレベルですのでpointデータをあれこれ触るのは早いようですw
ですが、 pointデータ扱えるようになったら幸せになれる予感はします^^
とりあえず下に、 GeometryHelperのノード簡単にまとめてみました~。
output値をみればジオメトリから何を取得することができるのか大体かわかると思います。

ちょっと、まだ情報不足すぎて何も言えないです。




TIPSメモ
・頂点のベロシティが取得できる

2012年9月9日日曜日

TPのHFragmenterノードについて

検証しながらのメモですので、間違ってることあるかもしれません。


はじめに、HfragmenterはGeneratorの部類と考えると良いと思います。
Hfragmenterは、ピックしたオブジェクトの要素を要素を管理することができるようです。

マニュアルでは、構造物を作る際におススメと書かれているっぽい。
では、実際にHfragmenterをいじってみる。

①4つの要素からなるティーポットを解体してみる。

図①

これだけでは、何もおこらない。パーティクル化されるわけでもなく解体されるわけでもない。
このノードは、TP_HFragmenterをオブジェクトに割り当てて設定していなければ話にならないらしい。

図②

パーティクルシェイプ化はされたが、まだ解体はされていない。
これは、各要素をグループにアサインすることで解体されるようだ。

図③


画像では、HFragmenterモディファイヤ上でエレメントごとにグループを作成するやり方を示している。名前は、各々でつけている。グループ作成は 図③のように自動で作成してくれているが、各要素を個別に手動で作成もできる。
実質、これでティーポットの解体はできる。わかりにくいのでTP上でパーティクルの色分け(グループ分け)を行っている。注意するのが、グループをモディファイヤ上でアサインしたからといって、TP上でのグループ分けはされていないということ。パーティクルのグループ分けは別に必要である。

これで、各オブジェクトの要素をパーティクルシェイプ化し、解体できた。

②TPcollapseを使用してみる

では、モデルの要素からグループを自動に生成(名前付けは手動)してくれたのに対して、TPcollapseでは、モデルの階層構造からグループを自動生成してくれる。名前も自動生成。
注意点として、一番親に TPcollapseをかけるようにすること。TPcollapseはUtilityにあります。
図④





まとめると、HFragmenterは、
オブジェクトの要素を解体し、パーティクルシェイプ化する。
そのパーティクルシェイプをTP上でグループ分けすることができる。
各要素をjointでつなげたりもできる。
これといった使いどころがまだ不鮮明なので、解かり次第更新したい。

●メモ
jointを扱う場合、モディファイヤスタックからjointレベルに入り手動で配置するw

●使いにくい点
・所々でCtrl+Zが利かない。
・モディファイヤからグループ登録ができない。
・TP上でグループ登録するときにパラメーターが表示されない場合がある。TPプロパティを再起動すれば大丈夫。
・Group Asignで複数処理ができない。(例えば、一括で要素のmassを変えたい場合など)
・jointをプロシージャルに扱えない


2012年9月8日土曜日

TPのFragmentノードについて

Fragmentノードは、基本、オブジェクトをポリゴン単位で解体してくれるノードであることがわかった。

図①
















図①を見ればわかるように、決して、新しいトポロジを作って分割はしてくれない。

※ちなみに厚みがあるのは、 FragmentノードのFragmentShapeパラメーターで設定しているため。元には厚みはない。

よって、ブーリアン分割やボロノイ分割ではなく、ポリゴン解体と思っておいたほうが良い。
だが、最後に例外①として下記に例外を記している。

まず、このノードの使い道を記してみた。

①rayfireなどでオブジェクトを分割する。
②それらを一つにアタッチする。
③そのオブジェクトをTP側にパーティクルシェイプとしてアサインする。
④Fragmentノードを割り当て、ポリゴンを解体する。
⑤各破片がパーティクルシェイプとして扱えるようになる。 


※追記 2013/08/15
fragmentノードを使用して変化がない場合はThresholdをさげる

次に、Fragmentノードの解体するためのパラメーターを見てみる














 図②













ここで、一番最初に述べた例外をみてみる。
パラメーターのCountを指定するときは、現在のポリゴンから新たに三角メッシュを作っている模様である。 なので、ここではオブジェクトを解体というより分割といっていいのかもしれない。

例外①






















まとめとして、
Fragmentノードはポリゴンの解体を目的とするノードだということを覚えておくと良い。

追記2012/09/09
設定によっては要素も解体できるように見せることができるので、ポリゴンの解体だけを目的にするのではない。要素を解体するのにも使うと良いだろう。


※追記 2013/08/15
要素を解体するには、countを1にするかsmooth and distanceを180にするか。

fragmentノードは、現在の要素からさらにポリゴン面ごとに分割するということを趣旨にしているためか、わかりづらい。。



2012年9月7日金曜日

FumeFXで核爆発を検証してみた②


Fumefx NuclearExplosion v002 from notchmen on Vimeo.


ディテールアップと煙の上昇を抑えようとして、解像度上げて、TempertureBupyancyをちょい下げたら、思わぬ結果になった。
きのこ煙が大きく広がりすぎちゃった。コンテナはみだしてる~。
脳内補間失敗っす!!

2012年9月6日木曜日

TPでパーティクルのサイズやベロシティにバリエーションをつけるときの注意

もしかしたら、すごい基礎的なことかもしれない。
ちょっと、下記の動画のような問題にぶち当たって、どうしようか迷ってしまった。
Sizeオペレータ、Velocityオペレーターのvariationを使う場合は注意が必要かもです。
二つともseedをいじることができないので、動画の①のようになってしまいます。
②でRandomオペレータを使って、問題を回避しています。
もしかすると、こうやるのが当たり前だったのかな?それとも他に方法が?




2012年9月2日日曜日

FumeFXで核爆発を検証してみた


Fumefx NuclearExplosion v001 from notchmen on Vimeo.


メモリを24GBに増量した記念に、スケール感のある爆発を制作してみようということで、ここ一週間ちょいほど、がんばってみた。
仕事では、こういうスケール感のある爆発は、なかなか携われないです。
けど、いつか携わりたいという気持ちもあるので準備はしておきたいですね。

ということで、先週は自宅マシンフル稼働でした。
が、、やはり一台はキツイです。
それは、トライ&エラーが必然的に減ることが一番ですかね。
特に、こういったスケールでかめなシーンでは減ると思います。
なぜなら、ローレゾで動き作ってもハイレゾにすると、フルイドの動きや広がり方変わりますよね。
これはローレゾとハイレゾの差が開くほど変化もあると思われます。
だから、ある程度までレゾ上げてやらないと確認にいたりません。
そうするとレゾ上げたら、sim時間がかかります。
結果、トライ&エラーが減るということです。

ちなみにローレゾでwaveletはどう?と思うのですが、フルイドをモクモクするにはwaveletじゃ無理そうです。
この、今回制作した動画の状態でwavelet使っていれば最高の結果になったかもです。残念ながらその分のキャッシュとっていませんでしたorz

トライ&エラーを、いかに多くするかは、やはり良いマシンをたくさん用意することですかね。超ベテラン(シミュ一発で十分っしょw)がいれば、あまりトライ&エラーせずに済みますが。
最低限メモリはいっぱい積ませましょう!!心に余裕ができますw

今回は、マシン一台とあってsimの結果は天への祈りと浅はかな知識、経験便りでしたw
TPはそれらについては、ほぼ皆無だから良いですね。自分の知識=結果となるみたいな感じですし。まあ、何にせよFumeとはまだ長く付き合っていきそうなのでがんばりたいと思います。