V-Ray – Underwater rendering tip

Software:
3ds max 2019 | V-Ray Next

I decided to do some test renders for an underwater swimming pool scene with 3ds max and V-Ray,
And happily found out that my initial geeky academic approach to the subject was actually outdated and unnecessary.
> look down at the bottom for the correct sample renders.

In this example there is a VRaySun & VRaySky for the daylight render setup and a Caustics calculation to create the light lensing effects on the under water surfaces.

The wrong way:
Having ancient habits in the subject,
I first flipped the water\air surface’s normals so they’ll point down into the water (towards the camera), And set the water material’s IOR to 0.75¬†( 1 / 1.333 ) so instead of being an “air to water” material, it will become a “water to air” material.
This produced a non realistic result.
Viewed from underwater, the air surface should have a very dominant mirror reflection at most angles.Untitled-1.jpg

 

The Correct Way:
It seems that in V-Ray nothing special should be setup in terms of the water material.
You don’t have to create a special water-to-air material like I thought at first.
Its a regular water material, and the water surface is facing upwards like it should,
And when the camera is underwater it renders the water surface correctly as an air surface from withing the water.

The pool water material setup:
Note that Affect Shadows is turned off so the surface will generate caustics and not fake transparent shadows, and that Reflect on back side is turned on to produce more detailed reflections.
mat.jpg

This produced the following result in which the reflection/refraction look correct but the water is still too simple:Untitled-2.jpg

Improved wave deformation for the water surface, added detail using a Noise bump in the water material and a sense of depth with Volumetric Fog:Untitled-4.jpg

Finally remembered to activate Reflect on back side at the water material to add more realistic reflection detail, some basic contrast in the V-Ray VFB,
And a shark because I couldn’t help it…. ūüėÄ
Untitled-6.jpg

Advertisements

V-Ray Next’s PBR’ness

Software:
3ds max 2019 | V-Ray Next

A quick test of V-Ray Next‘s PBR workflow,
Namely designing materials while previewing them using V-Ray,
Defining the material properties using the new (to V-Ray) Metalness attribute, and using Roughness rather than Glossiness, shows good results IMO.

Results are generally consistent through Blender & Cycles, Maya & Arnold, and UE4.

Untitled-1.jpgUntitled-3

Untitled-4

Untitled-2

 

Related Posts:

  1. V-Ray Next – Metalness
  2. Metal In UE4
  3. Fresnel Reflections

Maya – Setting the V-Ray Sun direction according to location, date and time

Software:
Maya 2018 | V-Ray 3.6

To set the VRaySun photometric light source diretion according to the location in the world, the date and the time:

  1. Select the VRaySun parent node – ‘VRayGeoSun1Transform‘ and rotate it so its Z axis points to the architectural plan’s south.
  2. Select the VRaySun node – ‘VRayGeoSun1‘ and in its attributes un-check Manual Position.
    This will make the location / date / time parameters accessible.
  3. Set the GMT zone of you architectural project’s location in the world, the Date and time.
    * haven’t found how to set daylight saving time….

Untitled-1

Related:
V-Ray for Maya Physical Camera
V-Ray for Maya White Balance
Daylight system addon for Blender

V-Ray for Maya toon shading

Software:
Maya 2018 | V-Ray 3.6

Toon shading in V-Ray consists of two elements:

  1. A VRayToon node that creates a graphic contour effect on the rendered image.
  2. A flat shader that uses surface luminance data to define color areas.
    * A VRayLightMtl can be used for that.

Creating the VRayToon node:

  1. Click the Create V-Ray Toon button in the V-Ray toolbar to create a VRayToon node.
  2. In the VRayToon node attributes, set line thickness, color, and more graphic properties.
    * if you created a VRayToon node and it’s not selected RMB click the¬†Create V-Ray Toon button in the V-Ray toolbar and choose Select VRayToon node.
    * To delete the VRayToon node, select it and press Delete.

Creating the toon shader:

  1. Create a VRayLightMTL node as the object’s surface shader.
  2. Create a Ramp texture node, connect it’s output color to the VRayLightMTL’s color input and delete it’s accompanying 2D placement node.
  3. Create a surfaceLuminance node and connect it’s output to the Ramp node’s V Coord input.
  4. Optional remapValue node between the surfaceLuminance node and the Ramp node to clamp the luminance values.
  5. Optional floatMath node to scale or manipulate the surfaceLuminance output value.

Untitled-1Untitled-2

Related:
Arnold for Maya Toon Shading

V-Ray for Maya with XGen

Software:
Maya 2018 | V-Ray 3.6

The technical steps needed to render XGen hair with V-Ray and a VRayHair3Mtl in Maya:

  1. in the Plugin Manager,
    Make sure the xgenvray.py plugin is loaded.
    * Needless to say vrayformaya.mll must be loaded too.
  2. Set a Project Folder and save the scene.
  3. In Render Settings, set the Renderer to V-Ray.
  4. Select an object or mesh elements and create an XGen Description.
    * This can be done by clicking the Create New Description button in the XGen tab or XGen Window.
  5. In the XGen Output Settings set the Operation to Render and the Renderer to V-Ray.
  6. Edit / Design / Groom your hair.
  7. In the XGen window, Choose File > Export Collections or Descriptions,
    And export the hair Collection and Description.
  8. in the XGen window, Choose File > Export Patches for Batch Render,
    To export the hair cache abc (alembic) file.
  9. In the Hypershade, create a VRayHair3Mtl shader.
  10. In the Outliner, select the XGen Description.
  11. In the Hypershade Browser window,
    RMB click the VRayHair3Mtl and choose Assign Material To Selection.
  12. Make sure there is a light source, and render the scene.

 

Related:
V-Ray for Maya and nHair

Untitled-1

Untitled-1.01

Untitled-1.1.1.jpg

Untitled-2

Untitled-3

Untitled-3.1.jpg

Untitled-4

VRayMtl’s new metallic goodness

Software:
3ds max 2019 | V-Ray Next | V-Ray next GPU

In V-Ray Next (4) for 3ds max, a new Metalness parameter has been added to the Reflect parameters of the VRayMtl material.
This allows for easy creation of realistic metal materials and also effectively enables a PBR workflow with V-Ray.

When the Metalness parameter is set to 1.0, the material becomes completely reflective, the Diffuse color controls the general reflection color, and the Reflect color (which should generally be set to white) controls the reflection color at grazing incidence angle.

The IOR parameter still controls how fast will the main reflection color (set by the Diffuse color) blend into the Reflection color, and I don’t know whether some form of complex Fresnel has been implemented or if it’s just a dielectric simple Fresnel blended over a reflective surface.

An excellent article on the new Feature from the Chaos Group blog:
https://www.chaosgroup.com/blog/understanding-metalness

VRay_Next_Metalness

Related:

  1. Fresnel Reflections
  2. Complex Fresnel for Blender & Cycles
  3. Metal material in UE4

 

Denoising animations in V-Ray for Maya

Software:
Maya 2018 | V-Ray 3.6

Animated sequences require ‘Temporal Denoising’ in order to achieve a flicker-less result.
‘Temporal Denoising’¬†means that in addition to taking into account neighboring pixel data, the denoising process also takes into account pixel data from adjacent frames in the¬†animation.
For that reason, the V-Ray Denoiser render Element can’t simply be used during the render process like we can use it when rendering still images,
And the animation sequence is denoised after it has been rendered, and stored with extra data needed for the V-Ray Denoiser to work.

Update:
In V-Ray Next the vdenoise.exe tool has a GUI that allows loading sequences easily.
NXT_vdenoise.png

In versions of V-Ray prior to V-Ray Next the vdenoise tool has to be operated through command line with the following easy steps:

This is a very useful article on the subject from Dabarti studio:
http://dabarti.com/vfx/using-v-ray-denoiser-tool-vdenoise-exe-with-send-to-scripts/

General sequence denoising setup that has to be done just once:

1) Create a command line denoising script batch file, and store it in the Windows ‘Send to’ folder:
Write the following script to a new text file.
* this script is from an article by¬†Tomasz WyszoŇāmirski – Dabarti Studio.

@echo off
set input=%1
set denoiser_input=%input:~0,-8%????.exr
"C:\Program Files\Chaos Group\V-Ray\Maya 2018 for x64\bin\vdenoise.exe" -inputFile="%denoiser_input%" -useGPU=2 -display=0
pause

Save the file named ‘Denoise Sequence.bat’ in the¬†Windows Send to folder.
* to find the Windows Send to folder quickly open the Windows ‘run’ utility and type: shell:sendto.

Render setup for denoising:

2) In your Maya scene, In the Render Settings window, In Render Elements tab, add a Denoiser Render Element.

3) Select the vrayRE_Denoiser Render Element,
And in the Attribute Editor, under Exta V-Ray Attributes set ‘Mode’ to ‘Only Generate Render Elements’.
Capture

4) In Render Settings > Common > Image File Output:
Choose exr (multichannel)
Capture

5) Render the Animation.

Denoising the animation:

Right click the first frame of the rendered sequence,
And choose Send to > Denoise Sequence.bat

Related post:
Rendering an animation with Maya and V-Ray