2012年4月4日水曜日

パーティクル選択ツールを作りました。-ThinkingParticle/ParticlFlowSelectionTool-

またまた更新があいてしまいました。
今回は自作ツール「ParticleSelector」および「ParticleFlowSelector」を作りましたので公開します。
機能は単純でパーティクルの選択、オンオフの切り替え、パーティクルビューの表示(TPダイアログの表示)だけです!
見た目もシンプルでコンパクトにしました。

TP用にはすでに「TPtuner」というすばらしいスクリプトが公開されています。
http://www.scriptspot.com/3ds-max/scripts/tp-tuner
これはかなり便利なツールです。
実際こちらのスクリプトを色々参考にさせてもらっています。
今回公開したスクリプトはこのスクリプトの超簡易版です。
「TPtuner」はとっても便利で色々出来るので使い勝手は良いですが、ウインドウが大きく画面の結構な範囲を占めてしまいます。
今回公開したスクリプトはもっとシンプルに使いたい場合に重宝すると思います。


スクリプトはこちらからダウンロードしてください
ParticleSelector.mcr
ParticleFlowSelector.mcr
max2010,2011,2012日本語版検証済です。
※念のため使用の際は十分注意してください。また使用の際何らかの損害を被ったとしても一切の責任を負わないものといたします。ご了承ください。
エラー報告、機能追加の要望などあればお願いいたします。



■「ParticleSelector」はThinkingParticleとParticleFlowに対応しています。
上がTPのリスト、下がPFのリストです。
■「ParticleFlowSelector」はParticleFlowのみの対応です。
ThinkingParticleを使わない場合はこちらをお使いください。
ThinkingParticleが無い場合でも「ParticleSeletor」を使っても問題ないですが、使わないのにTPのリストがあっても邪魔かと…。
逆にTP使う場合、PFlowも使う場合も多いかと思ってTPのみのバージョンは公開しません。


■インストール方法maxScriptを起動からダウンロードしたスクリプトを起動してください。
(普通のマクロスクリプトと同じインストール方法です。)
一見何も起きませんがインストールされています。

■カスタマイズ>ユーザーインターフェイス>ツールバーやショートカットなどに登録してください。
「Imazu Tools」という恥ずかしい名前のカテゴリーになっていますw





 ■リストを左クリックでパーティクルを選択します
※複数選択には対応していません。またTPのリスト、PFのリストを同時選択は出来ません。

 
■リストを右クリックでパーティクルのオンオフを切り替えます。
TPの場合MasterDyamaicのオンオフを切り替え






PFの場合はParticleSouceのオンオフを切り替え 

■リストをダブルクリックでパーティクルビューを開きます。
TPの場合はThinkingParticleDialogを開きます
PFの場合はParticleViewを開きます


■Refleshはリストをリフレッシュします。
パーティクルを削除した場合や追加した場合などリストを更新したいときに使います。

(実はこのリフレッシュが結構手間取りました。
でもその甲斐あってわざわざリフレッシュボタンを押さずともリストを選択したときなどにも更新されるようにしました。
リフレッシュボタンも省こうかとも思いましたが、念のため残しました。)


■Aboutはバージョン情報や簡単なヘルプです。







今後、もし出来れば追加したい機能は…
パーティクルをオフにしたときにリストのパーティクル名をグレーする機能。
パーティクルビューの開閉の切り替え機能をつければとおもっています。
(開くのは出来たのですが閉じるのがわかりませんでした…orz)
単純な気がしますが、そもそもスクリプトのコード(?)に無いような気がします。
もしご存知の方がいましたら教えてください。

以上です。
スクリプトの勉強もやはりこまめにやっていないと駄目ですね…。毎度一からやり直し状態が続いて、出来たと思ったらエラーつぶすのに時間かかったりしています。
スクリプトの勉強は似たようなスクリプトを探して中身を解析して自分のスクリプトに取り込んだりするのが手っ取り早い気がします。 今回もそうして作っています。

スクリプトの中身を見ていただければ、わかる方にはわかると思いますが、雑だったり無理やりな部分も多々あるかと思います。
毎度ながらアドバイスなどありましたらよろしくお願いいたします。