After a year and a half, I’m running out of steam on the Stargate project for now, so I pushed myself to finish up the part I was currently working on, the version of the “kawoosh,” “strudel,” and “puddle” effects as seen in the movie.
The puddle was challenging, not in the least of which because each shot appeared to be somewhat bespoke, with the head-on view of the puddle being extremely bright, while the profile views had fewer highlights and allowed more of the reflection of the surroundings to be seen.
There was also the perennial problem of how to render the appearance of highlights shining through water. I’ve come up with different solutions before, but this time, what I did was send the ripple texture through a series of gradient shaders that remapped the colors of the ripples based on their distance from the center of the disc, whiting out the highest edges.1Gradients combined with fractal noise are the most versatile technique I know for effects. I learned them from an old Bungie conference talk that had been put on-line on the effects in Halo 3, though only some of the video clips used in the presentation are still on-line. You can see some examples in the second half of the video of how two noise textures can be used to create many kinds of fire, smoke, and electrical arcs, just by remapping the colors. That would’ve been enough for the TV-style puddle, but for this one, I also had to add additional nodes making the highlights much larger depending on the incidence angle of the puddle to the camera.
For the strudel, it was pretty straightforward, just applying some displacement maps to a rotating cones. The bubbles cavitating out of it are a string of single-point particles, also displaced, and with a clip map moving through them, since I didn’t want to have to deal with a particle generator.
For the kawoosh itself, I could think of three ways to do it. I could simulate a burst of air into a body of water using modern fluid technologies and save the simulation, I could do something similar with cloth dynamics, or I could use morph targets and displacements. The first two options didn’t even come close to working when I experimented with them in Lightwave. I had better luck attempting the fluid simulation in Blender…
…but the surface of the liquid always clung too tightly to the sphere I was using to punch it out on the down-swing, only billowing the way I wanted when the kawoosh was retracting. I attempted to animate a displacement on the sphere, but the simulator didn’t accept that, and wouldn’t animate the collision-object derived from the sphere, just using the displaced shape as it was at frame 0. I thought I might be able to get something closer to what I wanted with multiple irregular spheres being used as successive collision objects, but I thought if I was going to be art-directing it that much, I may as well just go back to the tried-and-true technique used by Robert Wilde and use morph targets and surface displacement.
At first, I thought the trick was using a series of morphs to get the billowing effect I needed, rather than the shape seeming to just scale in and out, but synchronizing the hand-off from one morph to the next ended up being more-or-less impossible. Then I realized the real solution was moving the edge-loops outward when the kawoosh was in its flat state. By making each segment move inward or outward as it morphed, I would disguise that the surface was only moving in one direction from start to end, along with using a displacement set to “World” coordinates so you could see a shape of fractal noise as the surface moved through the volume of the 3D space.
The final issue was that PBR-era Lightwave does not seem to like caustics one bit. After trying numerous solutions I found on-line, I decided to work dumber, not harder, saved the procedural ripples I was using for my puddle effect as a Lightwave 2015 project, and pre-rendered an interactive lighting loop in that, which I could then use as a texture on a spotlight. I’m not proud of it, and even saved as JPEGs, it makes the download size for this setup unreasonably large, but it works.
The download archive is Lightwave-only, because I doubt anything useful would come out of it if I tried to save it as an FBX, since it’s nearly all procedural textures. Likewise, no Read Me is included, and the setup/demo scene is very bare-bones, though it goes through the Stargate opening, being open, and closing, and should be easy enough to adapt for use in another scene (I did simply make the strudel vanish because my first attempt to make it dissolve like the puddle didn’t work and I had no interest in putting more effort into it). As always, I ceed this to the public domain, do as you like with it, if you get any cool results, point me towards them on the socials.
|Gradients combined with fractal noise are the most versatile technique I know for effects. I learned them from an old Bungie conference talk that had been put on-line on the effects in Halo 3, though only some of the video clips used in the presentation are still on-line. You can see some examples in the second half of the video of how two noise textures can be used to create many kinds of fire, smoke, and electrical arcs, just by remapping the colors.