How to completely disable Eye Adaptation in a scene?

How to completely disable Eye Adaptation in a scene?

A similar question from Beta era was left unanswered:

Speed Up and Speed down can’t be set to 0 (they default to 0.02), so suggested approach is not working.

Is there another way to disable it entirely?

Thanks,

Hey Onoa,

In your camera (whichever is active during runtime), look in Auto Exposure section. Check Min Brightness and Max Brightness boxes, and set each value to 1.

You can play with values there (and check tooltip when hovering over these options for a more in-depth explanation), but as long as those two are equal (and are > 0) eye adaptation will be disabled.

Hope that helps!

I am using a post process volume right now. I don’t see any Auto Exposure section in camera settings. Did you mean post process?

You’ll have to do same for both, because each will try to enable eye adaptation. It will look same in both, however. Where is your camera? Is it attached as a component of your character?

In your character blueprint, select camera component, and look at Details panel inside blueprint editor. Is Auto Exposure one of options there?

Ah, I missed it when you said this was a C++ template project. Yea, default FollowCamera does not include Auto Exposure settings. You’ll need to make some adjustments to FollowCamera in your [YourProjectName]Character.cpp … let me dig around and see if I can find what you need to add for that.

It’s inside blueprint for my character as a component (FollowCamera) attached to CameraBoom. I’m using Third Person C++ template. I don’t see any section labeled Auto Exposure in details pane when it’s selected.

No, it doesn’t show.

Okay, while I try to find a more C++ based answer for you, I do have a work-around you can try. Open your [YourProjectName]Character.h and comment out Follow camera UProperty. Then open [YourProjectName]Character.cpp and comment out FollowCamera area (under CameraBoom).

Now you won’t have a camera, so add a camera component to your character blueprint and attach it to CameraBoom. Your new camera will have all normal options for a camera exposed, so you will be able to adjust Min Brightness and Max Brightness under Auto Exposure.

Hope that does helps! Let me know if you run into trouble with that work-around.

And one more way to do it without touching code:

In your character blueprint’s EventGraph, right click and find Get Follow Camera Component. Drag off that node and type Set PostProcessSettings. Off that Set node, drag off Post Process Settings and type Make PostProcessSettings. If you expand that node, you’ll see a huge list of all post process settings you can adjust for that camera.

Included within that list are Auto Exposure Min Brightness and Auto Exposure Max Brightness inputs. Promote those to variables and give each of those variables a default value of 1, as described above, and that will disable Eye Adjustment for that camera, without having to touch any code.

Thanks for information . This method is useful if people want to avoid touching code. I have found a code solution to display/access camera post process settings in Blueprint editor, posted below.

In CameraComponent.h, remove meta = (ShowOnlyInnerProperties) from macro and add EditAnywhere:

UPROPERTY(Interp, BlueprintReadWrite, Category = CameraSettings, meta = (ShowOnlyInnerProperties))
struct FPostProcessSettings PostProcessSettings;

// Display Camera PostProcess settings by default in Blueprint editor
UPROPERTY(Interp, EditAnywhere, BlueprintReadWrite, Category = CameraSettings)
struct FPostProcessSettings PostProcessSettings;

Recompile engine, and properties will now be displayed under Camera Settings->Post Process Settings

Thanks Onoa, this is very helpful!

I think this can be found under defaults panel in your MyCharacter blueprint.

Sorry guys, just to clarify since I’m a programming Noob,

On line 44 inside CameraComponent.h I’m simply changing it to read

UPROPERTY(Interp, EditAnywhere, BlueprintReadWrite, Category=CameraSettings)

Correct?

And once I rebuild solution, where do I find Camera Settings → Post Process Settings? I couldn’t find it in World Settings or Project Settings or Editor Preferences.

Hey TorQueMoD,

That is correct. If you set Line 44 to that, settings should be accessible in Editor in a code based project.

You can find them in Camera Component. So for camera attached to your character, go to details panel and scroll down to Auto Exposure section. You should see Min Brightness, Max Brightness, and Auto Exposure Bias there now.

Let me know if you have any questions.

Sorry where do I find camera component inside editor? Since its coded in, its not used in a blueprint. How else do you access it?

If you’re using a Blueprint for your character, and it’s based on character class, you can open up Blueprint and look in Components tab at top. If you then look over to left, there will be a My Blueprint section with several dark components listed, one of which will probably be FollowCamera:

This should be pretty similar for Third Person, First Person, and Top Down code templates. I think some of templates don’t have a camera hard-coded into character class, in which case you wouldn’t see one in Components list. If you don’t have a default camera in there (or you removed camera from character class via code, as mentioned above), then you can simply go to Add Component drop down and select a new Camera component, which should have Auto Exposure already accessible.

Hope that helps! Let me know if you have more questions.

I’m confused. If I’m using 3rd person C++ template, it bypasses buleprint for character all together so being able to adjust settings inside a blueprint isn’t really useful since code isn’t using one anyway.

I figured you’d have to - or maybe more appropriately be able to - turn off different post process effects like lens flare and eye adaptation somewhere in code. Is this possible?

A C++ project doesn’t bypass anything. Character Blueprint is your in-Editor way of accessing class you set up in code. C++ templates create a Character class, and MyCharacter Blueprint is a child of that class. adjustments we made above are to CameraComponent class, which appears inside Character class by default, among other places. Anything that uses a CameraComponent that is hard-coded in will now have Auto Exposure settings exposed.

If you’re not using Character class, then any CameraComponent you use should already have those exposed, so above code alterations wouldn’t be necessary.

Your project is using a default pawn, which you can see by opening World Settings and looking at Game Mode settings. If Game Mode is set to “None”, it uses a default pawn created from MyCharacter. If you’re using that pawn, and want to make adjustments to camera, you can do so in Editor after altering code above.

Auto Exposure is going to be a part of any camera actor or camera component that you use. If you’re not using default pawn, then you’ll need to find which camera you are using and make those adjustments to it. Most likely you won’t need to do it via code, but you can if you want to.