Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Games 3d Tornado Rendering for Storm Chasing Game (Twister: Research and Rescue)

Discussion in 'Projects In Progress' started by SamKennedy, Oct 7, 2022.

  1. SamKennedy

    SamKennedy

    Joined:
    Apr 25, 2021
    Posts:
    12
    I am working on a game titled "Twister: Research and Rescue" which takes inspiration from the 1996 movie Twister. I want to make the tornadoes in the game as visually impressive as possible without requiring high-end hardware, so I'm developing and testing it on my laptop with a GTX1050 graphics card.

    I have created a smaller project that recreates some of the user interfaces seen in the movie, and I'm using this to render just the tornado funnel to test out different rendering methods. Here is a preview:

    upload_2022-10-7_11-46-19.png

    I am using a custom ray marching shader to render the tornado, I will give more details below but here are some of the key features:

    1) The size of the funnel can be changed in the shader:
    upload_2022-10-7_11-47-56.png
    2) The curve of the funnel can also be customised:
    upload_2022-10-7_11-48-45.png

    3) The "smoothness" of the funnel can be changed, it can be really smooth or really jagged:

    upload_2022-10-7_11-49-45.png
    upload_2022-10-7_11-50-14.png
    There are also a dozen or so other customisation options but those are the most important ones.

    The main feedback I'm looking for is how to make the tornado look more visually impressive? I'm in the process of adding a debris cloud at the base of the funnel, but what I really want to achieve is swirling dust around the funnel like in this picture: https://www.flickr.com/photos/quincyvagell/27373168241

    The technique for rendering works like this:

    1) Ray march through the volume, at each point in the volume calculate the distance from the centre of the funnel. If within the funnel return a density, otherwise return zero. This will result in a smooth unimpressive cone.
    2) Using two 2D noise textures, sample one texture using the (x, y) coordinate and the other using the (z, y) coordinate and average the result.
    3) Use this noise value to offset the required distance from the centre of the funnel, either closer or further away, this gives the "bumpy" appearance that can be multiplied by a smoothness factor to change the overall appearance of the funnel
    4) Offset the ray's y coordinate by some multiple of time, and rotate the ray around the y axis with time, this creates the illusion that the funnel is twisting and moving upwards

    If there are any shader/shadergraph experts that can give me ideas on how to make this look stunning I would be really grateful! I have tried all sorts of methods to try and get a dusty appearance but I get more of a "noisy" appearance instead.

    Any and all feedback is greatly appreciated! :)
     
    mgear likes this.
  2. apex-studios

    apex-studios

    Joined:
    Aug 20, 2022
    Posts:
    26
  3. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    1,726
    The last pic you posted looks the closest to a real tornado (the color/hue is way off). As for the surface where it strikes the earth (to me), would be a particle effect, as it is emitting outward. Dont know how to do this, just an observation as ive never had to dev this senario before.