Forum: Poser - OFFICIAL


Subject: Water in Poser

Circumvent opened this issue on Oct 24, 2006 · 23 posts


bagginsbill posted Thu, 26 October 2006 at 8:50 AM

Well for a scene such as yours, we can go pretty simple.

Add a one-sided square (found in Poser Props - Primitives) to your scene. Set the xRotate to -90 degrees so it is laying down flat - parallel to the ground plane. Scale it up and position it where you want the surface of the water to be. In this scene, I scaled it to 1700%.

Go into the Material room. Select the one-sided square.

Under these lighting conditions, there would be no light coming from beneath the water, so all we want are reflections. So set the Diffuse_Value to 0.

If you were to have a light that points toward the water in the direction of the camera, you'd want some sharp specular reflections of that light. So I set the Specular_Value very high (2) and the Highlight_Size to .001 for a sharp highlight. But with the light pointing away from the camera as seen here, this doesn't really matter.

Add a Reflect node plugged into the Reflection_Color input of the surface. Set the Reflection_Value to .5. You can adjust this to your taste for how strong you want the reflection to be, but it should not be 1 as this is unrealistic. Make sure that Reflection_Lite_Mult and Reflection_Kd_Mult are both turned off. This node will make the water square reflect the other objects in the scene.

If you're using a background image on the Poser "Background", don't! The Poser Background shader does not participate in rendering the 3D scene. It just controls the initial value of your "paper" before drawing the scene on top of it. If you need a background, add another one-sided square and attach the background image to that square. Scale it up and position it behind your figures. Then it will show up directly visible in the render behind the figures, as well as in the reflections of the water.

I can't emphasize this enough - when Poser calculates reflections, if the "ray" in the ray-tracer doesn't hit anything, then the Reflect node will just use the Reflect:Background color which is not going to look very interesting.

To get the little ripples in the water, we need to use either a bump or a displacement. For relatively calm water like this, I use the bump. The reason is that Poser has some bugs regarding reflections on a displaced surface. There are some complicated workarounds and it's worth doing if you need big waves, like ocean water. But for this scene, the bump input will work just fine.

There are many different nodes we could plug in, to get different shapes on the water. Turbulence would be good if you want the water to look like it's churning and roiling. But for calm ripples, I like the clouds node. Set the Sky_Color to black and the Cloud_Color to white. Change the scale to .4. Change Complexity to 2. Enable Global_Coordinates. Change the Noise_Type to Improved. 

By using Global_Coordinates, we guarantee that the size of the ripples will stay the same even if you resize the one-sided square. If you want the ripples to be wider, increase the Clouds Scale. For smaller ripples, decrease the Clouds Scale.

Once the ripples are set up, the surface will reflect scene elements that are not visible from the camera's point of view. In my setup, I had a sky dome (a giant sphere) surrounding the figure, and it had light blue coloring. As a result, you see some light blue in the water. If you use a sky dome, you should pay attention to the color of the dome because you're going to see it in the water. I left mine bright blue so you can see it clearly in my render, but I'd change it to match the dark blue of the background picture I used here.

If you do not use a sky dome, the reflection rays will hit nothing and you'll get black reflections. You can change the "hit nothing" value by setting the Background color in the Reflect node. But I don't recommend that for realism. Use a real sky dome with gradient coloring instead.

The numeric value on the Bump input controls how "tall" the ripples are. My Poser display units are in inches, so that .2 value is .2 inches. If you are using Feet or something else, then .2 would be .2 feet and would not work. I suggest you change your Poser display units to inches, then enter the .2 value .2. If you want, after that you can change your Poser display units back to the original value. Poser will then show you the .2 converted into the new units.

In your Render Settings, make sure you have Raytracing enabled, and Raytrace bounces should be at least 1. If the water is going to reflect an object which itself is reflective, then the bounces need to be at least 2. I don't see any shiny metal in your scene so that doesn't matter, but remember that for future use.

If you have trouble with any of this, come back and ask for more help.

Don't forget to show us the results! Looking forward to it.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)