Underwater Bubbles | POP simulation - Houdini 19.5 (or any above 17)

Поділитися
Вставка
  • Опубліковано 28 вер 2024

КОМЕНТАРІ • 45

  • @gennaroscalia8213
    @gennaroscalia8213 27 днів тому

    I just discovered your channel and I wanted to thank you because the tuts are really clear, straightforward and easy to follow 👏

  • @felixheprijuniar7615
    @felixheprijuniar7615 Рік тому

    finallyyyy, welcome backkk voxelll, hope there will be a lot of tutorial from youuu

  • @rennightmare
    @rennightmare Рік тому

    definetely gonna stick up to your vids while learning houdini, big thanks for the content!

  • @davidjmc1995
    @davidjmc1995 Рік тому

    As always, very well organized and very helpful to me, looking forward to your next tutorial!

  • @ThiagoLaranjeiraZerooneBit
    @ThiagoLaranjeiraZerooneBit Рік тому +1

    wow just wow! already loved it!

  • @KonstantinPromokhov-p3n
    @KonstantinPromokhov-p3n Рік тому +7

    The results of the simulation with parameters tuned as they are look very good given how quickly they can be generated with POPs. But one error has crept into your VEX code. fit01() expects input value ranging from 0 to 1. So if you plug @id into expression like "float value = fit01(@id,1,100)" the resulting value will be 1 for particle with @id = 0 and will be 100 for the rest of the particles. And after that you get the rand of "value" that in turn produces float numbers from 0 to 1. So for example your airresist multiplier changes not from 1 to 100 but rather from 0 to 1 as a result. If you want to randomize something based on particle @id and have the result within a certain range you better use one liner like "airesist *=fit01(rand(@id),5,10)". And finally just to verify that you can add POPWrangler for group "just born" ( that you need to specify in the POPSource node) with expression like "f@bla = fit01(rand(@id),1,3)". That will add another attribute called "bla" to your particle object. Now you can look in Geometry Spreadsheet for attribute called "bla" on "Geometry" data for your pop object and see that its value is really ranging from 1 to 3. After all those changes it would take some time to re-tune parameters of your sim to look as beautiful as they were originally.

    • @黄锦程-w1o
      @黄锦程-w1o Рік тому +1

      yes,this is the correct.

    • @JasonRamanah
      @JasonRamanah Місяць тому

      came here to mention this, but just found you beat me to it! (im very late to discovering these excellent tutorials) your write up of the error and solution is excellent and I couldn't of written it better. crazy how such a small detail can have such a big impact, especially when the results of the original setup do so well at disguising the error!

    • @VoxelFX
      @VoxelFX  26 днів тому

      ​@@KonstantinPromokhov-p3n thank you for such a great explanation. You're completely right, I've missed the point and didn't find the issue until recently. Would love your insight on other tuts too :D
      I must admit that the SideFX explanation to fit01 "Fits a value to the 0-1 range." got me a bit confused. It's more like "fits a 0-1 value to the new range"? Do I understand correctly?

  • @raumafuXF
    @raumafuXF Рік тому

    Great tutorial :) I hope to see more videos from you :)

  • @muhammadfarhantaqi2357
    @muhammadfarhantaqi2357 Рік тому

    Very Very Help Full Thank you very much

  • @mdp7193
    @mdp7193 Рік тому

    Hi! Amazing tutorial as always :) I was wondering if there was a way to make the bubbles that are closer to the emitter bigger? Or, as you mentioned in the description, should I be using Pyro for that? I yet have to get used to all those parameters, wondering if there is a POP parameter that could be used for it.

    • @VoxelFX
      @VoxelFX  Рік тому

      It'd be extremely difficult to make entirely in the POP simulation. Because there's no parameter that controls it.
      So it's better to run a pyro simulation, then turn the smoke to VDBs and mesh together with the particles.
      As an alternative, we can always use full FLIP simulation, but that'd be heavier than POPs. :)

  • @ComedicRick
    @ComedicRick Рік тому

    I'm quite confused by the airresist vexpression, how does fitting the seed value create the desired result? Surely the output of the rand function would still be between 0 and 1, wouldn't it make more sense to fit that output?

    • @VoxelFX
      @VoxelFX  Рік тому

      I'm glad you asked! You're right that the rand expression returns the value between range (0,1), but it'll be based on the seed provided with the fit01. So it's all about controllability of the values and clamping the id values outside the fit01 range.
      But of course you can fit the output, it'll also make sense and allow you to control the values more directly, so feel free to do that :) You'll be able to get the same results, just the values will be different.

    • @VoxelFX
      @VoxelFX  Рік тому

      Hey ComedicRick, I just realised which section you're referring to (did I mention I'm a bit rusty coming back to YT? :P). You're totally right, I made a mistake in the struggle to record everything in one take haha It'd be much better to fit the whole value too! I'll add a note there, thanks for spotting :D

  • @Nileina
    @Nileina 10 місяців тому

    is it possible to have the same tuto but using smoke / volume ?

    • @VoxelFX
      @VoxelFX  10 місяців тому +1

      I'll add it to my list, but I think it's better if I use the pyro technique for something else and then you can apply it to this effect :) it'll be more versatile
      But, in a nutshell, you can make a simple pyro billowy smoke for these bigger air bubbles (emitted from the same geo as the particles) and then mesh it together with the particles from the tutorial.

  • @timoleong6786
    @timoleong6786 Рік тому

    Hello Vicky. Thank you for the tutorial! I am new in houdini and I have a question. If I have let's say a sphere, and the particles are entering the sphere how can I slow them down when touching the sufrace of the shpere and then kill them, as they touch the surface again on they way up through to buoyancy?

    • @VoxelFX
      @VoxelFX  Рік тому

      Hi Timoleon G, I'm not sure I understand correctly, can you confirm?
      The bubbles are emitted at the bottom of the water container, next they go up and go inside a sphere and collide with it. When they touch the surface of the sphere (or half sphere, because it needs to be opened on one end) they die.
      Is that correct?

    • @timoleong6786
      @timoleong6786 Рік тому

      @@VoxelFX Thank for the response Vicky. To expain better my project: I have a grid that emits rain like particles and I have a sphere under this grid like a collision object. I want same paricles when they hit the surface of this sphere and go inside to start producing your effect, but as the particles start rising because of the buoyancy effect and touch the surface of the sphere again to disappear.

    • @VoxelFX
      @VoxelFX  Рік тому

      ​@@timoleong6786 I see what you mean now. The best way to do it is always to split the project into smaller parts - rain & bubbles.
      So, the first one would be the rain simulation. In the rain POP solver you can switch on the "collider group" so you know which particles hit the sphere. You can also use the hit attributes to know when they hit it. I would use the "stick" option in the POP solver/Collision Behavior/Response = stick
      The second part would be using the particles that hit the surface as the source for the new POP simulation. You can blast all the particles outside the "collider group" and use them as the emission for the bubbles. Now, the tricky part is to make them emit only for one frame. It'll be difficult to explain briefly, but you can use VOPs to assign an attribute to each particle that gives it a number for each frame it is present (alive). Then, you can blast all particles that have a number higher than 1.
      And lastly, to make the bubbles disappear when they hit the sphere, you can use the "die" option under POP solver/Collision Behavior/Response = die
      Let me know if it makes sense :D

    • @timoleong6786
      @timoleong6786 Рік тому

      @@VoxelFX Thank for your trouble, so match Vicky! By doing a personal project I am leaning a lot faster. I will send you my motion graphic when it is done.

    • @VoxelFX
      @VoxelFX  Рік тому

      @@timoleong6786 I'd love that! Please share when it's ready :D

  • @matthewwilson2911
    @matthewwilson2911 2 місяці тому

    Can we use Attribute noise instead of VEX?

  • @3dforever717
    @3dforever717 Рік тому +1

    This effect is really nice! 👍 But for the render, why did you used Mantra?? And not KarmaXPU or Redshift, or any other FAST renderer? 🤔Because with Mantra is nice but you need too much CPU power... 😱

    • @VoxelFX
      @VoxelFX  Рік тому +3

      Thanks 3D Forever!
      Most beginner artists use Mantra, so that's the main reason, I wanted to make the tutorial as straightforward as possible. Also, if I wanted to render it fast and nice, I'd probably use Katana haha :D

    • @3dforever717
      @3dforever717 Рік тому

      @@VoxelFX Ok I understand that, thanks for the answer!

    • @Helios.vfx.
      @Helios.vfx. Рік тому

      ​@@VoxelFX thank you for using mantra. Asbeginner. I cannot afford redshift

  • @andrewpol4415
    @andrewpol4415 Рік тому

    Thank you a lot, that`s a
    great tutorial

  • @paoloricaldone6273
    @paoloricaldone6273 Рік тому

    Thanks, well done. It helps me a lot.

  • @Helios.vfx.
    @Helios.vfx. Рік тому

    Haven't watched it now, going to my non cg related work. But gave its respective like. Gonna enjoy it so much tonight. Do you have ig to follow you ?

    • @VoxelFX
      @VoxelFX  Рік тому

      Thanks Jhonatan, I hope you will ^^
      No, I don't :/ yet... But I'll probably have to at some point haha

  • @MuhammadIrfanbinIshak
    @MuhammadIrfanbinIshak Рік тому

    Thanks for the tutorial. Hello from your former classmate....good job Viki

    • @VoxelFX
      @VoxelFX  Рік тому +1

      Irfan!!! So good to hear from you

  • @AkbarAli-ie2uv
    @AkbarAli-ie2uv Рік тому

    Very vice dude

  • @robertoalmeida8191
    @robertoalmeida8191 Рік тому

    That's so cool!

  • @StephaneSOUBIRAN
    @StephaneSOUBIRAN Рік тому

    Thank you !!! any hip available please ?

    • @VoxelFX
      @VoxelFX  Рік тому +2

      Yes, thanks for reminding, it's in the description now too: drive.google.com/drive/folders/1ym2Rz-mbPa5J5ReNGfeRcidLh6JJpWni?usp=sharing

  • @madmodder
    @madmodder 10 місяців тому

    for some reason as soon as I add the pop fluid node, I no longer see any particles. Freezing or removing the node puts it back to where its working gain.

    • @VoxelFX
      @VoxelFX  10 місяців тому +1

      Are you sure you're plugging in the node in the right place?

    • @madmodder
      @madmodder 10 місяців тому

      @@VoxelFX Yeah in your example you wired all the forces in a line, the only way that got it to work for me was to take my source, then my forces, then the pop fluid and wire them side by side with a merge node. Odd, still not sure why but it worked.

    • @VoxelFX
      @VoxelFX  10 місяців тому

      @@madmodder I'd need to see the scene to tell you exactly why it happens :/ But your approach is correct too, it's fine to merge the nodes and plug in the merge straight into the sim network :) Well done on finding a solution!