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

Поделиться
HTML-код
  • Опубликовано: 24 сен 2024

Комментарии • 45

  • @gennaroscalia8213
    @gennaroscalia8213 22 дня назад

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

  • @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  22 дня назад

      ​@@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?

  • @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!

  • @ThiagoLaranjeiraZerooneBit
    @ThiagoLaranjeiraZerooneBit Год назад +1

    wow just wow! already loved it!

  • @davidjmc1995
    @davidjmc1995 Год назад

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

  • @MuhammadIrfanbinIshak
    @MuhammadIrfanbinIshak Год назад

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

    • @VoxelFX
      @VoxelFX  Год назад +1

      Irfan!!! So good to hear from you

  • @raumafuXF
    @raumafuXF Год назад

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

  • @andrewpol4415
    @andrewpol4415 Год назад

    Thank you a lot, that`s a
    great tutorial

  • @robertoalmeida8191
    @robertoalmeida8191 Год назад

    That's so cool!

  • @muhammadfarhantaqi2357
    @muhammadfarhantaqi2357 Год назад

    Very Very Help Full Thank you very much

  • @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

  • @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

  • @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. :)

  • @matthewwilson2911
    @matthewwilson2911 2 месяца назад

    Can we use Attribute noise instead of VEX?

  • @AkbarAli-ie2uv
    @AkbarAli-ie2uv Год назад

    Very vice dude

  • @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

  • @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 9 месяцев назад

      @@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  9 месяцев назад

      @@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!

  • @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

  • @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.

  • @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

  • @paoloricaldone6273
    @paoloricaldone6273 Год назад

    Thanks, well done. It helps me a lot.