Technical Artist Reel 2024
7/1/2024This is a reel of some of the projects I've worked on over the recent years. Please take a look!
Read more →Japanese Building Generator HDA
6/12/2024toolsdevhoudiniunrealThis is a demonstration of an HDA tool I created in Houdini that procedurally generates geometry, uvs and UCX collisions for Japanese-style building pieces and layouts. This was made for the 2024 Brigham Young University Senior Capstone Game Project named Shrineflow. I thought it would be a fun challenge to make a tool where people can quickly edit the buildings to a size that's suitable for gameplay.
Read more →Shrineflow, development process
2/6/2024gamedevunrealThe content you will see here, depicts my development history with the BYU 2024 game project, ShrineFlow. The game is basically a hide and seek with an agile ninja, and a magical Kitsune spirit. We would do dailies to give updates on the status of the game, and I would sometimes make videos for the team to see. In the beginning of the project I was deeply involved with developing the movement and early gameplay, which helped me become with Unreal's blueprint and C++ structures, but as production kept going I switched gears to lead asset development (and maybe some VFX). You will see this switch slowly happen with the chronological order of the videos. I hope you enjoy this insight from prototyping in early game-dev:
Read more →Magic Yarn Transformation - School Project
6/5/2023vfxhoudiniThough only a few seconds long, this VFX shot was the work I was most proud of in my time collaborating with the 2023 Brigham Young University(BYU) Student Film Project named The Witch's Cat. While I also polished some shaders and pyro effects, this particular Yarn Transformation VFX was something I took complete ownership of. Within the context of the film, this is the part where the Cat grabs ahold of the Witch's wand and starts causing chaos; and so to convey the magical disarray, the vis-dev team asked me to create a VFX that converted household objects into yarn. Initially they asked me to just do a Pyro poof and swap the asset with a "yarn-ified" version, but I was a little more ambitious ... I wanted this to be a showcase of my prowess as a VFX artist, so I got to work. The first step of this effect was to figure out how to make the yarn materialize and take the shape of the object its transforming. Above is one of my first explorations of how to make the yarn appear out of thin air. I procedurally generated the Houdini edges (lines) to represent the yarn thread. Then I looked into Pixar's RenderMan Lama Shader (used mainly to render hair) to make the edges look like yarn, I also took advantage of the offset (displacement) and visibility channels to create that visual "crumple into existence" effect. Lastly, to control the shader variables to give that spread effect, I used a Houdini SOP Solver to paint and gradually expand an attribute that will directly control the yarn shader. And voilà! The first layer of my effect is complete! Now I needed to figure out how to: 1. Create a "yarn-ified" asset duplicate, and 2. Combine the effect on the yarn duplicate. Immediately I knew to just create an HDA that allowed me to input the model it wants to duplicate, and a few geometric controls to direct the flow of the yarn through the model. Then I needed to run the solver to create the "turn-into-yarn" animation. My first unfortunate subject was the sewing machine illustrated above. As you can see, it looks a little rough, stiff, like it was made out of those metal wires covered in plastic; and the appearing animation isn't looking much better, awkwardly phasing everything into existence instead of looking like the fibers are coiling and materializing. 'Tis the nature of VFX; It wouldn't be until many, many iterations later where I got the effect close to something I wanted. Afterwards, I needed to layer the yarn with other auxiliary effects like: a bit of pyro, some sparks, maybe a bit of animation to really sell the impact of the magic. Fortunately there are many available references and resources, so I didn't have to do extensive research on how to create these effects. Of course, that didn't save me from iterating on each layer of the effect until I got something I liked. Eventually I was able to streamline the process enough to create a series of HDAs that took any asset, and magically converted it into yarn. There was still a bit of tweaking I needed to do that varied from asset to asset, but I was happy with how fast I was able to replicate the effect in other objects.
Read more →Solar Death Laser VFX - School Project
4/25/2023vfxunrealhoudini
Solar Showdown was the Brigham Young University (BYU) student capstone game project of 2023. It's a two-player Real-time Strategy Game where the objective is to build up enough solar energy to power your mega-laser and destroy the other base. My contributions consisted of creating the visual effects for the mega-lasers that appear in both the opening sequence and the endgame. It was in this project where I learned that a successful execution of VFX in games required a profound comprehension of emitters (in this case being Unreal's Niagara), parameter influenced shaders, and game programming logic for integration into the game-play. Believe it or not, making the Niagara System for the laser was the easiest part in all that I've worked on. It is basically an emitter that shoots particles on one direction, add a couple of mesh emitters with exposed material parameters for emission and opacity, and with enough layering to enhance the force of the laser you will get something that looks satisfying to shoot your opponent with. There are two players to choose from in the game, so I thought it would be great to make two distinct styles for each laser. And so as part of the creative process, I designed all the aspects of the lasers around the styles of their respective characters. The one showcased above belongs to the "Botanist" character. Since her design consisted of mostly organic shapes, I had to make sure the shape of the laser also seemed organic. The above is the explosion that activates when the opposing teams base is hit by the mega-laser and destroyed. This is the effect that is going to signal the game is over, hence I made the explosion to be as much of a spectacle as possible. I designed each stage of the explosion, and sequenced it as if I were telling a story. All stages and layers of the explosion had their own challenges; for one layer in particular, I used my knowledge in Houdini to create the fractured base, and process the pieces through a rigid-body dynamics (RBD) simulation. After importing the RBD animation file into Unreal, I then had to figure out how to put everything together. For example: when the player lost I had to program the player-base to swap the gameplay model to the RBD skeleton, and play the animation. When firing the laser, I needed to create Unreal curves to animate the laser windup, firing and cool-down, and integrate their respective trigger functions within the player-base blueprint. The entire process of figuring out how to assemble all pieces necessary to achieve this real-time effect felt very satisfying once I saw the final result in the game. If you'd like to try the game yourself, I have the link to download it on steam right here, so you can view the explosions yourself!
Read more →Some Maya Rigging Tools I've Been Working On ...
10/23/2022toolsdevanimationmaya
While working for the Brigham Young University (BYU) Student Film Project The Witch's Cat, I took part into rigging a frog character that appears in the latter half of the film, as well as worked on a couple of the character rigs for Previs. Although this frog was meant to move in an irregular manner, the complete rig is made out of many components that could be proceduralized, and so I designed a set of rigging tools that could help me and other future riggers at BYU built rigs faster. Bend-bow Creator Bend-bows are used in rigging to bend extremities of characters in a cartoon-y manner. They are useful in conveying weight and fluidity to the limbs, and they can be extremely laborious to make. After getting tired of doing the same procedure for two arms, I decided to make a tool that will take any joint chain and create bend-bows procedurally. The code to this tool runs on the Maya python API and can be found here. Joint Ribbon Generator After making the bend-bow creator, I thought: Why stop there? I wanted to figure out how much of this rigging process I could proceduralize. And so I created a joint ribbon generator tool that will create a ribbon rig given the poly-edges that make up a character's mouth. The script for this tool can be found here.
Read more →Maya-Unreal Livelink Animation Transfer Tool
9/6/2022toolsdevmayaunrealThis is a tool I developed for the Previs team of our 2023 (expected release date) Brigham Young University (BYU) Student Film. The tool was intended for Animators using Livelink from Maya to stream animations to Unreal. With the press of a button, all the animations import automatically from Maya to Unreal. This was also my very first time using the Unreal Python API to create a Utility Tool that extended to other platforms. In this case, within my Utility Tool Menu, the user can select the Open Maya scene Livelink-ed to Unreal, select an animated rig from that scene in Maya, and import both the Rig and the Animation into Unreal or just the Animation if the Skeleton already exists in Unreal. It's a little rough, but it was fun to scroll through all the Unreal and Maya related forums for research. It was in these nights where I also made the unfortunate discovery that the Unreal Python API Documentation pages have absolutely no dark-mode, so I spent most of my time spent staring at a blinding-white screen in the dark animation labs.
Read more →T-SNAKE!
12/15/2020gamedevunityThis was a small video game I made using Unity. It's basically Snake, but inside a torus shaped map, how crazy! I built this game in under 2 moths; this winter semester was so busy that I had to scrap a lot of cool ideas with this game. I plan to submit this to the BYU Animation Admissions Office, as a candidate for the BYU Computer Science: Animation Emphasis major. Wish me luck!
Read more →