Part 1 discussed Post Processing and can be found here: https://vrsexfriend.fanbox.cc/posts/2834425
Part 2: Lighting
There's a lot to talk about with lighting. I just want to mention something that unfortunately happens often in VRChat.
Most VRChat worlds don't do a good job of lighting your model. They often end up making you look really.. orange, or blue? If you look at a lot of the pictures people take, they all seem to have that hue to them. This isn't always bad, and sometimes you want to look that way. Here's an example:
The orange look usually comes from the light being colored orange. I don't blame the world creator entirely - they do this to make the world itself look like it's lit by natural, non-pure-white light. And technically, you fit into this space because that same light is hitting you. However, sometimes we don't want to fit in perfectly. This blends us with the background and reduces contrast, which doesn't always turn out looking nice.
World creators can choose which lights affect what. That means that they could technically add a light that lights players differently than the environment. Most don't however, and use the same light that they do for the world to light your model.
Purely taking the environment's light color and applying it isn't always what we see in anime:
(source: Spice and Wolf OP)
You can just imagine what Horo would look like if she got the super dark blue treatment that a lot of dark, snowy VRChat worlds give to your avatar. The artists want you to focus on her - the background should stay in the background. This doesn't apply just to animation, it happens in the manga too:
In both examples, Horo does maintain some level of darkness and color shift to that of the world around her. In the OP, it's blue, and this manga panel, green. She could be full-bright but that would look weird - so she's inbetween. In the anime, she's closer to the environment color because we have movement to help differentiate her from the background. In the manga, she's pretty close to full-bright, but keeps a bit of the hue. In both cases, she has our attention it makes her look beautiful.
To try to get similar results in the old days, avatar creators just added emission to their models or used unlit shaders that made them more bright, fully bright, or ignore lights entirely. That's a bit too crude of a solution and they don't have much granularity either. Poiyomi snuck in some great settings a long time ago that let's you adjust how you look in almost any lighting condition with 2 simple sliders.
These are the "Minimum Brightness" and "Monochromatic" sliders.
Minimum Brightness adjusts your minimum light color. Monochromatic adjusts the saturation of the light color.
This world has a dark, blue light. The world itself is really pretty, but I felt like I just sunk into the image with the default shader settings. It's.. correct, but somehow not very satisfying. It works better in an animation, or in anime, but it looks really rough in a still image.
Adjusting only Monochromatic or Min Brightness gave decent results, but I chose to go full-bright in this case because, like Horo in the manga panel, screenshots don't capture movement the same as video, and I felt like I needed it to the get full "look" in the picture.
The sliders - that's the important part. You don't want them to just be set one way and used that way everywhere. You want to be able to adjust them when you need them. That doesn't mean you need to be picky about how you look in every world - but if you're going to try to take a lot of nice looking pictures of yourself, you bet you're gonna play with those sliders every time.
So how do you adjust these settings without re-uploading your avatar every time? Simple, we use Avatar 3.0 and set it up for use in our in-game menu.
Here's the step by step on how to do that, assuming you at least have your own 3.0 avatar already, with a menu, parameter list, and FX layer already set up for whatever you already do;
1. Add 2 float parameters to your VRC Parameters. You don't need to use the same names as me.
2. Add 2 float parameters to your FX layer's parameters. Make sure these 2 floats have the same name as the 2 floats in your VRC parameters, so they sync.
3. Make a duplicate of your avatar in the scene and create 2 animations for it. Uncheck "Loop time" in the animation properties.
4. Add 2 layers in your FX layer and place one animation into them each. Set the Motion Time to their corresponding parameter. Remember to set the layer weight to 1!
5. Right click the Monochromatic and Min Brightness property on all of your materials so that they become animatable. If your materials are locked, you need to unlock them first. If you did this right, this clock appears next to them
6. Animate the material slots for all your meshes on each animation using 2 frames. On the first frame, set Monochromatic or Min Brightness to 0, and on the 2nd frame, set it to 1. You're animating the properties on a material slot on a mesh here, not the material itself, so it needs to be done on all meshes.
7. Add both these parameters as a radial menu to your VRChat menu.
8. Test it! Go to a dark world and slide the "Min Brightness" radial up in your menu. You should notice yourself get brighter. Go to an orange or blue world and turn up your Monochromatic and notice yourself slowly leaving the world's light color.
tl;dr animate your shader settings
If you have any issues setting it up, feel free to comment and I'll try to help!