2D facial Solution

Hi There!2D_facial

For this tutorial we will explore a Quick 2D facial solution using Layered Shader to composite different facial element to a final 2D eye from different 2D images sources and sequences (Eye ball. eye Lid, Isis, Eye Brow). That final Composite eye will be rig for a more versatile rig. This tutorial is quite to the point don’t get surprise, read carefully.

You can download the demo model for your pleasure.

1. Duplicate Geo for face position, Set UV to Maximise display.

  • Export uv and start new .psd 2K. Export different eye layer to a file sequences containing an alpha channel. In this tutorials I used .png but you can use other files format who contain alpha information.

2.Change Render Stats Of the geometry and uncheck the Casts Shadows options.

3.Shader Creation (Open the Hypershade or the node Editor. )

  • Create a Lambert shader and a Layered Texture to it.
    • Connect the LayeredTexture.outColor to Lambert.color
    • Connect the LayeredTexture.outTransparency to Lambert.transparency
    • Assign the Lambert Shader to the eye Geometry.
  • Create 4 node call file [Texture] or as you may be more familiar a 2D Textures / File.
    • For each of the node browse and locate the texture eye part. For better clarity rename the 2D File node
      • Browse and Locate eyeBall
      • Browse and Locate iris
      • Browse and Locate eyeLid
      • Browse and Locate eyeBrow
    • Connect the for 4 newly created 2D file Node to the layered Texture None by dragging them into the attributes Editors.
      • Reorder using the MMB if necessary.
        (Maya 2016 based layer seems to be on the right side of the Layered texture compared to Maya 2015 where the based layer is on the left side of the Layered texture)
      • Be sure all added layer are set to OVER.
      • Uncheck Alpha as Luminance

4.Create a Controller and attributes.

  • Create a nurbs Curve in front of the face. Call that controller lf_eye_ctrl
  • Create the below attributes or simillar to your needs.
    • eyeBall                                  1, 5, 1
    • eyeLid                                   1, 6, 1
    • eyeBrow                                1, 9, 1
    • iris_dw_up                          -1, 1, 0
    • iris_lf_rt                              -1, 1, 0

5.Connecting the attributes (eyeBall , eyeLid, eyeBrow )
Using the connection editor pre Load the Driver. You can also use simple expression

  • Simply turn on the Use Image Sequence from the 2D File Node
    • RMB over the purple Expression Newly created and click delete Expression
    • Load that node to the connection Editor and link the value together
    • Examples:
      • eye_ctrl.eyeBall – eyeBall_tex.frameExtension
      • eye_ctrl.eyeLid – eyeLid_tex.frameExtension
      • eye_ctrl.eyeBrow – eyeBrow_tex.frameExtension

6.Connecting the attributes (iris_dw_up , iris_lf_rt )
Using SDK connect the iris_dw_up , iris_lf_rt  to the respective

  • Examples:
    • iris_lf_rt à SDK TO à place2dTexture.translateFrameU
    • iris_dw_up à SDK TO à place2dTexture.translateFrameV

Simply Let the controller follow the facial and repeat the step for the others eye.


That it  Folks.



Leave a Reply

Your email address will not be published. Required fields are marked *