AWS Thinkbox Discussion Forums

Mesh relaxation

Hi,

I just installed Frost beta, and I’m trying to make some tests. 1st thing I can say about it, is that it is really really fast on my Core i7 980X…amazing.

Actually I was thinking about a feature request, or maybe it is possible to do it with actual beta and I didn’t found a way to do it…I’m talking about a feature similar to Realflow mesh filtering and relaxation as you can see following this link : tutorials.realflow.com/-218.html

It will be really useful to simulate a more natural liquid look…

What do you think about it ?

Regards,
Alessandro

Did you read the Frequently Asked Questions? :mrgreen:
viewtopic.php?f=67&t=4440

As Bobo said, currently we do not have such filtering.

However, it is important that you can get the look you want for fluid meshes. If you can’t do this using built-in modifiers, or if there is some problem (is it too slow or too awkward?), then I would like to add this. Please let us know.

While any mesh operation (like a relax or whatever else we can come up with) would be best as another modifier for caching reasons, having access to data from Frost COULD be potentially useful. This could be manifest as vertex channels or a 3D map, but I may be overlooking some other options.

It is possible to cache various stages of data within an object or modifier. I know because I’ve done it. But this would only be useful if the relaxing or filtering needed different data than what the iderivedobject receives. And the internal caching would mostly be useful for interactively changing a setting in the filter without regenerating the levelset or whatever internal data structure is used.

B.

Are you thinking of a modifier or a material that can sample particle channels? This is on our wish list, but it won’t be in the first release. We’d definitely need to cache some internal data to make this practical.

Correct, you’d want the surface, after the relaxation, to be a good fit from the particles, so you would need data from that. Per vertex, however, would probably be fine.

hmm,
Relax modifier is really fast. But it just relaxes mesh. It does not consider position of particles. Therefore it often shows unnatural form. May be it look like spiky.
I wish inside shrinking and relaxing feature by partile velume wait or density for natural looking. Especially such as water fluid particles.

For sure… I’m interested in feedback and criticism about Frost’s fluid meshing so we can find ways to improve it. A screenshot (and ideally a frame of particle data) that shows a problem would be very helpful. A special relax modifier that considers the particles could be useful, but I think we’ll need to learn more about the problem before we can solve it.

If you are trying to make a fluid mesh, I suggest you try different meshing modes, especially Zhu/Bridson and Anisotropic. These modes reduce the “lumps” shown in that RealFlow tutorial. Then, because you’re starting with a smoother mesh, you don’t need to relax it so much. In-house I think we often used no relax at all.

Actually, I coded Zhu/Bridson particles masher plugin few years ago. That is in-house.(It is much slower and need a lot of memory than yours!! LOL)
But it have not good result for water fluid without filter that especially on low res particles and grid.
I also use relax modifier for filter, but sometime it does not bring a good result.

However, Anisotropic is very good!! It may not need filters!
I’m tring to test it right now!

Please let us know how it works! I think it could use some improvements, and any feedback will help.

The Anisotropic method is quite interesting indeed. I like the results I’m getting for thin flows, but the “Min Neighbors for Stretching” is making popping as the particles go above/below the threshold. Not sure what can be done about that other than reading those parameters from the particles themselves (and using Box#3 or whatnot to have them blend out over time).

The resulting surface still needs some mesh relaxation to fix some topological issues. And the result of the relax no longer fits the same surface.

I’m guessing that you see large “unstretched” particles pop up next to flattened regions? Would you happen to have a good pair of images that shows this popping?

I wonder if we can blend the stretching instead of making “Min Neighbors…” a hard cutoff. Or if the only problem is that the unstretched particles are too large, then we could make the stretched and unstretched regions closer in size.

Is the topological issue something like skinny triangles? Or something else?

Yeah, one particle on the edge gets too few neighbors and turns into a big lump.

Actually, can you use density instead of number of neighbors? So it would be smoothly transition? Or am I not understanding what it is doing?

Yeah, skinny triangles, grid aligned edges, incorrect normals. Typical stuff, really.

I’ll take a look at this problem. Currently we count the number of particles inside a search radius. If there are at least “Min Neighbors for Stretching” particles it will stretch, otherwise it will not stretch at all. (The search radius is 2 * the particle radius.)

Right. I’d like to improve this at the meshing level – I’ll put this on the wish list.

It seems there are two different needs here: some people want to flatten a lumpy mesh (moving the mesh surface) while others want to improve the triangle quality (keeping the mesh surface fixed)?

Sorta. :slight_smile:

There are people who want to smooth out lumps AND improve the triangle quality (ala Realflow or pWrapper), and there are people who only want to improve triangle quality and don’t care what happens to the lumps (ala Relax), and there are people who want to improve triangle quality while preserving the lumps (ala SOL).

As Bobo says, the Relax modifier is very nice to have in the stack, so perhaps a modifier might be a good idea to have for people who do want to smooth out lumps, but maybe we need to have some per-vertex data saved by Frost so that a Relax-like modifier could modify the meshing while still preserving the surface. It’s a possible solution.

  • Chad

Alright, thanks. (What does SOL mean here?)

%*#! out of luck

Hah, right :stuck_out_tongue:

Privacy | Site terms | Cookie preferences