1
\$\begingroup\$

I find that pixel art is really pleasing to look at; it has this kind of crisp, satisfying perfection to it.

I've been following some beginner pixel art tutorials, when I got an idea: what if someone made a shader (in GLSL for example) that took 3D scenes and did the best possible job at making it look like it was drawn by a pixel artist? The concepts of anti-aliasing and shading should be relatively easy to perform. Constraining your colour palette would be very simple as well.

Of course, no computer program could outdo the manual work of a great pixel artist, but has anyone ever tried this before?

  • Is this idea at all possible?
  • Are there any games that use it?
  • Have there been (documented) failed attempts?
\$\endgroup\$
  • 1
    \$\begingroup\$ Did you google it? reddit.com/r/Unity3D/comments/3orb3u/… \$\endgroup\$ – MichaelHouse Aug 23 '17 at 21:19
  • 1
    \$\begingroup\$ The streets of rage parody sequence in Saints Row 4 does a pretty good job at converting your character to a pixel art sprite. You can tell it's not using handmade sprites because your sprite represents all the countless character customization choices you made. But this doesn't help you, because the question you actually want to ask is not "is it possible" but "how is it possible". \$\endgroup\$ – Philipp Aug 23 '17 at 21:22
  • \$\begingroup\$ @Micheal House: Yes, I did google it, but I guess I didn't use the right keywords. I only turned up a reddit thread about shaders that mimic CRT monitors \$\endgroup\$ – Mahkoe Aug 23 '17 at 21:23
  • \$\begingroup\$ If you attempt this, I think you should initially aim to just do it black and white and see if you can get crisp 1-pixel outlines on everything, like so: purloux.com/images/artwork/tutorials/rundown/lines2.png. If you can get those crisp outlines, the rest is pretty easy to fill in. \$\endgroup\$ – user77245 Jan 5 '18 at 1:23
2
\$\begingroup\$

To get a look very close to pixel art, simply use a cel shader and upscale the result without interpolation.

This will give you proper results for still images, but the illusion will fall apart as soon as you see it in motion. Why? Because there are some things which you see very rarely in classic pixel art games, because they take tremendous effort to create:

  • Rotating objects by angles which are not divisors of 360°
  • Allowing objects to rotate on more than one axis
  • Enlarging and shrinking objects in non-fixed steps
  • Use a very large number of animation frames
  • Changing the direction from where an object is lit

When you overdo any of that, the viewer will notice you are actually using a 3d engine and not real pixel-art.

  • To avoid uncanny scaling, use an orthographic projection.
  • To avoid uncanny rotations, only rotate objects by 90° angles (45° at most). That includes your camera. Note you can get away with starting at an uneven angle. That way you create fake pixel art with an isometric or dimetric perspective.
  • To avoid uncanny animation smoothness, jump directly between animation keyframes without interpolation.
  • To avoid uncanny light direction changes, use ambient and constant directional light only (what you can change, though, is light color and intensity. "Real" pixel art games often simulate that by changing the color palette)
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.