はじめに
Unity2021.2.0bは2021年06月28現在ベータ版としてリリースされている最新のUnityバージョンで,今回のリリースでいくつかの修正やUIなどにも若干の変更が加わっています.
今回はその中でも,VFX用の新機能であるSDF Bake Toolを使ってみます.
今回解説しないもの
- HDRP環境の構築
- VFXの基本的な使い方
- SDFそのものについての説明
SDF Bake Toolについて
VFXグラフには今までもSDFを利用するためのブロックが用意されていましたが,肝心のSDFについては外部ツールや,有志の作成したUnityアセットを利用して用意する必要がありました.
が,今回のアップデートからついにSDFの生成についても公式で対応されたため特異なことをしない限りはUnity内でフローが完結するようになりました.(嬉しい)
Toolの出し方
SDF Bake ToolはWindow
->Visual Effects
->Utilities
->SDF Bake Tool
からUIを表示できます.
↓ SDF Bake Tool
とりあえずスザンヌのSDFを作る
適宜Blenderでスザンヌをfbxで用意してもらうとして,Mesh
の項目にスザンヌのメッシュを指定します.
そうしたら,一個上にあるFit cube to Mesh
を押します.
上手くいけば↓画像のように指定したメッシュの情報とともにSave SDF
という項目が出現します.
これを押下するとAssetとしての保存先を聞かれるので保存先を指定すれば完了です.(簡単...)
あとは生成したSDFをVFX内で利用するだけです.(↓の画像はトップの方に掲載したスザンヌの画像のものです)
簡単解説
各種項目について
Max resolution
SDFは3Dテクスチャのような形で情報を格納するためXYZそれぞれの解像度の意味を持ちます.値が高ければ高いほど精密なSDFが生成されます.
Box Center
SDFを計算するボックスの位置を決めます.
値を変えるとプレビューでボリュームの位置が変わるのでわかりやすいはず.
例↓
Desired Box Size
SDFを計算するボリュームの大きさを決めます.
Actual Box Size
そもそもいじれないので詳しくは暇があったら
Live Update
Onにすると警告がでる.
リアルタイムでメッシュをベイクすると、解像度やサインパス数が高い場合に、速度低下や不安定性が発生することがあります。
Meshをいじったりする場合にこれがOnだと恐らく自動で同じAssetファイルに焼き直してくれるので使う人はOn
Fit box to Mesh /Fit Cube to Mesh
正方形の形でBakeするかどうかとも取れる.それぞれの事情でお好みに.ちなみにVFXで使う際は基本的にFit Cubeを選択しないとVFXはスケールを0~1でしか扱わないので圧縮された見た目になります.(一応VFX内のConform to SDFでスケール変えれば対策出来る)
Bake Mesh
Saveせずに結果のみ見たい場合はこっちを押す.
Save SDF
計算結果をアセットとして保存する.
プレビュー
プレビュー要素として,地味に嬉しいスライスデータや,SDFそのものが見れる.外製のものを使うと結果がUnityに持っていくまでわからなかったりするので作業が捗る.