An unusual technique to create cheap fluid VFXs...

Поділитися
Вставка
  • Опубліковано 13 січ 2025
  • Ігри

КОМЕНТАРІ • 44

  • @Rydn
    @Rydn 9 місяців тому +14

    Every video from G-san is a new tool on my backpack that I will never take out even if I never use it.

  • @pebbers7060
    @pebbers7060 9 місяців тому +14

    wake up babe new Ghislain video :)

  • @DavidWKimber
    @DavidWKimber 9 місяців тому +2

    Absolutely fantastic amount of knowledge being imparted here, too much for my smooth brain to catch onto at speed, but I will be dissecting this! Thanks again Ghislain, incredible work.

  • @user-ib1bz4bh3g
    @user-ib1bz4bh3g 9 місяців тому +2

    I remember seeing a technique that used a simulation of liquids to generate the meshes. I once tried to do it Blender (original authors used Houdini) but it was pretty painful, your technique looks much simpler (the mesh generation looks simple, the animation is complex) and yields very nice looking results. Great job :)

    • @ghislaingirardot
      @ghislaingirardot  9 місяців тому

      Thanks! You're probably talking about Simon Trümpler's VFX :) Mine is definitely simpler, but if you're able to use a splash simulation, it'll look better :) It's painful to create tho, especially in Blender, I agree.

  • @Mireneye
    @Mireneye 4 місяці тому

    I was looking into how to do something like this because we have elevators with rope/chain that runs up/down. And I did not like the BP solutions I could come up with. I'm happy you did a deep dive on this!! I appreciate it a lot!
    I had been thinking of basically panning the meshes on the z axis. But I was hoping there'd be some cool magical way to draw the object infinitely and then clip to some bounds. I've learned since that you can do basically just that with raymarching so now I'm totally overengineering this idea. But it.. should be possible using that.

  • @aminizadian
    @aminizadian 9 місяців тому +3

    Your videos are awesome, You're so awesome, thanks for teaching.

  • @a.akhileshhwarxc0753
    @a.akhileshhwarxc0753 7 місяців тому

    Really amazing, is there any possible to make the tutorial for waves and foam for sailing boat, thanks in advance 🐱

  • @Michaentus
    @Michaentus 9 місяців тому

    I usually do a mesh with a moving texture and some particles for these liquid drops, but I want to try this its looks great, cheers!

    • @ghislaingirardot
      @ghislaingirardot  9 місяців тому +1

      A very cool workflow for most VFXs! It's usually how it's done, yep :)

  • @Sav3D
    @Sav3D 9 місяців тому

    Beautiful thanks for sharing this technique

  • @Sweenus987
    @Sweenus987 9 місяців тому +1

    For how "simple" it is, that looks really good 😮 Could you use LODs to go from the top to the bottom to A) improve the vertex count and B) make the top thicker and break up more gradually?

    • @ghislaingirardot
      @ghislaingirardot  9 місяців тому +1

      Hmm, LODs, no I don't think so. You can't force an LOD switch, it's based on components bounds screen size, period. And since all instances are initially stacked on top of each other, even hierarchical instances would all switch LOD at the same time, so controlling vertex count is out the question. Making the top thicker and breaking up more gradually, yeah sure, using techniques demonstrated in the video: shapekey, normal offset and so on (to the limits of what dithered opacity can do though)

  • @AK-trud
    @AK-trud 7 місяців тому +1

    Hi, does checking off "World Position Offset Writes Velocity" setting on the InstancedStaticMesh component help with that velocity glitch? Didn't have opportunity to check it myself yet.

    • @AK-trud
      @AK-trud 7 місяців тому

      FYI there is a typo at 13:22 :)

    • @ghislaingirardot
      @ghislaingirardot  7 місяців тому

      It will but you need to write velocity for TAA & MoBlur. It's just too important to completely skip for such an effect.

  • @为正-w8l
    @为正-w8l 6 місяців тому

    how you deform the mesh at 24:18,I'm dying to know!

  • @medmel2160
    @medmel2160 9 місяців тому

    Dude, this is so cool! I love it

  • @JAMbosco
    @JAMbosco 5 місяців тому

    Hello there! This is incredible amazing, really good job! Wanted to mention that there's an issue with the bounds not being translated properly that makes the FX cull hidden when the location of the waterfall is not in the center of the map being the actual bounds out of the camera fustrum whilst directly looking at them, one solution might well be to adjust the niagara bounds to where the bounds really are or there will be another better solution?
    Looking forward on your next stunt! Keep the good work

    • @JAMbosco
      @JAMbosco 5 місяців тому

      Alright fixed it! Just passed the GetBallisticLocalBounds Min and Max directly to the Niagara SetSystemFixedBounds!

    • @ghislaingirardot
      @ghislaingirardot  5 місяців тому +1

      @@JAMbosco Hello! My bad, you're totally right, there's a tiny oopsie. The issue is in the SpawnFX function, when calling the SetSystemFixedBounds. Getting the InstancedStaticMesh's Origin via the GetComponentBounds returns a world space origin, so it just needs to be converted to local space. Use an 'Inverse Transform Location', plug a 'GetActorTransform' & the 'Origin' in it and use the Return Value instead of the Origin for both the Subtract & Add operation just before the 'MakeBox' function. That fixes it and is less expensive than recomputing the BallisticLocalBounds! Cheers

    • @JAMbosco
      @JAMbosco 5 місяців тому

      @@ghislaingirardot Thank you! Great stuff will do!
      Instead of recomputing the Ballistic bounds did end up exposing those min/max variables but my solution was causing a weird flickering when playing on PIE that required to finally recompute those bounds at begin play x)
      Thanks for sharing the optimum fix indeed is better the inverse transform, keep the great work and keep them coming

  • @ninomancuso7021
    @ninomancuso7021 9 місяців тому +1

    Very impressive, but very difficult to replicate. Also do you unwrap UVs in a particular way on the Blender cylinder before exporting? I get different UVs than yours, way different. What are the scalar values you're putting into your Inputs on the MF_BallisticOffset we create around 3 minutes? I'm getting errors for that MF in the material.
    Up until minute 5, very much enjoying myself otherwise! :)

    • @ghislaingirardot
      @ghislaingirardot  9 місяців тому

      What makes you think your UVs are way different than mine? I don't think I show the UVmap in the video. Also, no, no unwrap, UVs are actually not required here. MF_BallisticOffset have 2 scalar inputs and 1 vector3 input. Gravity is by default -981 but is later connected to a scalar value in the material anyway, 13:06, just like the Flow, 4:39, and Time, 5:02. Everything is shown in the video :)

    • @ninomancuso7021
      @ninomancuso7021 9 місяців тому

      @@ghislaingirardot Ah I see, I meant gravity scalar at 4:28. I see the material continues to evolve many times over as you go on.
      You're a UE genius man, that's obvious. As someone less practiced in material development who is following along trying to replicate, my humble feedback would be that although the steps you took to solve issues and show us the evolutions are insightful, they can be tough to follow for the leigh person. For instance, I wouldn't know that an issue I'm getting hung up on at minute 5 (not knowing the scalar value of gravity input at this point) would become moot in minute 13. Does one trust and keep watching? I don't know, well done though

    • @ghislaingirardot
      @ghislaingirardot  9 місяців тому

      ​@@ninomancuso7021 Noted, thanks for your feedback :)

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

    Hey! Thank you!
    Is it possible to make something similar in Niagara? Like Mesh Ribbon

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

      You can use Niagara to pass points/curve data to the shader and do all kinds of things, but the deformation eventually has to be done using a material & WPO. So it wouldn't be really different than what I demonstrated here.

  • @MrBoponpa
    @MrBoponpa 8 місяців тому

    Hi there Mr. Girardot, I nearly have your full setup recreated, but all of my mist particles are spawning at 0 0 0 in the local space of the NS--they get the right velocity data from the curve, but aren't spawning in the form of the waterfall. Velocity is correct but spawn position isn't. I've triple checked the custom module setup and it's identical. Thoughts?

    • @ghislaingirardot
      @ghislaingirardot  8 місяців тому

      Hi! Make sure the position set in your custom module isn't overriden by the 'InitializeParticle' module. (try using UnSet on the position)

    • @MrBoponpa
      @MrBoponpa 8 місяців тому

      @@ghislaingirardot Thanks, I'll try that out as soon as I get back to the lab!

  • @rodolfosantos7304
    @rodolfosantos7304 9 місяців тому

    Amazing technique! Is it possible to follow a path other than ballistic projection?

    • @ghislaingirardot
      @ghislaingirardot  9 місяців тому

      Thanks! Absolutely, yes. You could use an RGB curve to create a 3D path, and sample the curve using the normalized height instead of using it to compute the ballistic trajectory :)

    • @AK-trud
      @AK-trud 7 місяців тому

      @@ghislaingirardot Hi. Additional question: anything on your channel that perhaps showcases how to sample a curve in a material as position?

    • @ghislaingirardot
      @ghislaingirardot  7 місяців тому

      @@AK-trud Hmm, no, nothing comes to mind but it should be pretty straightforward. Use the normalized time in a curve sampler and have your RGB curve depict XYZ positions and that's it.

  • @viciousvndta
    @viciousvndta 7 місяців тому

    Is this gonna run on mobile? And how "cheap" is it actually (like would you do this for actualy games)? I really like this idea tbh

  • @aghayejalebian7364
    @aghayejalebian7364 9 місяців тому

    Das some sick shit bro

  • @skald2828
    @skald2828 9 місяців тому

    Best!

  • @plasid2
    @plasid2 9 місяців тому

    make some obstacle flow river effect next time