Requires Unity 4.3.0 or higher.
** Requires Unity Pro **
Colorful is a collection of fast and high quality post-processing effects inspired by the greatest color correction tools from the most popular graphic editing applications. Continuously supported since mid-2012 !
All effects can be animated via scripting or using the Animation window.
Effects included:
* Analog TV (CRT, noise, scanlines, distortion)
* Bleach Bypass
* Blend (21 blend modes, MovieTexture support)
* Brightness / Contrast / Gamma
* Channel Mixer
* Contrast Vignette
* Convolution Matrix 3x3
* Cross Stitch
* Double Vision
* Fast Vignette
* Frost
* Gradient Ramp
* Grayscale
* Halftone (Black & Wwhite and Colored)
* Hue / Saturation / Value
* LED
* Levels
* Lookup Filter (LUT Color Grading)
* Negative
* Photo Filter
* Pixelate
* Posterize
* Radial Blur ("Zoom" Blur)
* RGB Split
* Sharpen
* Threshold
* Vibrance
* Vintage (24 high-quality filters)
* Wiggle
Tested with Unity Pro 4.3+. Works ondesktop as well as mobile platforms (DirectX 9, DirectX 11, OpenGL, OpenGL ES 2.0) for both 2D and 3D games. Full source code included.
If you need a version compatible with Unity 3.5 to 4.2, please contact me.
Also compatible with Amplify Color's Volume Blending feature.
http://www.thomashourdel.com/colorful/doc/
Introduction & Usage
Colorful is a collection of high quality post-processing effects and color adjustments inspired by the greatest color correction tools from the most popular graphic editing applications. If you're familiar with Photoshop, you should feel right at home ! You can apply these effects in two ways : - Select your camera and click on one of the filters listed in Component -> Colorful.
- Select one of the components in /Colorful/Components/ and drag it onto your camera.
Requirements
All these effects require Unity 4.5+ Pro or Unity 5.0+ (Personal or Pro) and have been tested and are currently used in production on the desktop, webplayer and mobile platforms (iOS and Android). Most effects require a GPU with support of Shader Model 2.0 : NVIDIA cards since 2003 (GeForce FX), AMD cards since 2004 (Radeon 9500), Intel cards since 2005 (GMA 900), OpenGL ES 2.0, Xbox 360, PS3. Some of the more advanced effects and presets require Shader Model 3.0 : NVIDIA cards since 2004 (GeForce 6), AMD cards since 2005 (Radeon X1300), Intel cards since 2006 (GMA X3000), OpenGL ES 2.0, Xbox 360, PS3. Image Effects
Analog TVThis effect simulates old CRT screens, with scanlines, static noise and barrel distortion. - You can animate the noise by changing the Phase value at runtime. Auto Phase will automatically update the Phase every frame.
- Scanlines Intensity depends on Noise Intensity.
- Animate the Scanlines Offset value to scroll them updwards or downwards.
- The Scale value is useful to avoid screen streching on borders with heavy distortions.
Bleach BypassBleach bypass, also known as skip bleach or silver retention, is an optical effect which entails either the partial or complete skipping of the bleaching function during the processing of a color film. By doing this, the silver is retained in the emulsion along with the color dyes. The result is a black and white image over a color image. The images usually would have reduced saturation and exposure latitude, along with increased contrast. Best used with a Fast Vignette effect.
BlendThis effect lets you blend a texture on the screen (Texture2D, MovieTexture, or any other subclass ofTexture). The following blending modes are included : - Darken, Multiply, Color Burn, Linear Burn, Darker Color
- Lighten, Screen, Color Dodge, Linear Dodge (Add), Lighter Color
- Overlay, Soft Light, Hard Light, Vivid Light, Linear Light, Pin Light, Hard Mix
- Difference, Exclusion, Subtract, Divide
Brightness / Contrast / GammaThis effect lets you make simple adjustments to the tonal range of a rendered frame. Moving the Brightnessslider to the right increases tonal values and expands highlights, to the left decreases values and expands shadows. The Contrast slider expands or shrinks the overall range of tonal values in the rendered frame. The last slider adjusts the Gamma using a simple power function.
Channel ClamperThis effect lets you clamp each channel independantly to a minimum and maximum value. It can be used to limit or force the amount of red, green or blue.
Channel MixerThe Channel Mixer options modify a targeted color channel using a mix of the existing color channels in the rendered frame. Color channels are grayscale images representing the tonal values of the color components in an rendered frame. When you use the Channel Mixer, you are adding or subtracting grayscale data from a source channel to the targeted channel. You are not adding or subtracting colors to a specific color component.
Channel SwapperThis effect allows you to combine or swap color channels. For each channel you can choose a source which will be used as the output for the given channel.
Contrast VignetteLike the Fast Vignette effect, this is a very optimized vignette effect if you don't need advanced features like blurry corners & chromatic aberrations from the effect bundled with Unity. Unlike it, it lets you tweak the contrast in darken corners which results in a more photographic look.
Convolution Matrix 3x3This effect studies successively every pixel of the image. For each of them, which we will call the "initial pixel", it multiplies the value of this pixel and values of the 8 surrounding pixels by the Kernel corresponsing value. Then it adds the results and the initial pixel is set to this final result value. The Divisor field can be used to normalize the kernel. Most common usages include blur, sharpen and edge detection.
Cross StitchApplies a cross-stitching effect to the render. The pattern can be inverted and the source render pixelized to get very different effects. Although the Size parameter works with most arbitrary numbers, for best results if should be set to a power of two.
Double VisionA simple configurable diploplia effect. Exemple usage : animate the Displace vector and the Amount value to create a drunk effect.
Fast VignetteA very optimized vignette effect if you don't need advanced features like blurry corners & chromatic aberrations from the effect bundled with Unity.
FrostThis filter adds a frosted effect to the screen. The Vignette settings work the same way they do with Fast Vignette.
GlitchThis effect simulates digital glitches like screen tearing and interferences. You can combine both effects using theComplete preset. It's automatically animated in play mode. Important NoticeThis effect requires a ShaderModel 3.0 compatible GPU.
Gradient RampThis effect maps the equivalent grayscale range of the rendered frame to the colors of a specified gradient fill. If you specify a two‑color gradient fill, for example, shadows are mapped to one of the endpoint colors of the gradient fill, highlights are mapped to the other endpoint color, and midtones are mapped to the gradations in between. Tip: Use the /Colorful/Resources/HeatRamp.png texture to get a thermal vision effect ! Important NoticeThis image effect expects a texture input. See /Colorful/Resources/GrayscaleRamp.png for example. To get the most out of this filter, make sure the texture is 256 pixels wide minimum. Import settings should be set to : - Texture Type : Advanced
- Generate Mipmaps : No
- Wrap Mode : Clamp
- Filter Mode : Bilinear
- Format : Automatic Truecolor
GrayscaleA configurable and blendable grayscale effect.
HalftoneHalftone is a technique that simulates continuous tone imagery through the use of dots, varying either in size, in shape or in spacing. It comes with black & white and color modes (cmyk color model). Please note that the quality of this effect depends on the art style of the game, especially for the cmyk mode. It works better with low detail scenes and large gradients. Important NoticeThe CMYK mode requires a ShaderModel 3.0 compatible GPU.
Hue FocusThis effect only displays the colors in a given hue range and shows the rest as black & white. It works especially great when used before a Brightness / Contrast / Gamma effect to give a sort of Sin City look, where only a few colors are visible and the rest is high-contrast black & white. Use Boost to make the colored pixels more vibrant.
Hue / Saturation / ValueThis effect lets you adjust the hue, saturation, and value of a specific range of colors in the rendered frame. The Hue slider reflects the number of degrees of rotation around the wheel from the original color of the pixel. A positive value indicates clockwise rotation; a negative value, counter-clockwise rotation. Values can range from 180 to +180. The Saturation slider makes the color shifts away from or toward the center of the color wheel. Values can range from 100 (percentage of desaturation, duller colors) to +100 (percentage of saturation increase). The Value slider reflects the color brightness. Values can range from -100 (dark) to +100 (bright). This effect comes with two modes : - Simple : the whole picture will be affected.
- Advanced : a bit slower but lets you choose to only affect a specific color range (Reds, Yellows, Greens,Cyans, Blues, Magentas). Internally these are 30° ranges with a 30° falloff on each sides to blend them nicely.
Important NoticeThe Advanced mode requires a ShaderModel 3.0 compatible GPU.
KuwaharaThis filter is used to give an oil painting look or simply soften the scene render when used with a Radius of 1. Keep in mind this effect can be expensive at high radiuses. MSAA won't have any effect with this filter so it's recommended to use a cheaper image-based anti-aliasing solution instead. Important NoticeThis effect requires a ShaderModel 3.0 compatible GPU.
LedA more interesting version of the Pixelate effect, as seen on a LED display.
LevelsYou use the Levels adjustment to correct the tonal range and color balance of the rendered frame by adjusting intensity levels of shadows, midtones, and highlights. The Levels histogram is a visual guide for adjusting the key tones. The outer two input sliders map the black point and white point to the settings of the bottom sliders. By default, the bottom sliders are at level 0, where the pixels are black, and level 255, where the pixels are white. With the bottom sliders in the default positions, moving the black input slider maps the pixel value to level 0 and moving the white point slider maps the pixel value to level 255. The remaining levels are redistributed between levels 0 and 255. This redistribution increases the tonal range of the rendered frame, in effect increasing the overall contrast of the rendered frame. The middle input field adjusts the gamma in the rendered frame. It moves the midtone (level 128) and changes the intensity values of the middle range of gray tones without dramatically altering the highlights and shadows. The Auto B&W button automatically sets the white and black point to the lowest and highest values found in the histogram. By default the histogram is displayed in Linear mode. You can change it by clicking the Log button.
Lookup FilterColor grading can be made in a more advanced way using a LUT (lookup texture) to remap the colors in an rendered frame. Instead of having several color correction effects stacked on your camera (multiple draw calls), you can merge them all in a single lookup texture and apply it to the camera (one draw call). What's more, it allows you to make all your color tweaking in Photoshop, Gimp, Paint.NET or any other graphics editing program and use the result in Unity very easily. Here's an example of how you'd do that : - Take a screenshot of your game (in play mode) and import it into your graphics editing program.
- Apply all the color adjustments your want. Remember, each pixel color must not depend on other pixels (e.g. blur or sharpen will not work).
- Once you're happy with the result, open a copy of the neutral LUT (/Colorful/Resources/LookupSource.png) in your graphic editing program.
- Perform the same adjustments steps you made on the screenshot to the LUT, or copy them, if you work in a non destructive way with adjustment layers.
- Save the LUT and assign it to the Lookup Filter component.
In Photoshop, most effect from Image -> Adjustments will work as well as all from Layer -> New Adjustment Layer. A full guide about using this effect with Photoshop is also available here. You can blend the effect using the Amount property. Important NoticeImport settings for the LUT should be set to : - Texture Type : Advanced
- Bypass sRGB Sampling : Yes
- Generate Mipmaps : No
- Wrap Mode : Repeat
- Filter Mode : Bilinear
- Aniso Level : 0
- Format : Automatic Truecolor
NegativeA simple blendable negative effect.
Photo FilterThis effect mimics the technique of placing a colored filter in front of the camera lens to adjust the color balance and color temperature of the light transmitted through the lens and exposing the film.
PixelatePixelizes the rendered frame using the given resolution scale.
PosterizeThis effect lets you specify the number of tonal levels (or brightness values) for each channel in a rendered frame and then maps pixels to the closest matching level.
Radial BlurAlso known as "Zoom Blur", this effect blurs the rendered frame in the direction towards the given point (usually the center of the screen). Important NoticeThe High Quality and Custom presets require a ShaderModel 3.0 compatible GPU.
RGB SplitThis effect separates the three color channels and shift them by the requested amount in the given direction.
SharpenSharpening enhances the definition of edges in a rendered frame.
Technicolor (3 Strip)This operator attempts to mimic the classic coloring process from the early days of motion pictures. You can read more about it here. Best way to get the most out of this operator is to use the Blend and Exposure settings until you're satisfied with the global result and tweak the Balance channels to fine tune the colors.
ThresholdThis filter converts the rendered frame to a high-contrast, black-and-white image. You can specify a certain level as a threshold. All pixels lighter than the threshold are converted to white; all pixels darker are converted to black.
VibranceThis effect adjusts the saturation so that clipping is minimized as colors approach full saturation. It increases the saturation of less-saturated colors more than the colors that are already saturated. It also prevents skintones from becoming over saturated. The Advanced Mode uses a slightly different algorithm that lets you tweak the affected channels to make them more or less dominant.
VintageThis effect replicates 27 of the most famous Instagram effects. All are LUT-based so they're fast, even on mobile. Note that these only do the color correction work, some of these will require the use of the Fast Vignette orContrast Vignette effects to look exactly like they would with Instagram. You can blend the effect using the Amount property. Available filters : 1977, Aden, Amaro, Brannan, Crema, Earlybird, Hefe, Hudson, Inkwell, Juno, Kelvin, Lark, LoFi, Ludwig, Mayfair, Nashville, Perpetua, Reyes, Rise, Sierra, Slumber, Sutro, Toaster, Valencia, Walden, Willow, X-Pro II. Important NoticeTo optimize the build size you may want to remove presets you don't use from the/Colorful/Resources/Instagram/ folder.
White BalanceWhite Balance lets you remove unrealistic color cast and shift the neutral tone of the render. It's an automatic process. Pick a midtone color from your scene (one that should appear neutral in proper conditions) and choose one of the Mode. Complex is the default one as it generally gives better result with realistic looks, but you may want to switch to Simple for a cartoony art-style.
WiggleThis animated effect deforms (wiggle) the screen over time. It can be used to simulate underwater effects.
|