While working on My Sims Skyheroes, our art director wanted to know if it was possible to create a loopable cloud "fly-through" effect for the main menu. Unfortunately, due to time constraints, and limitations with our engine we were unable to do so. What we encountered was sorting issues caused from the hardware render buffer's innability to read and differentiate the order in which the alpha cloud textures needed to be rendered on screen. Later, after we ditched the idea I talked to a fellow FX artist, Marc D'amico, and he informed me that one way to possibly over come the limitation was to have each individual cloud system as its own independent game object, that way the engine would know which order to render them. Another way that I had come up with to solve the problem was to create an alpha decision list -which could have been possibly written in lua -which would instruct the system which cloud needed to be rendered when-. Either way, there seemed to be a solution to the problem but unfortunately, time and money dictate production so we had to move on.

 
  width="500" height="295" valign="middle" align="center" >
 
 

The actual cloud textures used on the billboards were created in Maya using 3d voxel fluids. I was able to create one 3d container with a single fluid emitter that I could use to generate different versions of the clouds. I choose to render out six different cumulus types and assigned those randomly to each billboard. Once they were lined up, one in front of the other, it gave an adequate "effect" of multiple types of clouds. Some UV offsetting/flipping was required and color correction was performed for each cloud texture in photoshop.

 
     
 
 

One positive outcome of our preliminary tests, was a script that my colleague Mathieu Berube and I came up with to create the cloud system itself. We basically wrote a script that generated a cycling billboard system. Recently, I have revisited the script to completely automate the construction of the system without having to create any of the components. Below are my proofs of the system, the script itself, as well as a downloadable link to grab the script. Enjoy!

 
  width="500" height="407" valign="middle" align="center" >
 
 
 

Another thing I am currently working on, is building off this script to create an automated tank tread system. Will keep you posted on the evolution of that.