After finishing my new Stargate model, I've started working on matching effects to go with them. Ideally, I'd like to have a full suite of effects for both the movie and TV versions, but at the very least, I'd like to match what I did in my last version in the 2000s and have a decent in-camera "puddle" effect.
I decided to start with the movie version. First, an example from the film. There were several shots of the puddle effect, but they were all pretty much from these two angles.
The general effect seems to be a liquid mirror, combined with light shining through water. My first instinct was to try and do exactly that, using a spotlight and transparency, but I ran into a number of problems; in the PBR world, you can't have mirrored reflections without metalness, you can't have light refract through something without transparency, and you can't have metalness and transparency at the same time. So, then I tried for just getting the caustics being projected out from the puddle on to the surrounding set. More on that later, but suffice it to say, it also didn't work.
The next step was something I attempted on my prior 2000s model before coming up with a more universal solution, a spotlight pointed directly at the front of the puddle. This was a bit better, but from the side view, I noticed the highlights were exactly where they weren't in the reference image. Amazingly, stuff shining through water and stuff being reflected off water happens in exactly opposite parts of the ripples.
So then I decided to start cheating. And it worked! I used a Gradient node to define a certain section of slope from the ripple texture as bright white. The next issue was that the settings I was using for the side angle didn't work for the front, and vice-versa, but I was able to use Incidence nodes, clamps, and remaps to have the specific slope defined by the gradient shift depending on the angle of the camera. Then it was all just down to the fine-tuning.
I ran off a couple of test renders from both angles. One in a blank gray cube, one in
an environment from HDRlabs. The trick is, both stargates in the movie are in very dark rooms, and that was the darkest interior HDR environment I have. I also used the Master Chief model from Halo 3 for scale and to give the puddle a human-shaped thing to reflect, since I don't have a James Spader model handy.
Looking at it, the first thing I'm going to fix is to ramp down the strength of the bump map towards the edges. Luckily, since that's entirely separate from my fake highlight effect, I can dial it down to get the reflections to look more accurate to the movie without damaging the main part of the effect, the highlights.
The puddle here is flat white, while in the movie, it has a bit of a blue cast. I'm pretty sure that's just grading and the color of the lighting in the rooms the 'gate is in, and it's supposed to be a neutral mirror. On the other hand, the on-set interactive lighting definitely seems to be blue, so maybe I'll give it just a tinge so it isn't perfectly neutral gray.
Then there are the bigger issues. The thing that bothers me the most is that, with the way Lightwave's Ripples procedural works, and the speed of the ripples in the movie, the pattern repeats three times a second. I'd like to introduce more randomness into it. I'm not sure if there's another procedural I could be using, either built-in or a plug-in (
maybe I should try one of these, I never got around to loading them in to LW2020) or if I should just layer in some more procedurals to break it up.
I'd also like to be able to get the interactive ripples when something passes through the puddle automatically, but I have no idea how to make that happen. Ideally, it'd respond to actual geometry, but another idea I had is for a texture that generates ripples of a given size and speed when properly-named nulls are close to the surface of the object. If worse comes to worse, I can just cheat it, pre-making some kind of splash-map in After Effects or something and layering it in to the texture, but it feels so gross to have to save a different version of an object every time I use it in a shot.
Once I get those resolved, or become tired of trying, the next thing should probably be the interactive lighting being projected out from the stargate. On set, this was simply a spotlight being reflected off shaking mylar. I'd like to do something a little more elaborate. On my old Stargate model, I actually had a great success using a dummy object, a spotlight, and caustics.
Unfortunately, that broke with a subsequent Lightwave update. The effect stopped animating properly, instead of that lovely multilayered swirl, it just sort of flickered inward, like the animation had been set too fast and it was doing every cycle in less than a frame. Like video of a helicopter.
Anyway, my goal is to match that effect. I got exactly nowhere in my first tests, with the spotlight shining through seeming to be totally unaffected by my rippling puddle object. I made a separate scene to play with
after reading over this thread, an inside-out cube with the top face set as my test "water" texture, trying to dumb things down to the bare minimum to achieve the sunlight-in-a-swimming-pool effect. Didn't have much success either, though I got something recognizably caustic-y on the walls of the "pool" that were closest to the surface of the water. Something interesting I did note was that I was having trouble seeing the practical difference between the light refracting through the transparent polygon with the basic renderer versus when caustics were active under the GI tab. Each seemed to be trying to give the same effect in different ways.