#indiegames
I’ve been on contract with SPITE HOUSE to develop Trundl.buddy and the Ghostly Wi-filactery for a little over a month now, and one of the biggest issues is 2d art in 3d space. The whole team has wrestled it enough to share some initial observations. If you’re a dev, you might find them useful. Preface: we’re using Unity as our engine, but you might find these concepts helpful in others.
SHADERS AND MATERIALS ARE A PAIN IN 2D ART
Do your research if you plan to pull any fancy lighting, material or shader tricks with your 2d art! Anything that doesn’t use the standard sprite shader has given us trouble with z-fighting and lighting, and we’ve had to do a bit of custom shader work to overcome this. Be wary!
USE QUADS
This is mostly if you want to be able to do lighting or repeat textures, but quads (at least in Unity) are built to be 1x1 units, allowing you to resize and position things with certain accuracy. For example, our grid needs to be defined by how many spaces it contains, as well as the size of the spaces themselves. Quads let us make quick and easy calculations.
LAYER YOUR OBJECTS
Achieving the illusion of depth and height is very difficult with 2d art, but we can fake it by layering our objects on the distance axis. This lets us create rough canyon walls with varying details and depth without having to worry about stretching art across a side-lining quad.
USE CAUTION WHEN DRAWING PERSPECTIVE
As long as most of your art is drawn assuming the camera will point directly at it, you can pull off perspective and depth pretty easily. But in some cases you’ll want to draw perspective into your art, as seen in our canyon walls. Plastering them to a quad lining the edge of our road made things look very flat and lose detail, especially at a shear perspective. We ended up drawing our perspective into the art itself, then facing them directly to camera. This allowed us to retain detail while varying quad placement along the horizontal axis to craft interesting “geometry.”
I’m sure there are many solutions to problems like these when using 2d art in 3d space, so don’t take my word as law; you might find your own solutions! I hope this will make at least some of you aware of the challenges and considerations you’ll have to make with this approach.
Ray Grice
Designer and Developer
raymondjohngrice.com