19-05-2022, 10:36 AM
(This post was last modified: 19-05-2022, 10:43 AM by josemendez.)
(19-05-2022, 09:56 AM)Domtav Wrote: "An eulerian approach would be much better suited to this use case, imho."
That is to say ? how do we do this? Do you have examples or do you know of a typical youtube link that explains this in detail? thank you
Very roughly speaking, all physics simulators belong to one of these two categories:
- Eulerian = grid based.
- Lagrangian = particle (or body) based.
Lagrangian fluid simulators -such as Obi- discretize fluid as small bodies (usually particles) that move around. To get a thin stream, you need particles to be very small. Small particles means you need more particles to represent the same volume, and finer temporal resolution to avoid gaps in the stream. Using both high temporal and spatial resolution results in bad performance.
Grid based simulators divide space into static cells, and each cell contains a given amount of fluid. Fluid can flow from a cell to any adjacent cells. Since cells are continuous, this means there can be no spurious gaps in the fluid even if it moves fast or temporal resolution is low. However, you still need fairly high spatial resolution (that is, small cells) to get the stream to be thin.
There's few fully eulerian (grid based) 3D fluid simulators out there, most are either lagrangian or hybrid (particle-in-cell methods). I do work on an eulerian solver, but it's 2D. I don't think it will cover your use case, but just so that you know what a cell-based simulator looks like:
https://assetstore.unity.com/packages/to...tor-203795
Imho, your options are:
A) live with the limitations of a particle-based engine.
B) write your own cell-based solution.
If you decide to go with B, some resources:
https://developer.nvidia.com/gpugems/gpu...lation-gpu
https://github.com/Scrawk/GPU-GEMS-3D-Fluid-Simulation
(19-05-2022, 09:56 AM)Domtav Wrote: By moving (and only that) the files under a single directory to facilitate the export, the behavior to change. It's still ok in runtime mode in the editor but in runtime it's now OK for white ( ??? with strange black point ) and KO for green and red. I have the impression that it increases the transparency effect (when the green flow passes in front of the white area it becomes green again).
Not sure I understood this, do you mean that simply moving the files to a different directory changed rendering behavior? That's strange to say the least. Will try to reproduce this and get back to you, thanks for the repro project!