ABERDEEN SHANG
  • About
  • Real-Time VFX
  • Houdini
  • Fun Things
  • Blogs
    • Mentor Project
    • MatchtoLive
    • VSFX 755 Class Blog >
      • C: debris procedural primitive
      • C++: side-mask pattern node
      • OSL: renderman moom shading
  • Other Art Works
  • Award
The goal of this project is to match lighting of a CG object to the real world.

Photos Needed for Lighting

Function of these photos:
  • Clean Plate;
  • Cube - Confirm the perspective of the scene; 
                     - Set basic light(s)' position(s)  to  get correct shadow(s);
  • Chrome Ball - Crop the image to project it on the Dome;
  • Gray Ball - Ensure all the lighting information are correct;
  • Reference.
Clean Plate
Cube
Chrome Ball
Gray Ball
Reference Image


​Click to See the Image

Softwares / Work Flow / Basic Settings

  • Maya with Arnold for lighting and rendering
  • Houdini for FX
  • Nuke for Compositing
Basic workflow is using Render Layer to render different parts separately in Maya (with Arnold). Then composite in Nuke.
For the FX I import cache from Houdini to Maya.
Maya Scene
Houdini
Nuke Node Tree

​​Click to See the Image
To set up Maya Scene, use digified.net/focallength/ to calculate focal length in Maya.
In my case. The camera I used for taking those photos was Fujifilm X-T10; and my focal length was 30mm. The Crop Factor for my camera is 1.5.
So I typed in all the information on that website. Then I got my focal length in Maya was 45mm.
The most important part in this project is using Render Layer.
Except the Wire Frame Layer and the Master Layer, I have 11 layers in total. They are:
  • Beauty Layer
​Turn off the primary visibility on ground plane and the twin object. Only render the main object.
  • Shadow Layer for Sunlight
  • Shadow Layer for Spotlight
  • Shadow Layer for Toplight
What we have in those layers:
Main Object + Each Light + Ground Plane

Turn off the primary visibility on main object. Only render ground plane.
  • Occulusion on Ground
  • Occulusion on Object
  • Occulusion on FX Particles
What we have in those layers:
Main Object + Ground Plane


Both Object/FX particles and the ground plane are using aiAmbientOcclusion 
shader.
Only render the one you need in each layer. Turn off  the primary visibility on the other one.
  • Reflection on Ground
  • Mask Layer for Reflection on Ground
  • Reflection on Twins Obj
  • Mask Layer for Reflection on Twins Obj
What we have in those layers:
Main Object + Ground Plane/Twin Object + Keylight


for the reflection layers:
Turn off the primary visibility on main object.
The shader for the ground plane/Twin Object is Mirror. 
for the mask layers:
The main object is using surfaceshader shader.
Turn off the primary visibility on main object.
The shader for the ground plane/Twin Object is Mirror. 

Modeling / Shading

  •  I use Subsurface Scattering + Transmission on the container shader.
           Because I want it be able to show the sauce inside the container. In                 Arnold5, I have to use Transmission to make that happen.
  • For noise on the surface, I  use noise on Reflection Roughness + I move several vertex manually when I model to make it more real.
Container Shader Node Tree
Label Texture Node Tree

​​Click to See the Image

FX in Houdini

Basically, I use scatter and popnet to make this simple Disintegrating FX. 
  • My Density on Scatter is 300. 
  • My Constant Birth Rate on Popnet is 20000.
Picture
FX Test Flipbook
Disintegrate Geometry Tutorial

Nuke - Compositing Breakdown

Thanks for Watching :)

  • About
  • Real-Time VFX
  • Houdini
  • Fun Things
  • Blogs
    • Mentor Project
    • MatchtoLive
    • VSFX 755 Class Blog >
      • C: debris procedural primitive
      • C++: side-mask pattern node
      • OSL: renderman moom shading
  • Other Art Works
  • Award