Skip to content
第14回 メッシュ表面からのパーティクル生成

1 / 4 メッシュ表面からのパーティクル生成 ​

このステップの目的

メッシュから生成位置と法線を取得し、パーティクル生成に活用する方法を学びます。

パーティクルの生成位置 ​

VFX Graphでは、パーティクルの生成位置をメッシュ表面から取得できます。
発生範囲をメッシュ表面から得ることで、パーティクルを人物の形、動物の形、建物の形などに沿って配置することができるようになります。
活用することで、例えば以下のような表現が可能になります。

  • 車のボンネットではねる雨粒
  • オーラをまとったモンスター
  • 埃をまとう砂山

メッシュ表面の位置と法線 ​

メッシュは頂点と、それらをつなぐ三角形で構成されています。
メッシュを用いたパーティクル生成では、まずメッシュ上のどの三角形を用いるかが抽選され、その後三角形上の任意の位置が選ばれます。

生成位置は、三角形の面内のランダムな位置から取得されます。
これにより、メッシュ表面全体に粒子を均等に分布させることが可能です。

また、メッシュ状の法線も取得できるため、粒子の向きや初速の方向に活用できます。

メッシュの形状と分布の偏り ​

どのような形状のメッシュも利用できますが、三角形の面積や形状に偏りがある場合、粒子の分布も偏ってしまいます。
例えば大きな三角形と小さな三角形が混在している場合、大きな三角形からの粒子密度は薄く、小さな三角形からの密度は濃くなります。
極端に細長い三角形も、粒子の分布が偏る原因となります。

自然な表現のためには、モデル形状だけでなくメッシュの構造にも配慮が必要になります。

その他の生成場所

メッシュ表面以外にも、パーティクルの生成場所としては以下のような選択肢があります。

  • 頂点:メッシュの頂点に粒子を配置します。
    メッシュ表面での生成よりも計算が軽く済みますが、粒子の分布が規則的になる傾向があります。
  • ボリューム:SDF(Signed Distance Field)を用いた3Dボリューム内に粒子を配置します。
    内部から発生するエフェクトや複雑な形状表現が可能ですが、SDFの再計算が必要になるボリューム変形は負荷が高くなります。

活用例 ​

メッシュ表面からパーティクルを生成すれば、モデルの形を粒子で表現することができます。
ここでさらに、生成位置の法線やテクスチャー情報を活用することで、粒子の向きや色、初速などを制御できます。

毛の表現 ​

表面の位置に細長いポリゴン配置し、法線に沿って立てると、メッシュ表面に毛を生やした表現を実現できます。
実際の毛はより柔軟で、風や動きに応じて揺れますが、ここでは簡略化して一本の毛を一つのパーティクルとして扱い、固定されたポリゴンで表現しています。

単純な毛の実装例単純な毛の実装例

見本は、毛の本数による違いを観察するための構成です。
左はポリゴンのトゲが生えているような不完全な姿ですが、一定の量を超えたあたりから毛皮のような外観が得られるようになります。

毛の太さ、長さ、密度によって印象が変わることに注目してください。

炎上や消滅の表現 ​

表面から粒子を継続的に出し、上向きの力や乱れを加えると、物体に付着した炎や火の粉へ応用できます。
炎の色や透明度の考え方は、前期第05回「炎・煙」を参照してください。

消滅の表現では、ディゾルブで消える境界付近から粒子を出します。
メッシュが消える変化に加えて、表面から粒子が離れる動きによって、形が崩れていく様子を示せます。

左はメッシュのディゾルブのみ、中央は境界の粒子のみ、右は両方を組み合わせた消滅表現左はメッシュのディゾルブのみ、中央は境界の粒子のみ、右は両方を組み合わせた消滅表現

毛もディゾルブも、生成位置の基になるのはメッシュ表面です。

チェックリスト
  • 頂点に置く場合と、三角形の内側に置く場合の違いを説明できる。
  • 表面の位置と法線を、毛と消滅の粒子で何に使うか説明できる。