TECHNICAL BLOG
September 14 2026
At the end of a high-tech palm reading, I give the sitter a souvenir printout. The printout has a black-and-white image of their hand with the live visuals overlaid. I accumulate these printouts from reading palms all over the place – art walks, nightclubs, corporate events, house parties, and more! This post details some technical information about the printouts.
» read moreSeptember 8 2026
I recently completed a design for a custom vehicle decal. I wrote this post to give an overview of my design process.
Brief Client lives in an area where the roads get very slick in the winter. He wanted a way to tally up the number of vehicles he has rescued from the ditch. He wanted the tally to evoke a WWII-era fighter nose art.
» read moreApril 11 2026
In this post, I will provide a general overview of my animation pipeline. This post uses production materials from Juice Drop, a music video I recently animated. I used this same pipeline on Sewer Issue, my short last year. Watch the below video to see how I put together the opening 10 seconds of Juice Drop, and read the post for additional information!
» read moreJanuary 28 2026
The purpose of this post is to give Maya Python developers an example of using getattr and setattr to set class attributes when writing a custom dependency graph plugin. This technique allows programmers to take advantage of Python language features with minimal changes to the standard Maya dependency graph node programming syntax laid out by Autodesk. This post includes:
- An example of syntax that uses
getattrandsetattrinstead of the hardcoded attribute names commonly shown in examples of dependency graph nodes - An example of working with compound attributes
- A node development test loop
- Start-to-finish walkthrough of setting up and testing a node, with completed code
July 17 2023
This is a quick post about implementing a classic trick to get black outlines – a duplicate object or extrusion with inverted surface normals. This little trick has been employed by countless CG artists and game devs to add a little bit of toon-iness. Here’s the contents of this post:
- Show how to accomplish this effect via the UI in Eevee. Thanks to the robust Blender community, that information is accessible all over the internet.
- Show how to get the same effect set up via code
- Tweaks required to get it working in Cycles.
- Discuss some of the related computer graphics concepts
I recently used this technique on a set of freelance animations I did for the Illinois State Geologic Survey, which you can check out on my animation page.
» read moreJune 3 2023
This is the first post I’ve made since I moved my portfolio and blog over to ktcg.art, so I thought it would be fun to make a post about that entire process. It’s a litte outside the tech art scope of my site. But, I can imagine other artist-developers being curious about how they can make a site like this themselves. This site is hosted on GitHub pages and built by Jekyll.
» read moreApril 19 2021
Hello! This is the second workflow breakdown for my thesis film. It will concern the motion capture animation process. Check out the first post about using Unity to make a short film that covers the Unity workflow itself, and watch the film itself on my animations page.
» read moreMay 10 2020
Hello! I recently completed production on 8-minute 3D animated short, which I made using Unity. In this post, I’ll be breaking down my workflow, from character modeling to final render. I’ll also be evaluating the merits and limitations of using Unity in this way.
» read moreDecember 18 2019
I wanted to share my process for setting up a character for mocap retargeting and facial animation in MotionBuilder. I prefer to make a clean character file to retarget onto, with all the possible assets that I would need for a given project.
» read moreAugust 11 2019
Last year, I worked on a short called Midland Safari Putt-Putt, which I animated in Maya using flat planes. I picked this method because I was the most well versed in Maya (as opposed to another animation software like Harmony or After Effects), but I didn’t have time to go through the entire 3D pipeline. However, I really wanted to tell this story (which is true, by, the way).
» read moreJuly 25 2019
This post isn’t going to a tutorial in the way that my previous posts have been. Rather, it’s going to be some advice on how to approach bringing custom animations and characters into Unity, based on my past couple of years experience working on projects that utilize the (Motionbuilder) - Maya - Unity pipeline, and I’ll try to update this post with new considerations that I discover!
» read moreJuly 9 2019
An eye controller that allows you to manipulate the character’s look-at point is a bog-standard feature of any rig:
If I’m just doing one or two shots, I’ll do my body/face mocap re-targeting in Motionbuilder, bake it, send it to Maya, and set up my eye controller in Maya. However, for work recently, I was re-targeting a huge number of shots to the same rig, and I didn’t want to have to set up an eye control for every single shot.
» read moreJune 11 2019
Hey everybody! For my first post, I wanted to share one of my absolute favorite things, which is doing automated lip syncing using Autodesk Maya and Autodesk Motionbuilder (both of which are available for free through Autodesk if you’re a student). This is a super powerful method to quickly get lots of talking animation if you are a little familiar with MoBu and pretty familiar with Maya.
» read more