Creating post-processing profiles

There are some best practices to be aware of when adding post processing to your scene.

First, you should always have a base global post processing volume set up to have some basic tonemapping and bloom parameters. Then use seperate global or local volumes for colour shifting and other effects. For example, if you want to turn bloom off and on, have an extra object that turns it off, and toggle it with a trigger. Keep in mind that an individual volume can override as many or as few options as you want, and you can also use animations to smoothly interpolate between one set of options and any other!

Now, on to the available settings!

Colour Grading

The most important setting. You have four options for tonemapping: None, ACES, Neutral, and Custom.

image-1643232243270.png.jpg

Between ACES and Neutral, which one you pick is up to preference. Try both and see which fits your map! Using Neutral allows you to receive the advantages of tone mapping without drastically changing the lighting of an existing map. It's also well suited to tweaking with the other colour controls. However, using ACES gives a rich colour balance, It needs strong lighting to reach full potential, but the end result can be very nice.

Underneath that, you're given a bunch of options for changing the colour tone of your scene. These are great for doing something artistic, or for providing options like a night-time filter that tints the world darker. If you want to tweak the colours, I recommend playing with the colour wheels, as they give fine controls that let you get amazing detail!

But keep your adjustments small! Unlike a film or game displayed on a screen, having intense colour toning will cause people in VR to get sick, as it will affect everything they see, including menus. A good benchmark is that if white objects are hard to identify as white, you have gone too far.

Auto Exposure

This can be enabled, but you can do without it too.

In a real camera, the brightness and darkness are defined by the camera's dynamic range, and the exposure point it's set to. Also, the human eye has incredible dynamic range, so you can see things really well even if there's a lot of difference between the darkest and lightest areas.

By default, Auto Exposure won't do anything until you raise the Minimum or Maximum value. The Minimum controls the lowest brightness the Auto Exposure will correct for, and the Maximum controls the highest brightness it will correct for. In other words, to make a dark place brighter, lower the Minimum, and to make a bright place darker, raise the Maximum.

In real life, things can get very bright. So, you might think to use really bright lights and take care of them with exposure. However, there is one caveat with VRchat - anything that is using a shader that doesn't account for Unity's lighting will likely be too dark or bright. 

So, for safety's sake, you should keep things around the default values. This generally comes down more to your lighting than the post processing, though, but auto exposure drastically affects how people see your lighting.

Bloom

This should be enabled and tweaked according to taste.

An ideal set-up means having a low bloom intensity and little to no threshold. This combination means normally lit objects don't produce visible bloom, but bright objects and glancing reflections will, properly simulating a clean but not perfect lens into our world.

Bloom is additive. Any light that comes out of the bloom effect is added onto the image. If the bloom's Intensity is set to 1, that means the average brightness of everything is doubled, and everything is blurry on top. Also, eye adaptation values are calculated before bloom, so it won't stop your bloom from making the image too bright.

But if the threshold is zero, won't everything bloom?

No, because low bloom intensity means only bright objects will have visible glow!

In VRchat, lighting worlds isn't just about how the world looks, but about how players look in it, too. Because of this, relying on Threshold is a bad idea. This is an example of bad bloom. Because of a threshold, only the bright parts of the image have bloom... but because the intensity is high, the result is completely blown out from just a regular white shirt.

It's also worth noting that a harsh threshold can cause flickering spots of bloom that cause eye strain. So please, ease off on the intensity and threshold! If your world needs bloomy things, make them very bright.

To check your bloom is set up correctly, place a white sphere with white emission at 1.0 strength and verify that it has little to no glow.

Film Grain

You can tweak it as you like, but don't make it too strong or you'll overwhelm people! In VR, film grain doubles up about a metre out in front of you, and setting it too strong will cause people to get a broken sense of parallax.

Unlike Stack v1, you don't need to use this to cover up for the broken dithering. I'm only mentioning this here so that you know you shouldn't use it... unless you want film grain.

Everything else

That concludes what you can use. Now here's what you should NOT use.

The next section will cover some final notes for setting up your scene with post-processing.


Revision #1
Created 26 January 2022 21:16:08 by Silent
Updated 26 January 2022 21:31:18 by Silent