Alec Moody is working on an amazing project WRENCH, with the goal of creating a VR, experience, where you can assemble a vehicle out of scanned 3d parts. But first, he has to take the car apart!
Hello. My name is Alec Moody, I have been working on games since 2002. Most of that time has been freelancing and I have worked on a range of projects including AAA console games, racing sims, and indie games. I also co-own handplane which is a small tools developer making baking and normal mapping software. I also have an undergraduate photography degree from SCAD, which is enormously useful with photogrammetry but has also helped develop visual skills that I draw from as a game artist.
How was this project born?
Until I started this project, I spent most of my weekends working on and playing with cars. I have a first generation Miata that I auto crossed for a few years and started preparing for track days. I also do some carbon fiber and steel fabrication. I love fabrication, problem-solving, and design. Motorsports are a great outlet for my interests.
I think VR is really compelling and that at its core VR is about spatial relationships. Unlike a flat game, you can actually consume content in a physical space. It’s the difference between architectural photography and actually standing in the building. A game about how things fit together is a natural fit for for that. I had the idea for Wrench about two years ago but I put it on the backburner while I tried to nail down a time efficient workflow. The challenge is building the content. A single car worth of parts is a monumental task.
This project involves nearly every skill I have acquired in the last 15 years. If you make a Venn diagram for who would be most qualified to build this game you would need to find someone who:
1) Does hard surface art at a high level.
2) Has substantial experience working on cars and this chassis.
3) Has the experience/skill to do high-quality scans and the space to do the work + an inventory of all the parts.
That Venn diagram becomes so small that it was a clear indication to me that I should pursue this.
Last March I had an unexpected gap in my work schedule and I decided to jump in with both feet. With the exception of one short contract, I have been working on it full time since.
Working with scanning rig
My scan setup is a Nikon D800E, Sigma 50mm 1.4, and 3 monolights. The lighting is the key. Using flash photography I can hand hold at iso 100 and f/11 with every image is perfectly sharp. Hand holding allows me to snap off images quickly and give me flexibility position myself on critical areas of any object. Most of scans are about 500 images which takes me about 20 minutes to shoot. I usually spend more time cleaning parts, fixturing, and setting up lighting than I do holding the camera. I also treat all the surfaces with a developer spray (Canseco d2000-a seems to be the cheapest option in the USA) intended for weld crack inspection. Fixturing parts typically involves quickly fabricating a bracket to hang from my garage ceiling. This lets me see all sides of a part:
Modeling & Using AutoCAD
Building complex mechanical systems that players can actually assemble is an order of magnitude more complicated than modeling an assembly that only needs to look like it fits together. I wrote an article about this for my blog.
The short version is, if a part isn’t dimensionally accurate it’s not going to line up or fit nearby parts. If you start adjusting neighboring parts to make things fit, you will stack errors and create headaches later on. I plan to do a lot of aftermarket parts for Wrench. Knowing that all the art is accurate makes it easy to swap parts and assemblies. If a part fits in real life, it will fit in my game.
About 60% of the high poly modeling in Wrench is from the scan. Everything else is polygon modeled in 3dsMax and sculpted in Zbrush. Zbrush is also a great tool for scan cleanup. I remodel any part of a scanned object that is machined or needs to be super clean. It helps that 99% of the parts I’m scanning are things I could model and sculpt at a comparable quality- this way if I run into problems I don’t find myself stuck- I can always just remodel things as needed. The scanning is really about speed and dimensional accuracy. Occasionally I will build something where scanning becomes a huge win. For example, these hands:
I took these hands from scan to working in the game in just two days. I’m not a character artist and the quality level is well above what I could have accomplished modeling from scratch.
For a lot of parts that are clean or easy to measure, it doesn’t make sense to do any scanning. In those cases I just sit down at my desk with calipers and model them from scratch. These two images are good examples of just modeling + sculpting:
My rule is that any part of the car I expose for maintenance gets modeled in full detail. I also treat every part of the car as a hero prop, nothing is taken for granted, including the thread pitch and coating on my fasteners:
Based on the initial reaction to posting a video of my prototype (about 7.5 million views across platforms where it was shared) I think the obsessive level of detail is paying off. I took this 4k wallpaper image from in game, it shows the front suspension parts laid out on the floor:
Optimizing assets for VR environment
Getting from scan data to the low poly model is the biggest challenge in my workflow. The most intricate single part of the car is the cylinder head casting. As a result, this was the biggest stress on my workflow. The scan managed to capture all of the internal airflow passages. This should give artists a sense of how much surface area is packed into this model:
I have a few different strategies for building a low from scan data. For cast objects like this cylinder head, I typically decimate in ZBrush to a level that 3dsMax can handle, followed by pro-optimize in max. Next, I manually remodel anything that needs to be clean or round. Typically that would be machined surfaces and all the bolt holes. Doing UVs without edge flow is a nightmare and Unfold3d has helped with that a lot.
Occasionally I run into edge case scenarios like this cast valve cover where I want a scan for the high poly but clean topology for the low. For the valve cover, I wanted to scan it to get the surface texture from the casting, but the forms or are so regular and clean that the low needs a from scratch model. The outside of the valve cover is pretty simple but the inside is intricate:
When you are working from scan data you don’t get to simplify details that would be a pain to model or bake. As a result, the lowpoly phase can be really tedious – you need to model whatever complexity happens to be on the real object. Also, modeling for VR is a little different than modeling for a flat screen. I don’t just model for sillohuete, I model to match the form as closely as possible. For example, the ribs and small details on the inside of this valve cover are all in the low res model. In the game, you perceive all of those depth differences and it really sells the content.
Since my low poly models so closely match the high res geometry, baking is pretty easy. I use handplane baker. It’s my software so it happens to be built in a way that meets my needs. Being all CPU based I can throw 20 or 40 million triangles at it and handplane will chew right through it on my 3 year old I7. I do all the materials from scratch in Substance Painter. The high res models have all of the surface information and that translates well into the bakes. My materials are almost entirely solid color layers using substances masking tools. Having the surface detail in the bake output makes material creation easy.
I’m not ready to announce a timeline yet. I could have the art for baseline car finished off in a few months but I split my time between building content and working on the game itself.
If you’re interested to learn more about the game, make sure to check out the official website!
Alec Moody, Freelance Video Game Art, Handplane Co-Owner.
Interview conducted by Kirill Tokarev.