Home Technical Talk

Volumetric clouds in games

Daz
Daz
polycounter lvl 18
Offline / Send Message
Daz polycounter lvl 18
Or the appearance of at least.

Anyone got any good pointers to technique? Any ideas of good examples to check out beyond the latest ms flight simulator?

Many thanks.

Replies

  • Uly
    Options
    Offline / Send Message
    Uly polycounter lvl 15
    Zelda: WindWaker, Sid Meier's Pirates, and LockOn:Air Combat all have pretty good volumetric clouds. What perspective in particular are you looking for?
  • Steve Schulze
    Options
    Offline / Send Message
    Steve Schulze polycounter lvl 18
    There was a game/tech demo called "Cloud" created by the guys who made Flow
    http://www.jenovachen.com/flowingames/cloud.htm
    Its well worth a look.
  • Daz
    Options
    Offline / Send Message
    Daz polycounter lvl 18
    [ QUOTE ]
    What perspective in particular are you looking for?

    [/ QUOTE ]
    Perspective? Sorry If it wasn't clear. The perspective of trying to understand different techniques used to create clouds in videogames.

    Thanks for the pointers guys. I should have googled first really. I think I've found some useful stuff.
  • Carl Brannstrom
    Isnt it just to use 2d sprites as a smoke grenade but all the sprites are standing still instead?
  • Mark Dygert
    Options
    Offline / Send Message
    By perspective they might have meant, locked like a side scroller or RTS. Or moving around and thru the smoke like a flight sim or first person shooter. Since you are asking for VOLUMETRIC clouds I'm a bit confused since thats not really an artist thing?

    From my experience with smoke there are a few ways to do it and most of them are engine specific and require many an hour put in by both the art and code.

    - Animated Facing planes or sprites. One of the oldest tricks in the industry but still works pretty good but you still have to work with a coder to get it working correctly. Things are getting pretty advanced where you have more of these being emitted out of some type of particle emitter so the sprites have a life cycle and can be scaled, play different animations, even fade out and disappear over the life span. How you make the art that goes onto the mini facing planes is up to you, the coders and your art department petty cash budget. I think the most common is to render out some higher end smoke effects using smoke plug-ins for max or lightwave on alpha then applying them to large sprites. Coders like this because its easy for them to do. Players hate it because it looks fake. Most of the time they do a full screen fog effect in front of the camera as you get closer to the source. But again that depends on the coders.

    - Clouds created ONLY by code/the engine. Some places invest heavily in making clouds that artists never have to touch. From what I understand it handles them much like Max handles the Atmospheric Helper. Which is just a box with parameters to the level artist. This is often very processor heavy but light on the art department since it's all just colors and code noise.

    Papers on real time volumetric clouds
    http://schpok.net/research/purpl/clouds/
    http://graphics.cs.brown.edu/games/CartoonSmoke/index.html#bibtex
    http://www.markmark.net/cloudsim/
    http://nis-lab.is.s.u-tokyo.ac.jp/~nis/cdrom/sig00_cloud.pdf

    So I guess the questions falls back to you, are you looking for coder clouds or sprite/particle emitter clouds? Both are engine specific and can't be done by the art department alone. How friendly are you with the code monkey, and how much does he/she know about making smoke. More than likely the lions share of the burden falls on them with some art on the side.

    Honestly your question is one that grips the industry and is as broad as how do you export art for games? Or what are the poly counts for next-gen? Answer: Every place is different and it normally requires more than just an artist to answer that.
  • poopinmymouth
    Options
    Offline / Send Message
    poopinmymouth polycounter lvl 19
    http://www.windwardmark.net/index.php

    Think of it like Speedtree, but for weather. True volumetric clouds. The way it handles the HDR of the sun is awesome.

    poop.gif
  • Uly
    Options
    Offline / Send Message
    Uly polycounter lvl 15
    Sorry Daz, I should have been more specific. By perspective I meant the player Point of View. How close is he getting to those clouds, from what and how many angles, etc.

    Anyhoo, another game, (that's not even out yet) does volumetric smoke really well. (Same general idea, right?) When it hits, be sure to check out Ghost Recon Advanced Warfighter 2. Any 'cloudlike' particles in that game share an interesting effect in which if they collide with any geometry, they'll blend out, rather than clip right through said geometry. Makes for some very convincing volumetric effects comprised of simple sprites.
  • CheapAlert
    Options
    Offline / Send Message
    CheapAlert polycounter lvl 18
    Jane's WWII Fighters had some nice looking volumetric clouds, but since it was 1998 and the world wasn't ready for such things yet it was pretty damn slow
  • Ryno
    Options
    Offline / Send Message
    Ryno polycounter lvl 18
    I was working for the MS Flight Simulator team when my lead first started doing the volumetric style clouds. It's pretty low tech really, with multiple facing sprites. He wrote a pretty cool little script where you place large boxes to describe the overall shape of the cloud, then hit a button and it fills that bounding area with a bunch of facing planes with a cloud puff texture on them. Depending on the type of cloud, you could change how many sprites there were, and also swap the puff texture.
  • Daz
    Options
    Offline / Send Message
    Daz polycounter lvl 18
    Thanks all for the help, especially Vig. Although I'd be inclined to disagree that my question was as broad as all that. Perhaps I wasn't specific enough whether or not I was looking at it from the code or Art side, but my response to Ryno possibly clarifies. I'm confident that there aren't literally thousands of different ways that volumetric clouds are approached in games, but several.

    Poop, that looks awesome at a quick glance. I'll have to investigate further. Thanks for the link.

    Ryno, that's just the kind of thing I was looking for thanks. I was looking at MS fs yesterday and it struck me that their cloud solution seemed to be much more of an Art centric solution than a programmatical one.
  • multivac
    Options
    Offline / Send Message
    I was once trying to do the same thing and came up with a quite nice solution.
    I used spheres in 3dmax to define a cloud shape and made a blobmesh of it.Then it was optimized by hand where needed and vertex painted on the bottom and in the places where the cloud would be occluded.Then in engine i rendered a sprite at each vertex that took its colour from the vertex channel.
    Got rid of the cloud looking like an uniform white blob quite nicely.You could use some vertex noise to give it motion too.
  • Eric Chadwick
    Options
    Offline / Send Message
    Here's the background on Microsoft's cloud system, I found the video pretty informative.
    http://ofb.net/~niniane/clouds/
  • Ryno
    Options
    Offline / Send Message
    Ryno polycounter lvl 18
    Yeah, Niniane was the programmer who basically wrote the code for displaying facing sprites and how the light would tint them, then kind of took credit for the whole system. This kind of pissed off the entire art team, as it was our technical art lead, Adrian Woods who figured out the whole system, wrote the Max Script, and told her how to do the whole thing. But he's not much of a self-promoter, so didn't say anything when she wrote up the Siggraph paper and took more credit than she deserved.
  • Daz
    Options
    Offline / Send Message
    Daz polycounter lvl 18
    That's pretty damn shitty Ryno. Awesome Eric thanks for the link.

    Thanks all for the help.
  • CrazyButcher
    Options
    Offline / Send Message
    CrazyButcher polycounter lvl 18
    http://crazybutcher.cottages.polycount.com/wip/fakevolumebb0.jpg
    http://crazybutcher.cottages.polycount.com/wip/fakevolumebb4.jpg

    it's not so über, as most stuff pimped, but it only requires a simple vertex-shader and billboards, ie pretty cheap. I tried to reverse engineer the volumetric smoke stuff of SOTC, which is illustrated here
    http://edusworld.org/ew/ficheros/2006/paginasWeb/making_of_sotc.html
  • CrazyButcher
    Options
    Offline / Send Message
    CrazyButcher polycounter lvl 18
    just stumbled upon this

    http://www.gamedev.net/community/forums/topic.asp?topic_id=439168

    looks pretty neat, but probably eats lot of performance as true raytracing is done on the cloud volumes.
  • JKMakowka
    Options
    Offline / Send Message
    JKMakowka polycounter lvl 18
    [ QUOTE ]
    http://www.windwardmark.net/index.php

    Think of it like Speedtree, but for weather. True volumetric clouds. The way it handles the HDR of the sun is awesome.

    [/ QUOTE ]

    Just as a follow-up:
    LindenLabs (the creators of Second-Life) have acquired the makers of Nimble and will release the entire system under a open-source license (GPL) as soon as it is integrated into the Second-life client (also GPL).

    http://lindenlab.com/press/releases/05_21_07
  • animativespace
    Options
    Offline / Send Message
    I am still new at this but for it to work you have to turn your code into a volumetric noise texture and render it to camera
  • Neox
    Options
    Offline / Send Message
    Neox godlike master sticky
    considering this thread is 13 years old, i would say volumetric clouds meant something pretty different to what it does today :)
Sign In or Register to comment.