Jump to content

Curl noise in VOPs and POPs?


pbowmar

Recommended Posts

Hi,

Has anyone had any luck with the Curl Noise VOP and POPs? I'm feeding in a SDF (from bgeo on disk) for the "dist" input and a gradient for the Normal. Doesn't seem to make any difference, the particles just fly everywhere...

I've done P, v and accel as output. Accel seems somewhat better but still not curling or moving around the object.

Cheers,

Peter B

Link to comment
Share on other sites

Hi,

Has anyone had any luck with the Curl Noise VOP and POPs? I'm feeding in a SDF (from bgeo on disk) for the "dist" input and a gradient for the Normal. Doesn't seem to make any difference, the particles just fly everywhere...

I've done P, v and accel as output. Accel seems somewhat better but still not curling or moving around the object.

Cheers,

Peter B

I've done some work with it, but you should know that at the moment the way it handles collisions is not strictly correct, IMO. You can get decent results with it, but it's not truly divergence-free when handling collisions in its current implementation (unless there was a change I missed). I put a post/bug report about it here. I put a very simple implementation of using it to drive particles within that example as well. Might be helpful.

Link to comment
Share on other sites

Cool, thanks for that. I guess I was expecting something different :) I'm back to advecting particles through fluid sim velocity fields which works but is very hard to control. I'm essentially just looking for the distinctive "fluid curl" look as a sweetener element.

Cheers,

Peter B

Link to comment
Share on other sites

Cool, thanks for that. I guess I was expecting something different :) I'm back to advecting particles through fluid sim velocity fields which works but is very hard to control. I'm essentially just looking for the distinctive "fluid curl" look as a sweetener element.

Yeah, generating convincing fluid motion procedurally can be really tricky. The curlNoise VOP is really just using the vector curl of a smooth noise field to generate a divergence-free turbulence field, but that doesn't necessarily looks like fluid motion by itself; it just gives you turbulence with no clumping and no "gutters" in the velocity field. In the original Bridson paper, he procedurally generates potential fields that mimic fluid motion, vortex rings and flows and such, then adds the noise on top as turbulence and takes the curl of the summed potential field. Doable in VEX, but certainly not trivial. He also uses a variant of Perlin Noise called Flow Noise as the potential function, that tries to give the turbulence a more swirling-fluid motion. Houdini's implementation doesn't use FlowNoise, FWIW.

Some recent research seems to focus on adding divergence-free turbulence on top of an existing low resolution fluid sim to boost the apparent resolution of the sim - since the sum of divergence-free vector fields is also divergence-free. You can do this using the CurlNoise VOP to add turbulence to particles being advected by a lo-res fluid sim. The trick is to apply the turbulence in a way that looks like its naturally occurring and evolving. That's what this paper and this thread are about.

Anyway, unnecessarily long way of saying, you're absolutely right CurlNoise by itself is not a magic bullet for convincing procedural fluid motion.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...