How to make 3d models look like 2d pixel art?

After trying a lot to make a 2d pixel art game, i found out that i wasn’t ready to draw every 2d image by myself, so i decided that making a 3d game with 2d looks would be easier since I’m used to blender and can do some basic stuff (which is what i need).

So, my question is, is it possible to make 3d models look like 2d pixel art? (using orthographic camera and some kind of cartoon shader)

Thanks in advance.

Hi there,

Yes, this is possible. I’m not an expert in this area, but I’ll offer what info I have.

  1. Use 3d models in game, set the camera to ortho.
  • This will give you a 2d perspective on a 3d world
  • This approach will likely require more processing power.
  1. Use a program like blender to capture images of the 3d models in motion (walking, attacking, etc). Then create sprite sheets and render these sprites on planes. Have a look at pre-rendered 3d.
  • This will be closer to an actual 2d environment, with one of the axes set to 0
  • This may not be a good idea if your characters have a lot of animations

There may be other options. I can confirm option 2 as viable, as I’m currently using it. One of the things you should consider when trying to pick between these 2 options is how many animations your characters will have. If it’s an awful lot, you might be better with option 1, as option 2 could lead to the creation of enormous sprite sheets.

I strongly suspect that option 2 would require significantly less processing power, (rendering an image on a plane, rather than a model) but I haven’t tried both techniques, so I can’t be sure.

EDIT 1: Have a look here for some more info on pre rendering

EDIT 2: Didn’t realise when I was answering that the emphasis was to get a pixelated look. Some graphics programs have a pixelate plugin or function. You could try to pixelate the sprite sheets if you go for option 2, but it’s hard to say if this will give you exactly the look you need.

If you’re using Unity Pro, one way to get a pixelated look is to render a 3D scene onto a low-resolution rendertexture, and then scale that rendertexture up to fill the screen (make sure you use Point texture mode so it doesn’t get soft edges when resampled).
In the shader attached to the rendertexture you could also adjust the colour palette (posterise or dither, say), which would make it look more convincing.