2D sprites - Can I use point filtering without getting the "rippling" effect when the camera moves?

I’m trying to decide whether to use Point or Bilinear filtering on the sprites in my game. My preference would be to use point - the style is pixel art and I’d like the edges and colours to be sharp - bi or trilinear filtering seems to dull the colours slightly and the edges become blurred.

The trouble with using point filtering is that fast movement seems to cause a rippling effect on the sprites - almost like the pixels in a single sprite are trying to move in different directions or at different speeds. The effect is subtle and hard to explain but it can be seen in Unity’s 2D platformer demo project - if you change the filtering of the spaceship’s sprite to point and then jump around you can see that the edges of the ship have this “rippling” effect.
On my pixel art backgrounds this effect is enough to make the handheld camera script I’m using look terrible - it looks fine when all the sprites are bi or trilinear.

Is it really just down to choosing between the lesser of two evils or is there something I’ve missed? Thanks very much!


Bilinear filtering was invented exactly to fix the flickering point problem you’re describing. In other words, yes, you can fix the rippling, by switching to bilinear filtering! And the way it fixes the ripple is by blending (blurring) the colors, as you describe.

I’d go with larger images (but still pixel art – like quadrupling each pixel) Doubling the pixels will cut the interpixel “blend zone” in half. And the images will still compress to about the same size.

http://www.third-helix.com/2012/02/making-2d-games-with-unity/ gives info on how to set the orthographic size so that you have sharp looking pixels (using point filtering) and no movement rippling.