PORTFOLIO
Includes: PyMEL Tools, Rigging, 3D Modeling, Unreal Engine 5, Substance Painter
STATEMENT

Hi, I'm Desmond!

I love studying CS and engineering, and also enjoy spending my time creating art and animation.

CURRENTLY

Completing last year at UCLA; graduating June 2024 with B.S. in Computer Science.

Expecting to begin M.S. in Computer Science in September 2024, with specialization in Graphics and Vision.

Tool Scripts in Python

3-Point Studio Lighting Script for Maya

Screenshot of Maya

I wrote this python script because I wanted a hassle-free way to quickly generate a three-point lighting set-up in Maya to render my models.

The script utilizes the PyMEL command library to generate and modify objects in the Maya scene, along with PySide2 to create the dockable UI.

Features

  • Add a studio-style curved backdrop polyPlane with adjustable color.
  • Add a camera with adjustable focal-length.
  • Add key, fill, and back lights with adjustable intensity and color. The visibility of each light can also be toggled on and off.

Manually Rigging a Character in Maya

The Warrior

Bones and joints Rig in Maya

Process of rigging character, including both FK and IK for arms.

This is a personal project I undertook to practice character rigging in Maya.

Process:

  • Modeled and UV-mapped the warrior character in Blender.
  • Imported to Maya, then created a joint heirarchy "skeleton" with specific naming conventions and careful attention to joint orientation.
  • Created a system of user-friendly controls (ie. meaningful colors and shapes), using a variety of constraints (ie. parent, point, pole-vector) to attach the controls to the rig. This included both FK and IK systems for the arms, along with a control to quickly switch between the two.

3D Modeling & Texture Painting in Blender

The Cybernetic Ronin

Wireframe clay render of ronin Textured render of ronin Texture sheet

Renders of textured and clay-wireframe models for the player character.

Last Spring, I joined a student-led game development project as the character modeler. We completed a working isometric game level within a 6-month time constraint. My role included modeling and texturing the player character in Blender, from my teammate's concept illustrations. I also modeled a mini-boss samurai.

Process:

  • Started by modeling a human base-mesh with game-ready topology (quads only!). This seemed like a simpler workflow than sculpting and retopologizing.
  • Added the character details (eg. cloak, mechanical arm and leg) by modifying the base mesh and modeling additional meshes.
  • UV-unwrapped all the meshes to minimize visible seams and stretching in the texture.
  • Texture-painted the character within Blender. (This probably took longer than it should have because I was using a mouse)
Wireframe clay render of mini-boss Wireframe clay render of mini-boss

(Left) Wireframe clay render of samurai mini-boss.
(Right) In-game screenshot of player character.

Sculpting and Retopologizing a Face

Since my ronin model is wearing a mask, I also feel obligated to show some examples of my work sculpting and retopologizing a head in Blender.

In progress retopology of a head. Render of a head.

Retopo process and final render with sub-surface scattering skin material.

Production Design in Unreal Engine

The Swamp

POV of boat in a swamp.

I designed and animated this film-set in Unreal Engine 5 for a course in Virtual Production. I modeled the boat in Maya myself; the trees, foliage, and other prop assets were imported from Quixel Megascans and online.

Boat UV map Boat texture

I manually UV-unwrapped the boat mesh in Maya to minimize distortion and to keep the wood grain direction consistent. Then I textured the model in Substance Painter, exporting the base color, normals, and ambient occulusion.

Water material Node editor

The custom water material created in Unreal.