1
\$\begingroup\$

Sorry, still fairly new to the game here but my pixel art gets little ridges on it when I rotate it in unity. I'd like the pixels to rotate all together. Is this just because I need to make my pixels "bigger" in relation to the camera, or is there some other solution? I've attached a picture of the original and how it looks in-game rotated. Once again, sorry if this is a stupid question.

in game

original

\$\endgroup\$
3
  • 2
    \$\begingroup\$ What would you like this to look like instead? Can you mock it up in an image editor, or find a similar example to show us? \$\endgroup\$
    – DMGregory
    Oct 28 '21 at 16:01
  • \$\begingroup\$ Rotating pixel art without causing any visible artifacts is a lot more complicated than you would think at first. This is not a unity-specific issue but one which affects the medium of pixel-art itself. More about this here: How can I rotate pixel art sprites without the aesthetics getting ruined? \$\endgroup\$
    – Philipp
    Oct 28 '21 at 16:18
  • \$\begingroup\$ In Unity this is actually very doable. I do not recall how exactly to reproduce the solution but the idea is that you tell Unity that each pixel of your art is e.g. 10x10 pixels on the screen. In that case Unity has a lot more leeway of pixels when doing rotations and things will look much smoother than if you rotated a single pixel (which as explained, you can't really do). TL;DR: Tell Unity to render each if your pixels using a lot more screen pixels. I do not exactly remember how this is done but that's the basic premise. \$\endgroup\$
    – PentaKon
    Oct 28 '21 at 20:09
2
\$\begingroup\$

Any image rotated will produce artifacts, filtering helps, see here some examples from @Philipp's commentary link:

enter image description here

What basically happens is that when you rotate a image, you're trying to rotate pixels, which are square based, see the example of rotated pixels without filters, it has unpleseant artifacts, scalling the sprite will not solve your issue.

Any image filtering will work and be the easiest solution, it will however make your sprite a little blurry.

The hard solution is to make other versions of your helicopter, drawing your object in the angles you need and calling for them at the times you need, I will try to find a example of what I am talking about:

enter image description here

There are a lot more complex solutions, but that would be overkill IMHO.

TLDR: Use filtering, it helps with image scalling and rotations, if you want the pure pixel look, either lower resolution and globally disable your rendering filters, or make your own rotations in like a sprite sheet.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .