[3dsmax] エフェクト

[3dsmax][パーティクルフロー]パーティクルを部分的に削除する方法

完成したパーティクルフローを、動きはそのままで、一部分だけ削除したい場合があります。部分削除の方法はいくつかあるので、それをまとめていきます。

4番目がおススメ

方法① 選択削除
不要なパーティクルをビューポート上で選択して削除、というよりは非表示にすることができます。
方法としては、まずPFソースのタブを開き[パーティクル]を選択します。

するとパーティクル選択モードになるので、消したいパーティクルを範囲選択しましょう。
選択するとビュー上ではジオメトリが消えますが、レンダリングすると、パーティクルがまだ残っているのが分かります。
完全に消すためには↓イベントに[削除]オペレータを追加し、設定を「選択されたパーティクルのみ」にします。

これで完全にパーティクルが消えるはずです。
一番シンプルにパーティクルを消すことができますが、ふとした弾みで選択解除をしてしまうこともあります。細かい削除調整が台無しになることがあるので、大雑把に消したい場合や、時間がない場合におススメの方法です。

②IDによる削除
より細かな削除調整がしたい場合は、IDによる削除がおススメです。
パーティクルの1粒1粒にはIDが割り当てられているので、その情報を元に削除を行います。

まずはパーティクルのID情報を見られるようにしましょう。
[表示]オペレータの[パーティクルIDを表示]をONにすることで、パーティクル一粒一粒にIDが表示されます。

次にIDをPFソースの[パーティクルID別に選択]項目を設定します。
IDを定め、追加ボタンを押すと指定IDのパーティクルが選択されます。
追加を繰り返し、消したいパーティクルを全て選択しましょう。
除去ボタンを押すと選択が解除されます。

・選択を全てクリアしたいときには、[選択をクリア]をONにして追加ボタンを押しましょう。

後は①と同様に[削除]オペレータを設定すれば、削除完了です。
この方法ではより精密な削除が可能ですが、一度消したパーティクルをやっぱり表示したい時などには困りますね・・・・。メモが必要です。
スクリプトでリスト化できれば捗りそう。

③データオペレータで削除する
[データオペレータ]もしくは[データアイコン]を使用するテクニカルな消し方もあります。

こんな感じで組むと指定のIDが消せます↓

簡易版↓

こちらのサイトを参考にさせていただきました。
http://mj31000.blog13.fc2.com/blog-entry-103.html

④スクリプトテストで消す
多分コレが一番堅実な方法ではないかと思います。
[スクリプトテスト]によって指定したIDのパーティクルのみイベントを移動させて削除させる方法です。この方法を使用すると削除だけでなく、任意のパーティクルを自由に操作することが可能です。


1、スクリプト編集画面を開き、on Proceed pCont do の中身を消す
2、下記の構文をon Proceed pCont do に差し込む

list=#(1,62,63)

for i=1 to list.count do(

pCont.particleID=list[i]
pCont.particleTestStatus = true

)

3、list=#(1,62,63)の部分を調整
要はデフォルト状態だとIDが1、62、63のパーティクルのみイベント移動させるので、任意の数値を追加したりしてください。

4、移動先のイベントを調整する

⑤スキャッタで消す
パーティクルをスキャッタでオブジェクト化し、ポリゴン編集でパーティクルを消す方法です。
後戻りはできませんが、素早く直感的に削除ができるはず。
gesomaをフォローする
CGすくいどる

コメント