Hi, I'm Desmond!
I love studying CS and engineering, and also enjoy spending my time creating art and animation.
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](/static/images/widget-demo-1.png)
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](/static/images/bones.png)
![Rig in Maya](/static/images/rig.png)
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](/static/images/ronin-clay.png)
![Textured render of ronin](/static/images/ronin-render.png)
![Texture sheet](/static/images/ronin-texture1.png)
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](/static/images/ronin-boss.png)
![Wireframe clay render of mini-boss](/static/images/ronin-game.png)
(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.](/static/images/retopo-1.jpg)
![Render of a head.](/static/images/retopo-2.jpg)
Retopo process and final render with sub-surface scattering skin material.
Production Design in Unreal Engine
The Swamp
![POV of boat in a swamp.](/static/images/swamp1.png)
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.
![](/static/images/swamp3.gif)
![Boat UV map](/static/images/boatUV.png)
![Boat texture](/static/images/boat-texture.png)
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](/static/images/water2.png)
![Node editor](/static/images/water1.png)
The custom water material created in Unreal.