Sunday, March 18, 2018

2d - How can I rotate pixel art sprites without the aesthetics getting ruined?


I'm right now in front of a huge "Game Design" question. I'm making a pixel-art-ish game and using bilinear interpolation could solve lots of animation-issues. On the other hand, its not a "pixel-game" anymore.


If I use Bilinear Interpolation the animation works but it looks "hybrid-ish" and the artstyle gets lost. Either I mess up my animations or I mess up the artstyle. I cant have both it seems.


Is there any other way to solve this?


enter image description here



Answer



Automatic rotation of pixel art by other angles than 90° usually goes wrong. If you want to maintain the pixel-art aesthetics you usually won't get around redrawing your art in each angle.


If you use a faux-retro look where your sprites are actually in a far higher resolution than they look, you can sometimes get away with upscaling them by an integer factor without interpolation in your graphic editor and then rotating them in linear interpolation at runtime. To avoid your sprites from getting blurred while in original orientation, always ensure that the drawing position is rounded to the nearest integer (some graphic engines/frameworks/libraries allow you to draw sprites on floating-point coordinates which often results in blurring). But that's usually still just a lazy substitute which doesn't reach the quality you can reach with manual work.


Here is an example of a sprite in the original size, upscaled by factor 3 without interpolation and then rotated by 30° with linear interpolation:



enter image description here


No comments:

Post a Comment

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...