Image tearing at small sizes


I am making a 2D top-down game with pixel art.
The image assets I am creating are of sizes between 8x8 and 64x64.
When I import them in the game I keep the original size. By that I mean: I do not scale the sprites.
This result in really small sprite compared to the zoom of the orthographic camera, so I set it the zoom to about 5 with FIXED_AUTO projection.
But I notice image tearing when I move the sprite. I have a spaceship sprite of 8x8 which I move at high speeds and the sprite start to tear. That’s is also near the world origin.

I am unsure of what is the best practice when creating low-res images & importing them into the engine. Should the original assets be with more pixels or should I scale them up in the game?

I found that the image tearing was caused by the Lerp value of the orthographic camera by britzl.
It was with a value of 0.5, but when set to 1 it seems like the tearing is gone.
But my original question remains: what do you think is the better approach when using low-res images for a game?

Hi @Anton_Tsirov !

I’m not sure what this tearing looks like for you, perhaps you can post a screenshot?

In any case, when doing pixel perfect games, you likely want to set the texture filtering to Nearest filtering on your materials.
And also you may want to disable the sprite.subpixelsin the game.project.

Hi @Mathias_Westerdahl

Thanks for the fast response.
I tried setting the subpixels to false, but it caused way more tearing. I guess because I am moving the object smoothly and not by whole pixel. And about the filtering to nearest: I only found the option in game.project → graphics → texture min/mag filter which were already set to nearest. In the sprite.material I cannot find anything about texture filtering.

As I mentioned in my edit, the tearing got way less noticeable when I set the Lerp of the camera to 1.
I attached 2 gifs: first one is: lerp 1, subpixels off, second one is : lerp 0.5 subpixels on (the original reason why I created the post)

Just a thought: is game.project → display → vsync checked?

Nope, those are the settings for display.