Visual Effect で複雑な形状を表現する
Visual Effect Graph では、様々な Node を使ってカスタムのパーティクル動作を作成できます。ただし、数学関数のみを使って複雑な形状を作成することに困難に感じる場合があるでしょう。この問題を解決するため、Visual Effect Graph は Signed Distance Field (符号付き距離フィールド、SDF) およびビジュアルエフェクト内の Point Cache をサポートしています。
Signed Distance Field
Signed Distance Field (SDF) は、メッシュジオメトリの 3D テクスチャ表現です。ジオメトリを表現するために、各テクセルはメッシュのサーフェスに最も近い距離値を格納します。慣例により、この距離はメッシュ内では負、メッシュ外では正になります。メッシュのこのテクスチャ表現では、サーフェス上の任意の地点、ジオメトリ境界内、または所定の距離にパーティクルを配置できます。
極細かいメッシュには、よりメモリを必要とする高いテクスチャ解像度が必要です。SDF からランダムな位置を計算するには、Point Cache よりもリソース負荷が多くかかります。ただし、SDF は Point Cache より多くの目的を達成でき、Visual Effect は SDF を使ってパーティクルを配置したり、パーティクルを特定の形状に構成したり、またはパーティクルに衝突させたりできます。
詳細は、Signed Distance Field を参照してください。
この gif では、異なる 3D テクスチャ解像度が、どのように SDF の精密性に影響するか、さらに SDF 表現が元のジオメトリと比べてどのように表されるかも示しています。
Point Cache
Point Cache は、点、位置、法線、そして色を含む、パーティクルの属性データの固定リストを格納するアセットです。パーティクルの位置と属性は直接アセットにベイクされるため、Point Cache は SDF よりもはるかにリソース負荷が少なくなります。ベイキング処理中、追加フィルタリングが点をリラックスさせます。ポイント緩和とは、点をより均等に散布してオーバーラップ数を減少させるプロセスです。
Point Cache を使うと、3D メッシュまたは 2D テクスチャから生成された点のリストを表現できますが、実際のジオメトリは表現できません。点属性はアセットにベイクされるため、幅広い種類の点を使いたければ、ベイキング処理中にもっと追加する必要があります。詳細は、Point Cache を参照してください。
この gif は、Point Cache のリラックスポイントが、どのようにより均等な間隔で表現されるかを示しています。