Demo Reels

FX Artist Reel

Breakdown

  • BYU Student Film - Coin Waves (1-2)

    Responsible for coin FX. Massive, large-scale FX of waterfalls and waves of coins created for BYU's 2025 student film. Waterfalls were simulated using a combination of Houdini RBD and FLIP fluids, with the coin waves simulated using FLIP fluids and Houdini POPS. Shots were rendered in RenderMan and FX were created within in a USD production workflow.

  • BYU Student Film - Snowy Skeleton (3-4)

    Responsible for snow and dust FX. Snow was created using Houdini POPS and dust was created with Houdini Pyro. I shaded these in Houdini Solaris, and the shots were rendered in RenderMan. FX were created within a USD production workflow.

  • BYU Student Film - Snowy Door (5)

    Responsible for snow FX. Similar to the previous shots, snow was created using Houdini POPS, shaded in Houdini Solaris, and the shot was rendered in RenderMan. FX were created within a USD production workflow.

  • BYU Student Film - Dusty Sigil (6)

    Responsible for dust FX and sigil light animation. Dust was created with Houdini Pyro, and the sigil light was animated using a Houdini Solaris animated shader. Rendered in RenderMan. FX were created within a USD production workflow.

  • Rainy Night (7)

    Responsible for tree motion, rain, water, grass, and fog FX, FX shading, and lighting. Tree motion and grass were simulated with Houdini Vellum and custom constraints. Rain was created with layers of Houdini POPS simulations. Dripping water from gutters and splashing on porch was simulated with Houdini FLIP Fluids. Fog was simulated with Houdini Pyro. All FX were lit and shaded in Houdini Solaris, and project was rendered in Houdini Karma.

  • Torches (8)

    Responsible for flame and sparks FX, FX shading, and lighting. The flame was created with Houdini Pyro, and the sparks with Houdini POPS. Flames and sparks were shaded and lit in Houdini Solaris and rendered in Houdini Karma.

  • Shattered Mirror (9)

    Responsible for shattering FX, FX shading, and lighting. Shattering was done with Houdini RBD and shaded and lit in Houdini Solaris. Rendered with Houdini Karma.

  • Python Procedural Modeling Script (10)

    Responsible for all aspects. This Python script generates a custom UI in Maya, allowing the user to choose between different options for a custom 3D model of a train, including material generation.

  • C++ Raytracer (11)

    Responsible for all aspects. This raytracer was written in C++ to implement Phong shading along with multiple points of light. Images were rendered with the raytracer.

  • BYU Student Film - Grass Tool (12)

    Responsible for grass modeling, collision, and LOD tool. This tool allows for large-scale grass fields to be created and simulated quickly and efficiently. The tool includes collision detection using Houdini Vellum and an LOD option for farther away grass blades to save memory. The tool was build in Houdini using VEX and Houdini Vellum. Grass blades were shaded in Substance Painter. Scene was rendered in Houdini RenderMan.

CG Generalist Reel

Breakdown

  • BYU Student Film - Coin Waves (1-2)

    Responsible for coin FX. Massive, large-scale FX of a falling waterfall of coins created for BYU's 2025 student film. Waterfalls were simulated using a combination of Houdini RBD and FLIP fluids, with the coin waves simulated using only FLIP fluids. Shot was rendered in RenderMan and FX were created within in a USD production workflow.

  • BYU Student Film - Snowy Skeleton (3-4)

    Responsible for snow and dust FX. Snow was created using Houdini POPS and dust was created with Houdini Pyro. I shaded these in Houdini Solaris, and the shots were rendered in RenderMan. FX were created within a USD production workflow.

  • BYU Student Film - Snowy Door (5)

    Responsible for snow FX. Similar to the previous shots, snow was created using Houdini POPS, shaded in Houdini Solaris, and the shot was rendered in RenderMan. FX were created within a USD production workflow.

  • BYU Student Film - Dusty Sigil (6)

    Responsible for dust FX and sigil light animation. Dust was created with Houdini Pyro, and the sigil light was animated using a Houdini Solaris animated shader. Rendered in RenderMan. FX were created within a USD production workflow.

  • Torches (7)

    Responsible for flame and sparks FX, FX shading, and lighting. The flame was created with Houdini Pyro, and the sparks with Houdini POPS. Flames and sparks were shaded and lit in Houdini Solaris and rendered in Houdini Karma.

  • Shattered Mirror (8)

    Responsible for shattering FX, FX shading, and lighting. Shattering was done with Houdini RBD and shaded and lit in Houdini Solaris. Rendered with Houdini Karma.

  • Rainy Night (9)

    Responsible for tree motion, rain, water, grass, and fog FX, FX shading, and lighting. Tree motion and grass were simulated with Houdini Vellum and custom constraints. Rain was created with layers of Houdini POPS simulations. Dripping water from gutters and splashing on porch was simulated with Houdini FLIP Fluids. Fog was simulated with Houdini Pyro. All FX were lit and shaded in Houdini Solaris, and project was rendered in Houdini Karma.

  • Sugar Cookie (10)

    Responsible for all aspects. Cookie, frosting, whipped cream, and lime were modeled in Maya and shaded in Substance Painter. Particles were simulated with Houdini POPS. Scene was lit in Houdini Solaris and rendered with Houdini RenderMan.

  • Old Suitcase (11)

    Responsible for shading. The suitcase was shaded in Substance painter and Rendered in Houdini RenderMan.

  • Dia de Muertos Ofrenda (12)

    Responsible for all aspects. Assets were modeled in Maya and shaded in Substance Painter. Flames were created using Maya Pyro FX. Scene was lit in Maya and rendered in Arnold.

  • Potted Plants (13)

    Responsible for all aspects. Assets were modeled in Maya. Main plant was rigged and animated in Maya. All assets were shaded in Substance Painter. Cloth curtains were simulated with a Maya Cloth FX Simulation. Scene was lit in Maya and rendered in Arnold.

  • Curly Hair Groom (14)

    Responsible for groom and shading. Groom was created using Houdini grooming workflow, combined with a VEX script to create the curls. Shaded in Houdini Solaris and rendered in Houdini Karma.

  • BYU Student Film - Grass Tool (15)

    Responsible for grass modeling, collision, and LOD tool. This tool allows for large-scale grass fields to be created and simulated quickly and efficiently. The tool includes collision detection using Houdini Vellum and an LOD option for farther away grass blades to save memory. The tool was build in Houdini using VEX and Houdini Vellum. Grass blades were shaded in Substance Painter. Scene was rendered in Houdini RenderMan.

  • Python Procedural Modeling Script (16)

    Responsible for all aspects. This Python script generates a custom UI in Maya, allowing the user to choose between different options for a custom 3D model of a train, including material generation.

  • C++ Raytracer (17)

    Responsible for all aspects. This raytracer was written in C++ to implement Phong shading along with multiple points of light. Images were rendered with the raytracer.