Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Effect Zone - A singular chain of effects, controllable by volumes/areas

Discussion in 'Works In Progress - Archive' started by daniel-eherbert, May 31, 2015.

  1. daniel-eherbert

    daniel-eherbert

    Joined:
    Dec 24, 2012
    Posts:
    34
    Effect Zone is in the Asset Store!

    Asset Store Link. Asset Store Forum Thread.
    ----

    TL;DR
    - Singular chain of post process effects which are controllable via areas in scenes; looking for pre-release testers! See end of post for testing details.

    -----

    Over the last few weeks or so I've been putting a lot of time in to a project I've come to call Effect Zone. The name may change, but for now it seems apt.

    In other commercial engines I've seen the ability to control and specify post process effects by regions or areas within the level/scene. For example, it is particularly noticeable in some Wolfenstein: TNO scenes when the player enters a building; tinting and depth of field are perhaps the most obvious to watch for.

    There are some great post process effects available for Unity, and the new Standard ones with Unity 5 are very high quality. However, I've not seen any ways to easily define or control effects by area/zone in Unity.

    In an effort to learn more about shaders (this is my first venture!) and to try and bring the previously explained functionality to Unity, I've come up with Effect Zone: a singular chain of post process effects, which can be defined and affected by areas within a scene.

    The UI tries to keep it fairly simple and straightforward:
    Inspector.PNG

    Some example images showcasing many of the current effects (using models/textures from the awesome Greeble Kit, Orbital Reentry Craft, and Zero Gravity Level Kit):





    The images above are using the following effects from the chain: depth of field (with collapsing blur kernels), 2 independent bloom filters, contrast, saturation, tinting, procedural noise, and more.

    imgur album of above images.

    This gfycat shows a camera entering and exiting an effect zone which destaturates (black & white) and applies vignette and full blur: http://gfycat.com/ThoughtfulAccomplishedIndianhare (Encoding/compression of the video has impacted quality)

    Moving forward, I plan on improving and optimising this package as well as adding more effects and features after release.

    Would love to know what people think!

    Pre-release testing
    I do intend to release this, hopefully in the near future. To reach this point I'm looking for a handful of people willing to do some testing for me and report back with issues/performance/queries/thoughts/etc.

    If you think you would like to be involved in testing, please register your interest with this Google Form.

    Please note that filling in the form doesn't guarantee you'll get a spot! I'm a solo dev doing this on the side and don't have an abundance time. :)

    Edit: I forgot to mention that I will give people that are involved in testing the full version on release (hopefully via vouchers through Asset Store, but admittedly I don't know much about that at this stage) Vouchers have been sent out!
     
    Last edited: Sep 16, 2015
    Jingle-Fett likes this.
  2. DrewMedina

    DrewMedina

    Joined:
    Apr 1, 2013
    Posts:
    418
  3. daniel-eherbert

    daniel-eherbert

    Joined:
    Dec 24, 2012
    Posts:
    34
    Been a little while since the original post.

    Last week Effect Zone was approved! More details over in the Asset Store forum thread (or the Asset Store page).

    Since approval I've started working on the next update which will include some new effects and other improvements. Some WIP screenshots below.


    Edit: I've now sent out vouchers to people that signed up to be testers. You can still sign up if you're interested, I may or may not send out test builds now that it has been released. Vouchers are limited per year so I won't be sending out any more for the time being.

    ----

    Simple motion blur (split-comparison with no effects):


    Radial Blur with support for position tracking:
    http://gfycat.com/FairConstantBushbaby

    Texture Overlays with multiple Blend modes (screen, multiply, color burn, etc):
     
    Last edited: Aug 2, 2015
  4. daniel-eherbert

    daniel-eherbert

    Joined:
    Dec 24, 2012
    Posts:
    34
    0.8 is getting closer to testing and release.

    Summary of changes coming in 0.8:
    • [New] Multiple overlays with blend modes (Normal, Add Subtract, Color Dodge, etc - 10 modes currently, more to come in the future)
      • Render Textures are supported as overlays too!
    • [New] Radial blur with targeting
    • [New] Motion/Frame trails
    • [Change] Bloom dirt masks now support anything deriving from Texture, including Render Textures
    • [New] Exposed "hidden" properties such as individual Bloom stage tints and strengths
    • [New] Added "Show advanced" toggle to show more fields to give more control
    • [Change] Reordered Tint and Saturation so Tint is applied after Saturation
    • [New/Change] Added/Expanded rudimentary API
      • Properties on volumes/cameras can now be enabled/disabled/changed at runtime
      • Volumes and Cameras now have events for when a camera enters/exits volumes

    Overlay:


    Radial Blur with targeting:


    Motion trails:


    Simple motion blur:


    More readable UI:


    Revealable Advanced Properties (the blue labels):
     
  5. daniel-eherbert

    daniel-eherbert

    Joined:
    Dec 24, 2012
    Posts:
    34
    Now that 0.8 is available in the Asset Store, I've started on features for 0.9. First in line is Temporary Effect Layers.

    They basically work the same as volumes, but once their weight curve has completed the layer is removed. You can create the Temporary Layers in your project folder for easy access and reuse from other scripts.

    For example the following screenshot shows one which adds some Tint and Aberration, and if the camera currently has Vignette enabled that will turn red and if it has Blur enabled the Blur Spread will be pushed up to 30x30. The curve determines the weight and the duration.

    This one fades in quickly and out more slowly.


    Here's a vid of a test scene set up to test Temporary Effect Layers:
     
  6. daniel-eherbert

    daniel-eherbert

    Joined:
    Dec 24, 2012
    Posts:
    34
    Another 0.9 feature in progress is a Displacement+Blur mask

    FEAR2 inspired cracked glass example:


    Red and Green in the mask texture offset UV coordinates, Blue denotes blur strength.

    Can also animate the Displacement texture:
     
  7. daniel-eherbert

    daniel-eherbert

    Joined:
    Dec 24, 2012
    Posts:
    34
    As part of adding LUT support to Effect Zone I've written some code which converts .3dl files (exported from Photoshop Adjustment Layers only at this stage) to .png files.

    Process is basically:
    1. Paste/open an image in Photoshop
    2. Add Adjustment Layers and tweak to get desired effect
    3. File > Export > Color Lookup Tables (.3dl only)
      1. Save it somewhere in the Unity project folder
    4. Go back to Untiy, locate the .3dl file
    5. Right click > .3dl to Png
    6. Done!


    The generated LUT texture should be compatible with Chromatica as well (and any others that use an 8x8 LUT grid)
     
  8. daniel-eherbert

    daniel-eherbert

    Joined:
    Dec 24, 2012
    Posts:
    34
    Gradually working towards a 1.0 release!

    Summary of changes since 0.8 (0.9 hasn't been released)
    • Displace and Blur mask
    • Advanced Channel Split
    • LUT support (including support for LUTs from Chromatica/Lutify)
    • Inspector definable events
    • (Rudimentary) custom effects support
    • Inspector performance and general improvements
    • Temporary effect layers
    • General shader improvements
    • Inclusion of source code (via a zip to keep projects cleaner for those that don't want to tinker)

    1.0 will include a small collection of LUTs, overlays, and blur/displace masks as well. Source .PSD files will be included.

    Fading between LUTs and Blur Dirt Masks:


    Overview of the provided User Resources for 1.0 (red thumbnails are .PSD files)
    upload_2015-10-9_17-0-31.png