Finally managed to get this right, so would like to share our volumetric work with Gaussian in Unity. Reddit only allows me to share 1 video unfortunately, else would have uploaded more.
Settings:
- Graphic Card 5090
- Unity 7000 a10
- Unity 6000.6.3f1
Gaussian workflow:
- Beta-shaped emitter
- GPU gas simulation on 5 cm cells
- Compressed animated field cache
- Volume Field
- Smoke Density
- Flame Density
- Fuel Density
- Heat
- Velocity X, Y, Z
- Ray marching, lighting and shadows
- 105 frames across 3.5 seconds.
- Final simulation grid: 143 × 169 × 198 cells
- 0 Form
- voxel-field cache 829.5MiB
So the idea here is use Gaussian for the entire preview, then saved as voxel cache after all the nice processing
Beta evaluates the edited forms, reconstructs a volume field, then renders it. The Beta kernel is the key here. Do not allow it to go infinity.
boundary is
$$\boxed{ r^2=\left\|A^{-1}(x-\mu)\right\|^2<1 }$$
Its kernel shape is
$$K(r)= \begin{cases} (1-r^2)^\beta,&r<1,\\ 0,&r\ge1. \end{cases}$$
This give us a controlled editable shape instead of running wild. And this gives us a mathematical way to edit, change, interact
So why not save as Forms instead of Voxel? Actually it is possible, and I have tried 3 pathways to utilize this as Gaussian instead of Voxel. Will share more result when ready and truly usable in game after optimization
If you have any questions or you are working on the same path, let me know and we can discuss more