Search Unity

Pixel Nostalgia V2.0 - Now working with the Post Processing Stack v2

Discussion in 'Assets and Asset Store' started by DavidArppe, Jun 2, 2019.

  1. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    Hi all! I thought I would make this post, to start a discussion. Get some feedback, show my recent contribution to the asset store!



    It's called Pixel Nostalgia, and it's the first asset I made for the asset store, back in 2017. Back then, it was rejected because I didn't have a website ;) But it's been up on the store for a while now. This recent update is pretty major. I've updated everything to use the newest Post Processing Stack, meaning this asset now works with scriptable render pipelines! I made the change when a user pointed out that it doesn't work with the LWRP.

    I took this opportunity to add a few new features as well. It supports post processing volumes and blending, and there is a grayscale option as well.

    And here is a brief overview of what this asset can do

    It works on a technical premise: You can simulate various color depths. For example, 8bit color. This means that colors are represented by only 8 bits. On your computer screen, you see colors because red, green, and blue pixels are blended together. The intensities of these pixels make up millions of colors. With 8 bits, you can only create 256 colors.

    Red and Green pixels get 3 bits each (totaling 6 bits), and the remaining 2 bits are given to the Blue pixel. Because blue has 2 bits, it can only have 4 states. Here's some binary to help visualize:

    | bit 1 | bit 2 | output number |
    |-------|-------|---------------|
    | ....0 | ....0 | ............0 |
    | ....0 | ....1 | ............1 |
    | ....1 | ....0 | ............2 |
    | ....1 | ....1 | ............3 |


    And so those 4 colors we can represent, can be turned into pixel intensities, like this:
    0% --- blue
    33% -- blue
    66% -- blue
    100% - blue


    To help alleviate the lack of color depth, some geniuses came up with a technique called dithering. It's used to take a high-precision color, and convert it into a lower-precision color, with the side-effect of looking very cool. The screenshot at the top of this post is made with 6 bits, which means we can only show 64 colors! With dithering, you can trick your eyes into seeing more colors than there actually are.


    8bit, Downsampled, with Dithering


    Grayscale (1 bit), Downsampled, with Dithering


    4bit, Downstampled, without Dithering


    5bit, HD, with Dithering (with a high separation)


    Anyway, that's enough theory. You can also do fun stuff like ASCII mode, and faking a CRT monitor (without all of the static electricity). I have added some presets for screen resolutions, and color depths.


    ASCII Effect


    CRT Effect


    Here is a web demo hosted on itch.io, in case you're interested in trying it out. The settings menu in this demo has all of the same options as the editor GUI does inside unity, so it's the exact same experience!
    https://davidarppe.itch.io/pixel-nostalgia-demo

    And the asset Store link (at the time of writing this post, Pixel Nostalgia V2.0 is pending review. So it might take a few business days to update):
    https://assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/pixel-nostalgia-63909

    Any questions, comments, or concerns? Personally, I was a bit concerned using Post Processing stack. It's very powerful, but it requires that you download the package either from the Package Manager, or GitHub (Unity versions 5.6 - 2017.2).

    I tried to make this as user friendly as possible, but I am concerned for non-programmers. My code will give a warning if the packages aren't downloaded, and after that, a single line needs to be commented out for it to work. For older versions of Unity, it involves downloading code from GitHub. I have a readme which explains how to do this as well,

    And finally, here is a video. It shows the start-to-finish process of adding and tweaking the effect,


    I'd love to hear from you guys. Pixel Nostalgia was made for this community :)
     
    Mauri likes this.