《フィールド》とは何か?(3/3)
www.aixsponza.comによるR20新機能解説動画
パーティクルをフィールドとして使用することが出来る。
目次
シーン準備 14:20~
- 球体ポリゴンオブジェクトと平面ポリゴンオブジェクトを作成。
- 平面オブジェクトからパーティクルが発生し重力で落ち、球体オブジェクトに当たった時に衝突するようにする。
- 以下のようにThinkingParticlesをXPressoで組む。
- 球プリミティブを編集可能に→そうしないとPGravityの[オブジェクト]に指定できない。
- 平面プリミティブを編集可能に→そうしないとPSurfacePositionの[オブジェクト]にに指定できない。
以下は、使用した各ノードの説明。
PGoupノード(TPスタンダード)
パーティクルはグループ単位で管理する。グループは階層(親子関係)にできる。
- パーティクルをグループ(PGoup)に割り当てる
- デフォルトでは、パーティクルはAllグループ(すべてのグループ)←今回はコレ。
- Thinking Particles設定で、確認できる(メニューの[シミュレート>Thinking Particles>Thinking Particles設定])
PSetDataノード(TPスタンダード)
- 特定のグループ(パーティクル)のパラメータを設定するノード。セットしたいデータを入力ポートに追加する。
- 今回は「パーティクル」と「位置」を設定。「パーティクル」にはPBornノードからのパーティクルデータ、「位置」にはPSurfacePositionの位置データをセットアップ。
- PGet Dataノード(パーティクルのデータにアクセルするノード)の逆。
PBornノード(TPジェネレータ)
- PStormノードを簡略化したノード。パーティクルの作成は可能だが、使用できるパラメータはPStormノードより少ない。そのため、例えばパーティクルに位置や速度を与える場合にはPSetDataノードを使って操作する。今回は「位置」を与えている。
- PBornノード単体では、速度パラメータがないためパーティクルはその場にとどまる。PsetDataで速度を与える場合は速度ポートを追加して定義。今回はPGravityでパーティクルに重力を働かせることで動かしている。
- PBronの使用場面:ノード、PVolumePositionノードとの組み合わせ。
P Passノード(TPイニシエータ)
- グループ(パーティクル)を別のノードに渡すことができる。パーティクルグループに適用する効果の選択時に使用するので、よく使う。
- パーティクル(グループ)に対して何か処理をしたい時…グループをP Passノードに割り当て、次にP Passノードの出力ポートの[パーティクル]を別のノード(今回ならPGravityノードとPDeflectorノード)の入力ポートに接続する。
PGravityノード(TP ダイナミック)
パーティクルに対し重力や磁力のような力を働かせることが可能。
- [オブジェクト]←重力の方向を決めるのに必要(オブジェクトをドラッグ&ドロップする。たいていはヌル)
- [タイプ]は「平面」と「球」がある。普通は「平面」。「球」だとオブジェクトに集まるような動きになる。
- [強度]…重力の強さ
- [減衰]…数字をあげるとオブジェクトから遠くなるほど重力は
PDeflector(TPダイナミック)
- パーティクルはポリゴンオブジェクトのサーフェイスに衝突。
- オブジェクトフィールドにオブジェクトをドラッグ&ドロップして使用。あるいは、今回のように入力に「オブジェクト」ポートを追加して、オブジェクトと接続。
PSurfacePositionノード(TPヘルパー)
- PBornノードと組み合わせて使用。オブジェクトのサーフェイスからパーティクルを放出する。
- パラメータの[タイプ]で、ポイントやエッジ、ポリゴンのいずれかを選択可能。
- オブジェクトフィールドにオブジェクトをドラッグ&ドロップして使用。あるいは、今回のように入力に「オブジェクト」ポートを追加して、オブジェクトと接続。
パーティクルをフィールドとして使用 14:50~
- 球体ポリゴンオブジェクトに頂点マップタグを追加(すべてのポイントを選択した状態で、メニューから「選択>頂点ウェイトを記録 ]でウェイトを記録。値を「0%」にする。)
- 頂点マップタグの[基本]タブで[フィールドを使う]にチェックを入れる。[フィールドタブ]が現れる。
- Thinking ParticlesのAllグループをフィールドリストにドラッグ&ドロップする(メニューの[シミュレート>Thinking Particles>Thinking Particles設定]のAllをドラッグ&ドロップ)。
以下のようにパーティクルが球体に衝突した部分がフィールドとして働いている。
- モディファイヤレイヤの「ディケイ」を選択。「ディケイ」は頂点マップに足跡を残し、効果のフィールドエリアの外側に効果がある。