Making an Original Short Film in Unreal: Part 1

Anthony Koithra
Locodrome
Published in
7 min readFeb 6, 2024

This is the first in a series of posts about the production of my original short animated film ‘Machines Learning’. I’ve written about some of these techniques in more detail in earlier posts about my older fan shorts ‘Rogue Squadron’ and ‘Avengers: An American Workplace’.

As a relatively new animator, and one that is attempting to make short films largely by myself, I struggle with how much to bite off with each project. Play it too safe, and you don’t learn enough. Get too ambitious, and you never finish. I hit the reset button twice on the way to this project — shelving ideas I love and have partially developed — in the face of the insurmountable fact that they are too much to handle right away.

‘Machines Learning’ is a very simple story about the industrial robots in a factory rebelling against their human overlord. Single interior location, single human character (a custom Metahuman), no custom built models, no written dialogue, no cloth / hair / fluid sims, no path tracer, no custom shaders or painterly looks. As simple as I could make it while keeping it artistically interesting.

I started with a simple text outline, which I circulated among a group of friends and iterated until I was reasonably happy with it. Then came storyboarding, which I just chicken-scratched with pencil on graph paper, and then scanned into Storyboarder (next time I’ll use their templates to speed things up). The story evolved (as it always does) in this process, and by the time I was done with this, the “simple” story was 146 shots. For context, the most ambitious thing I’ve done so far was ‘Rogue Squadron’ and that was 63 shots and took 4 months. I’m trying to make this one in 3 months — I’m 5 weeks in and am already fairly sure it will stretch to 4, especially with some travel we have planned in the middle there.

Next came asset selection and setup. I found a set of nice rigged industrial robots on CGTrader, made by Vadim Pogrishchak. I realized I’d have to build Unreal control rigs for each skeletal mesh, and struck a deal with Vadim to give him the rigs I made in exchange for a bunch of other industrial and control panel meshes he was selling in other packs. I learned a ton about FK/IK rigging and control design through the repetition of rigging 12 different robotic skeletal meshes (the short version is A) FBIK is the only IK node you really need, and B) this guy’s auto-rigging functions are a huge timesaver). My story has the robots combining themselves into a giant mecha-kaiju at the end, so I had to combine 6 different skeletons and meshes in Blender and then rig the whole thing in Unreal.

Contrary to popular belief, rigging can actually be fun — once you know what you’re doing :)

I’ve been thinking about this story idea since late November of last year, and spent some time getting the human character setup during the holidays. The body is a mesh I got off CGTrader, with the head removed, more topology and subdivisions added, rigged to a UE4 skeleton with Accurig, and fully re-textured in Substance Painter. The head is a custom Metahuman prepared using a similar process to the one I documented here (and with the same custom target head shape — also from a CGTrader model). I connected the head and body with a socket, and a little magic in the Metahuman AnimBP. This guy is the villain of the piece, so I tried to make him somewhat unpleasant looking, while maintaining basic character appeal.

UE4 rigged skeleton with a custom Metahuman head attached

The product that my factory is manufacturing is a home service robot, named Homebot. I found a cute robot model on ArtStation and broke him up into parts. Since his components would be exposed, I needed to fill the body shells with metallic innards, and some re-textured kitbashing with the always useful Mech Squad kit from BMS did the trick. I also needed schematics for this robot to be visible, so I spent half a day making fake blueprints, with a little Midjourney for generic schematic squiggles, some outline renders in Blender, and a lot of Photoshop to tie it together. I even did some simple branding for the packaging.

Lots of Midjourney-generated squiggles in the margins :)

The factory building itself came from Denys Rutkovskyi’s amazing Factory environment which I snagged when it was a monthly free asset on the Unreal Marketplace at some point last year. It is incredibly detailed, all the way down to towels on the floor of a working shower for factory workers, and a huge network of steam pipes under the floors. I needed a much simpler and more immediately legible version, so I spent a few days fully re-arranging the environment. The fastest way I found to do this was categorizing the assets into folders, then hiding everything, and unhiding folder by folder to pick what I needed, recolor / rearrange as needed, and delete what I didn’t need. I kept everything at the right scale by having models of the characters in the scene as I went. It was pretty painstaking work, but a fun art direction exercise — layering on detail after detail while keeping the red / green color palette, and the story mechanics in mind.

If you want a wide shot, the assembly line has to (roughly) make sense

The most complex part was really the assembly line itself — I wanted a few wide shots of the entire factory working, and so I decided to make the assembly line (roughly) make sense vs. faking each shot. This would also save time per shot since I could just “find” framing that made sense vs. constructing each frame from scratch. Easier for continuity, as well as organic asymmetry, and a lived-in feel. So I worked backwards from the Homebot components and how they might fit together, and picked the industrial robot that made the most sense for each stage. I also wanted some kind of “face” for the industrial robots, to progressively build empathy for how badly they are treated — so I kitbashed together some little controller robots with cabling to each of the industrial robot arms.

Tricky balance with robot faces — don’t want them getting too anthropomorphic

Finally there was the control room, where a good amount of the action takes place. The shell came together with assets from the original factory environment. I then re-textured the whole thing, adding labels and specific components as I needed for the story. Vadim’s switchboard and industrial packs came in handy here, and I was able to make them all feel mostly cohesive. I did have to re-bone, add polys and generally clean them up for close-ups, but they worked well.

I realized that I needed to have animated content on the many computer screens, and did not want to manually think through and animate a bunch of screens in AfterEffects or something like that. So I decided to give Runway Gen2’s automated multi brush AI animation tool a try, using screens generated in Midjourney. It required a little Photoshop and some compositing in Resolve to get it all looking like I wanted, but it was a nice time saving technique. While these won’t stand up to super close scrutiny, as background props they work great.

No AfterEffects used in these animated prop screens

So much for preproduction — I’d budgeted 4 weeks time to do all this, and cheated a bit because I’d already done the engineer character. I stayed mostly on time with all the outlining, storyboarding and asset prep. This past week, Week 5, I started actually shooting, and as expected ran into a bunch of random blockers. For example, I found I needed to control many tens of lights efficiently at a time. I ended up figuring out a pretty elegant controller using a Blueprint (based on this technique)and a Material Parameter Collection, but it cost a good half of a day. I only got rough versions of 8 shots done this first week of production, and while I expect things will speed up as I go, I think the 4 weeks I budgeted to do a rough cut version of all 146(!) shots will easily stretch to at least 6. Let’s see how it goes.

Set wildly ambitious deadlines, and even when they slip you still end up moving pretty fast.

I’m posting almost daily updates to @locodrome on Instagram, so if this kind of thing is up your alley, feel free to follow.

--

--

Anthony Koithra
Locodrome

Filmmaker. Strategic Advisor. Former MD & Partner at BCG Digital Ventures.