I am making an animation with a green background. When a lamp shines on my mesh, the background somehow makes the lamp shine on my mesh green as if the lamp was shining on it through green glass. How do I make this not happen? My mesh is opaque, has a diffuse BSDF, and is white. Thanks in advance.
When you are using any color (or image) as background in the world settings you have to imagine a shpere that completely surrounds the scene and that is emitting colored light from every point.
There are a few alternatives.
One is to have two different shaders for the background, and control them using a light path node, so that difuse rays are a neutral color and the rest are green.
You can use a neutral color (or no background at all) for the background and enable transparency (film transparent), and then add the background color in the compositor using alpha over.
I hope you are not putting green behind the object with the idea of using a chroma key later on to take away the background. If that is the case then just render with a transparent background and save in a format that can handle an alpha channel (EXR or TIFF).
To answer urema's final question, to get an output with an alpha channel that works well, set your output type to be PNG.
Your output filename should be a directory. When you choose PNG, there will be 3 colors available; choose RGBA, then render.
Your chosen Directory will be full of png images, one for each frame. Programs like Hitfilm can import PNG Sequences and your workflow should now be the same as if you were working with an MP4 (ex you can put the png sequence into a Composite).