Our goal has always been to make a 3D game. But there are a lot of challenges inherent in making your game fully 3D. The engine becomes a lot more complicated, and the art becomes a lot more expensive. It’s hard enough to come by good quality 2D art, but 3D art requires a unique set of skills to produce well, and a tool suite that can easily set you back thousands of dollars. Not exactly ideal for an indie team on an indie budget.
But what if you didn’t have to produce the art digitally? What if you could physically build the objects that you wanted in your game world, and scan them in? It certainly changes the equation a bit. Art doesn’t simply become ‘easy’ – in fact in some ways it’s a lot harder, but the skills needed to produce it open way up. You can now fall back on more classical art skills like sculpture and painting and work with your hands again. Found objects take on a whole new value as well. You can pick up a rock off the ground and it’s an original piece of art. The digital world doesn’t quite work that way.
So is it practical? It’s certainly not a new idea. 3D image capture software and equipment have been around for a good long time, and we’re starting to see a lot of it become available to the masses. Microsoft put image capture hardware into millions of homes when they launched the Kinect. 3D cameras aren’t exactly cheap, but they’re available. There are also some promising pieces of software that can construct a textured model from a set of 2D camera images.
Okay, so the tools are there, but can you use them to build game assets? The answer to that is a decisive “yes and no”. Simply having the ability to build a rough 3D model of a reference object is useful in and of itself, but it doesn’t get you all of the way there. It still needs to be cleaned up, patched, textured, and processed into a game asset suitable for realtime rendering. We’ve by no means done an exhaustive review of all 3D capture tools out there, but none of the ones that we looked at can get you all of the way there.
But some of them can get you pretty damn close. The one that we’re using is called 123D Catch, from Autodesk. It has a few nice advantages. First and foremost, it’s free – at least for the time being. It’s a beta release right now and open to the public free of charge. Our fingers are crossed that Autodesk will see what a valuable asset this software can be to the indie game community and will keep it reasonably priced if they do decide to charge for it in the future. Secondly, it works from standard photographs, so no additional equipment other than a digital camera is needed to use it. And last but certainly not least, it’s pretty good at what it does. It’s capable of producing high-resolution textured models that usually look pretty good right out of the box.
So that’s it, right? We just sculpt a miniature version of our game asset, take some photos of it, give it to 123D Catch, and it gives us a textured model, ready to be placed in our game world? Well…. no. The textured model you get out of 123D Catch looks good at a glance, but it has a lot of problems with it. If you want a good-quality model, then you’re going to end up with a mesh that’s way too high resolution for practical application in a 3D game world. Also, the atlased texture that you get out is pretty messy. And, you probably want different levels of detail of the model so it can be rendered more cheaply if it’s small or in the distance, which 123D Catch won’t give you. So in short, there’s still a lot of post-processing that needs to happen after you’ve scanned your object in and 123D Catch spits out the result. But at least the art is there, and it turns out that the rest can be automated. Sure, a lot of of this processing can look better when done by hand, but we’ve been pretty happy with the quality of the automated results, and very happy with the lack of work on our end.
In our next post, we’ll take you on a tour of our home-built 3D capture photo studio, and explain the importance of having a controlled lighting environment when capturing models that you plan on using in a video game. There might even be pictures.