[Released] UPixelator - Pixelate your scenes

Unity Pixelator is a shaderless solution for pixelating 3d scenes with pixel creep flickering reduction for orthographic camera.

It provides the basis for creating Pixel Art style games with 3d models.

WebGL Demo (scene included): https://radivarig.github.io/UPixelator_URP_WebGL/
Asset Store: UPixelator - Pixelize 3d Scenes | Camera | Unity Asset Store
Documentation and WIP: https://github.com/Radivarig/UPixelator_Documentation
Discord Server: Abiogenesis 3d

Shaderless
Requires no special shaders so you can keep your existing materials.

Pixelization
Achieved by rendering to a lower resolution render texture and upscaling to fit the screen.

Pixel Creep reduction
Camera and tagged objects are snapped to a grid of world space pixel size resulting in the same pixel colors being rendered while moving.

Stabilization
Snapping to pixel size grid makes the camera shake so subpixel offset is applied in the game resolution based on the snap position difference.

UI
Includes scripts for making canvas elements follow a world transform.
Includes examples for having a higher resolution text than the pixelized texture.

Render pipelines

  • Built-in ✓
  • URP ✓

For any questions you can write here, on Discord or contact me directly at reslav.hollos@gmail.com.

2 Likes

Here’s a showcase on a game scene with more details.

For anyone building to Andoid, please set the two RenderTextures under Abiogenesis3d/UPixelator/Resources/ to Color Format R8G8B8A8_SRGB. Seems that _UNorm has no compatible format on some devices.

A preview of the parallax feature

Pixel Art Edge Highlights module has been released and is available here!

1 Like

Is there a good way to achieve stable pixels in a perspective camera? I’ve been searching for a long time but haven’t found a suitable solution. Since it’s a voxel scene, I can’t use mipmaps. Also, changing the plugin’s camera to perspective mode didn’t work either.

@Lickbe although I never planned that I do have a work in progress on it, no eta at the moment. You can join the discord server to get notified for beta versions.