Search Unity

User LUT Missing From V2 Post Processing?

Discussion in 'Cinemachine' started by DavidLieder, Jun 6, 2018.

  1. DavidLieder


    Feb 14, 2016
    I was wondering how I can apply a user LUT with Cinemachine active? Because I don't see it in the CM V2 "Post Processing Volume" options for effects. It's also not a suboption of "Color Grading" under effects.

    I also see that CM has completely changed how CM post processing is applied (now there is a "volume" and "global"). In the past, CM had a unique post processing stack.

    I'm confused by all these changes. Would someone from Unity please explain:

    1. Is the Cinemachine V2 post processing the correct one to use for current CM projects?
    2. Does CM have a unique post processing stack now, or is it the same as vanilla Unity cameras?
    3. Where is the "User Lut" in V2 CM post processing stack?
    4. Is the "Spectral LUT" in "Chromatic Aberration" the same as the old "User Lut"?

    Last edited: Jun 7, 2018
  2. Adam_Myhill


    Unity Technologies

    Dec 22, 2016
    Hi @DavidLieder

    We've moved from PPSv1 to PPSv2 - currently supporting both - but there are differences with PPSv2.

    Your questions:
    1. CM V2 post processing is the one to use if you're using PPSv2. The CM config is depends on PPSv2 or PPSv2 as they're totally different.
    2. CM doesn't have a unique PPS.. it just enables a volume with a PPS profile which the PPS system handles, for PPSv2. It's just another way of calling/blending/layering PPSv2 volumes.
    3. User LUTs only work in low definition range, you specify them under the Lookup Texture. For HDR, I recommend ACES mode, or Custom if you want to really massage it. Use the internal controls to create your 'LUT' instead of creating one elsewhere.
    4. Not sure if the Spectral LUT is the same as the old User but believe it is.

    I hope that helps! PPSv2 is so much better in buckets of ways - look, performance - etc., no need to use PPSv1
    DavidLieder likes this.
  3. DavidLieder


    Feb 14, 2016
    Thank you. HDR must be tonemapped before the post-processing is finished, which converts it to low definition range. Do you recommend adding a LUT then after the tone-mapping? This seems to be the correct way to do it.

    I was specifically researching LUTs and also Amplify Color, and trying to establish the workflow for getting these to work with Cinemachine. My main purpose (in addition to using the tools in projects with Cinemachine) is that I'm creating free tutorials on this topic for my YouTube Unity Assets channel.

    I have projects that use Amplify Color (an amazing tool), and from what you are saying it seems like Amplify Color should work with CM, but the Amplify team has no clue about how to do this and have never tested it, and I have not had success with it yet, but I'm currently testing it.

    In regards to LUTs, the appeal of using LUTs is that there are many already created; for example, I have a library of over 300 public domain LUTs that work in Unity. Manual tweaking of the Color Grading post feature cannot replace the power of quickly previewing and drag-and-dropping in a ton of LUTs that have already been created and tested. In fact, there are thousands of premium professional-film-industry LUTs that seem to work with Unity. There is a reason why some LUTs cost hundreds of dollars from the film industry, and the idea that these could work with Cinemachine is appealing (minus the high cost; I'm saying the ability to integrate with tools from the professional film industry is great).

    I'm also testing an asset called "Color Correction Pro" with Cinemachine. I'd like to get all these working and then put out the free tutorials.

    This issue of post-processing with CM is a missing link for most devs that discourages them from using Cinemachine, IMO. A lot of us have invested in the non-CM way of doing post-processing, and this bridge must be crossed.

    As soon as devs realize they can easily use these non-CM post tools, and if we can explain how to do it, I believe a lot more devs will make the jump.

    Perhaps I'm slow, but I've worked with Cinemachine for over a year (as a part of projects) and I've not yet figured out how to get all these post-processing tools working. I have discussed this with the Amplify team and the creators of various assets like Color Correction Pro, and they assume their tools will not work with Cinemachine and have never tested it. Thus, there are a ton of well-established camera tools that devs use which have never been tested with Cinemachine and at this point nobody has made the jump. The topic of Cinemachine is not brought up on asset blogs where camera issues are discussed (I know this because I'm in the process of reviewing these assets with the help of their creators).

    Right now I'm testing all this and documenting it, with the aim of creating a free video tutorial(s).
    Last edited: Jun 21, 2018
  4. Gregoryl


    Unity Technologies

    Dec 22, 2016
    Hi David,

    A couple of things to note:

    Cinemachine is essentially an animation system for a Unity camera. It takes the Unity camera that's in your scene, and moves it around. That's what the CinemachineBrain component does. Any other components attached to your camera will continue to work, just as they would if you were animating your camera in some other way. This includes any custom post-processing that you may have.

    Now, if you want to attach post-processing effects to a virtual camera (which is a camera controller, not a camera), effectively saying "when this vcam has control, I want these effects", then a little work is required, but in principle you can make that happen.

    When the vcam goes live (i.e.when it begins to have control over the Unity camera), it receives an OnCameraLive event, that you can hook to in order for you to enable whatever post effects you like. CM core doesn't need to know or care about this. If you look at the CM-PostProcessing adaptor implementation, you'll see that this is the sort of strategy being used, and that CM core knows nothing about it.

    I'm not familiar with the post-processing tools you mention, but it's likely that these can be easily integrated with CM vcams in a similar fashion. Maybe you can elaborate a little on how some of these tools work in the "non-CM" way.