mulova / unity-dither4444

AssetPostProcessor for making high-quality 16-bit color textures in Unity.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

unity-dither4444

This example shows how to make a high-quality 16-bit color texture in Unity.

Abstract

Unity supports 16-bit color as a texture color format, however it introduces significant color banding.

Image A (original)Image A (default)

Image B (original)Image B (default)

(Left: original image, Right: 16-bit converted image)

It’s mainly because of lack of dither -- Unity simply quantizes the image to 16-bit without any fancy algorithms. It can be improved by dithering the image before quantization. This example does it in the AssetPostProcessor script.

Image A (original)Image A (dithered)

Image B (original)Image B (dithered)

(Left: original image, Right: 16-bit image with dithering)

Usage

Add “Dither” to the end of the filename, or import an image with the “Dither” suffix. The AssetPostProcessor script automatically detects and convert it. You can change the behavior by modifying the script. See the script for further details.

License

The script files in this repository are in the public domain. You can copy and paste it without permission or attribution.

About

AssetPostProcessor for making high-quality 16-bit color textures in Unity.


Languages

Language:C# 100.0%