FMX2017 Technical Directing Special: Real-time Volumetric Cloud Rendering

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

КОМЕНТАРІ • 22

  • @YGODueltainer
    @YGODueltainer 4 роки тому +7

    Rdr2 uses this technique , the game is filled with volumetric ray marching beauties

  • @InquisitorSama
    @InquisitorSama 4 роки тому +3

    Hey great presentation. I was wondering about the paper but couldn't find it. Could you share the link to it?

  • @degenetron7590
    @degenetron7590 4 роки тому

    Came here from fs2020, idk if it's the same principle but volumetric clouds really fascinate me

  • @trigonaut8471
    @trigonaut8471 7 років тому +10

    I am still confused as to how the clouds are lit. You say lighting is calculated using the normal and lighting direction, but how do I find the normal of a point in a volume? More critically, how do I calculate how illuminated a point is, assuming the volume itself is the only thing blocking light? The function shown only seems to account for ambient light.

    • @fleity
      @fleity 7 років тому +3

      Did I really say normal direction? It's similar but not quite. It's what got me the idea how to do it though. While I have seen an example by Iq to calculate normals in a volume but I just assume every point is facing the light.
      Yes the function which I show is straight up the lighting function from the paper I didn't show how to get the energy which goes into that function. The way I do it is during the raymarch from the camera I start a secondary far less detailed raymarch from the sample point towards the light in the low resolution noise volume. The more cloud density is between the sample point and the light the less energy / direct illumination reaches the sample point. I use the blue noise scatter for this sampling as well but with different range multiplicators. Using that energy and the lighting function results in self occlusion. Oh and I should note that the only thing able to cause direct illumination is a single directional light at this moment.
      Idk does that make it clearer?

    • @evanlane1690
      @evanlane1690 5 років тому

      @@fleity Hey! This is awesome!
      I'm trying to follow along and I had some questions. I've been able to create a 3D texture generator that can generate tileable noise slices. How did you choose to save those as an asset and load into a shader? Did you use a tex2darray or a 3d texture or an array of floats? I'm new to unity and would love some help. Thanks again for doing this video. It's really helpful!

    • @fleity
      @fleity 5 років тому

      @@evanlane1690 hey Evan, glad that the video can be usefull :D
      I saved the texture data in a scriptable object as a float array. In a c# helper script which had a link to the material I converted the array back to a 3d texture OnEnable / OnValidate and pushed the Texture3d to the material with SetTexture. Going with a float array might not have been the smartest way but it was straight forward and the Texture3D class didn't offer any other input I believe... not sure though. Maybe you can even serialize the Texture3D object straight into an asset and skip the conversion step.

    • @unrealengine5-storm713
      @unrealengine5-storm713 Рік тому

      You draw a line from the light vector amd accumulate density. You can get lightong that way

  • @ColinLeet
    @ColinLeet 3 роки тому +1

    Did you ever release this as an asset? I've been looking for a good VR cloud system for a year and this is the best looking yet. Also does it support single pass instanced and HDRP?

    • @fleity
      @fleity 3 роки тому +4

      Hi Colin, I am afraid I have not released it. I used the same principles on other projects I worked on (who would have thought pretty much the same thing combined with signed distance fields gives pretty nice 2d clouds as well :D ) but this particular project is mostly the same it was in 2017.
      Thanks for the compliments but I would argue that Sebastian Lague's example and FogVolume3 from the asset store by david miranda actually look a bit better, just if you are looking for alternatives.
      Does this support single pass instanced and HDRP, funny thing during development I threw it into the Unity Adam exterior scene and looked at it through an oculus rift just for fun and it worked to some degree. Framerate was horrible at the time regardless of VR but it did work, I can't remember it drawed single pass instanced to be honest but probably not as I didn't knew enough about stereoscopic shaders at that time. HDRP should work xD I use a few built-in variables which have different names / ways to get them in scriptable render pipelines but apart from that since the lighting is calculated without relying on unitys lighting systems it should in fact be pretty close to instant working.
      anyway sorry to disappoint you (for now) but I highly encourage you to look at the two alternatives I mentioned, one is buy and be happy the other is rather a starting point / tutorial on how to write it yourself and apart from the fact that the initial ray origin needs to be offset for VR it should be possible to make this VR playable (using a fast graphics card from today that is)

  • @levtunik997
    @levtunik997 4 роки тому +1

    @fleity great vid! what i couldn't understand is about tiling....if you could copy-paste the small square onto one qube, why couldn't you copy-paste it to all the cubes...around minute 07:00 I lost you and couldn't figure out the issue and the solution related to tiling...could you please elaborate?

  • @garyhaus
    @garyhaus 5 років тому +3

    Any updates on the release of this on the Assert Store? or elsewhere?

    • @fleity
      @fleity 5 років тому

      Hey Gary, unfortunately not really but I recently discovered a similar project by someone else and I am looking forward to checking it out in more detail. If you haven't come across it yet: ua-cam.com/video/FCZqndMHnzA/v-deo.html

  • @topitirkkonen5165
    @topitirkkonen5165 6 років тому +1

    Any news in terms of releasing this?

    • @monicaluo1122
      @monicaluo1122 5 років тому

      Do you have it already? Same question here.

  • @doodlydodo
    @doodlydodo 4 роки тому

    If I can only put this in the Witcher 3