Color grading is the process of altering and enhancing the colors of an image. It’s being used in film industry for many decades now as one of the primary ways to set the tone of the shot and evoke emotions in the viewer. It also slowly starts to appear in recent games, but sadly just as a sort of “beautifier”, instead of as a part of the storytelling. I see two reasons why the game industry does not see the potential in color grading. The first is that many developers don’t even know such a thing exists or think that it takes a professional colorist to grade an image. While it’s true that there are people making a living off of it, it’s such an easy concept to get a grasp of that any artist can dish out some great looks within a few hours. I’ve decided to fix the second reason - no game engine has a color grader as a part of its editor. All you can see are those tools that let you export a screenshot with a lookup table in it, grade it in an external tool and load it back. Not only it’s clumsy and time consuming, but what most people do is say: “Oh cool, I’ll grade it in Photoshop!” A bad idea. That’s NOT a color grading tool in the slightest. It’s missing so many features common in professional color graders that it’s actually a common practice to import premade lookup textures into Photoshop to do the grading! How ironic…
So, without further babble, meet Mood Machine, a fully-featured color grading toolkit for Unity. It provides everything you will need to set the tone and feel of your game directly inside the editor, where you can see the changes in real time. A wide range of carefully crafted tools fulfills the needs of both beginners and experienced colorists. Use common color corrections like contrast and vibrance or experiment with the more advanced 3-Way color wheels and Qualifiers to give your game the look you’ve always wanted, but didn’t have the time to redo all the textures.
It also allows you to swap presets, the so called ‘moods’, at runtime, changing the way the whole game looks whenever you feel like. Seting up immersive effects when underwater or when low on hp has never been easier. Breathe life into your game with the endless possibilities of color grading with Mood Machine!
Features:
No Photoshop or other software required!
Ultimate control using qualifiers
Easy to setup without writing a single line of code
The zone blending covers it quite well, the api is really simple. I can include additional examples, though, if you think it helps.
There are no dll’s or external sources, just C# scripts, including the editor code. I dislike Unity’s approach of black-boxing every functionality and this is the least I can do to help it.
Not heard of Color Grading before so excuse my ignorance but can you explain what the difference is between your fine looking system and say the tone mapping and color correction image effects included with Unity?
My bad. I should have explained this a bit more. Tone mapping just converts the HDR result of the rendering to a LDR image that can be displayed on the screen. The best you can do to adjust the look with it is to fiddle with the overall brightness. There are three Unity’s color correction image effects, two of which require an external software and are generally a pain to get right and the last one only allows for very simple adjustments. With Mood Machine, you get the whole feature set of a professional color grading software.
Yes, but is it actually open source? The term “open source” has a specific meaning that goes beyond “I’m including source code”. All of my assets on the store include source code, but none of them are open source. I’m not actually sure the Asset Store license allows open source assets, unless you’re releasing it for free.
It looks good, and I’m surprised by just how good the UI for it appears to be. I’d like to know though, what sets it apart from Amplify Color? It costs $30 less, and appears to support additional things like simple by-location alteration of color, as well as blending and animating. It does appear to require use of Photoshop to utilize though, which seems unwieldy. That also seems though like it would allow more control and variation; Photoshop has a massive range of color grading tools.
If it’s meant to be a simpler and easier to use but less powerful tool, it may be a good idea to charge less than them, in order to help target the less experienced range of developers that might favor the ease of use over extra features.
Something like $40.
holy sh*t!!! now this is what i always looking for Unity…Can you show a bigger res of the Interface?? I’m curious about how much and what kind of control do we have…
What video are you talking about?
EDIT: Oh, that video! Damn, it must have been taken down… I’ll try to find something else.
The screenshots are scaled for the asset store, but I can capture some new ones if you want. It would be great to be able to test this on a better scene than the example demos…
Unlike Amplify Color, this is an actual color grader, with built-in grading tools and underlying algorithms to adjust the colors of the image the same way you would in a color grading software, like DaVinci Resolve. I guarantee Mood Machine is, for color grading purposes, both more powerful and easier to use than Photoshop. From what I’ve read about Amplify Color, it seems the blending and animating refers to their color volumes, which Mood Machine also supports and you can animate them in the same way, like any other Unity collider. I just didn’t want to point out an already present Unity functionality as a feature.
The only thing you can do in Amplify Color that is not implemented here is screen-space per pixel masking, as I thought it’s not a feature you need very often. It can always be implemented later in an update
Mood Machine is meant to be a fully featured, in-editor color grading solution with powerful blending capabilities. I haven’t seen this functionality in any game engine yet.
Reworked the post a little. I will also start working on a free demo version that will showcase the color grading capabilities. The main limitation is that it will only work in the editor and only for a single Mood. That means you can’t use it for your standalone build. It’s purpose is just so you can familiarize yourself with the workflow and decide whether you want to roll with it instead of using Photoshop. How would you feel about that?
Picked this up yesterday – seems to work like a charm. I come to the games industry out of film work, so color grading is really familiar to me. Seems to work quickly and smoothly, which is awesome.
Dolkar–you mention above that you were considering adding per-pixel screen space masking to the asset. I could really use that, if its still on your radar.
The free version is still a priority. I’d like to give people not familiar with color grading the opportunity to try it out first. Unfortunately, I didn’t have as much time as I’d like to lately. Anyways, it is on my to-do list right after the free version. By the way, do you need it for static, vignette like effects or for applying the grade to certain objects? If the latter, there are more efficient ways to achieve that, though a bit harder to implement.
I’m using it over a custom lighting pass for a 2D game, so its more like I need it to apply it to certain regions rather than certain objects. I can’t only use the built-in Qualifier because I need to apply the effects to specific bright regions, not all bright regions.
If you have a better way to go about that, I’m all ears!
The way I’ll implement per-pixel masking is by providing a mask to each mood, which could be either static or set with a script using something like mood.mask. If you need to apply the mood to a certain area that changes every frame, you would have to draw the mask with a shader and feed it to the mood every frame. A faster way to accomplish this would be to grab the mood.lut and sample it directly in your shader.
However, you will be able to do the former hopefully this week as that’s the time I will be releasing the free demo together with a new version of Mood Machine, implementing per-pixel masking and a few bug fixes.
Released a new version with screen space masks. They can be applied to any mood to filter the effect to certain areas on the screen. Read more in the manual. Also included an example preset and fixed a bug that caused the project to not build correctly.