I have been looking around for a way to make my scene 100% dark, except for the single light source, and all of my sources mention turning off ambient lighting which I have done.
As you can see, light still permeates my scene.
It appears that only the X axis has been darkened where the Y and Z are still lit by a light source that I don't have. The only light source is the single orange source at the center of my scene. This is extremely frustrating because all help sites say to turn off ambient lighting which I have done, I have not found any other solutions.
I had a directional light that I had forgotten about, rookie mistake
Related
I use URP for my Unity 3d project. I have many point lights in my scene, they all set to mixed and important light. However some point lights does not produce any light on the scene after the baking.
Before baking:
After baking:
If I mark them as baked light instead of mixed than they just go completely black.
Any suggestions?
In URP there is a limit for realtime point lights. You can´t set more than 8 point lights. This is the reason, that in "mixed mode" some of your point lights are producing lights and the others don´t. Nevertheless baked lighting should produce a result for every point light. Probably the light setup is not correct. Try to follow some basic URP lighting tutorials i.e. on youtube
I recently started working with unity and tried making my first real water shader with shader graph (URP).
In general it works fine, but I have some really ugly effects with the lighting.
First, when I set the smoothness of the water to about 1 (to make it shiny as water is), it is "split into two areas" (see the screenshot). One is nice and looks like water, the rest is grey. Why?
Second, when I turn the Global Directional Light to night time, the land is dark, the water isn't. Why?
Here you also can see this "grey water effect".
This is my shader graph
and these are my environment settings
Just found a part of the solution: The problem with the ugly reflection was that the water plane had a Y scale of 0. When I change it to something greater than 0, it works.
But that does not solve that it isn't affected by the environment light.
I want to create a scene in complete Darkeness, which will be iluminated just by the lightnings of a storm. But I am already failing in the first step, I am not able to make the scene completely in darkness, even if I remove all lights in the scene and set background of the camera as black, I still get this:
And Hier my Hierarchy where you can see there are no lights:
What am I missing?
You can try to set the ambient light to black, so it will be all in darkness. You can do this programatically with this line:
RenderSettings.ambientLight = Color.black;
And also, to switch off any light you may have in your scene (just in case)
Light[] ligths = FindObjectsOfType(typeof(Light)) as Light[];
foreach (Light ligth in ligths) {
ligth.enabled = false;
}
Take care also of the follwing three things, which may be adding some light into the scene.
Turn off or delete any light maps.
Ensure shaders are not using self-illuminating or particle shaders.
Ensure that "use scene lighting" is turned on in the scene view.
However I think in your case with the ambient light set to Black will be enough. Your scene seems quite simple.
To light your scene entirely from lights placed, you need to drop your Ambient Light settings. Ambient light is the light that is added to every object so that things do not appear entirely black - but there are many cases where you want them to.
Answer
Ambient Light settings can be found by going Window > Lighting > Settings.
Make sure that theEnvironment Lightingsource is set toColor`. Here you can also tweak the color using the RGB picker to have greater control over how the ambient light looks.
You may want to use a color that is slightly above black so that things can still be very faintly seen, without your lighting effects.
One thing to note, some materials may be set up to emit or use their own light settings - but these can usually be tweaked by modifying the material.
Another note, you can preview the lighting in the editor (or conversely - see what you are doing) with the lighting switch in the editor. This will toggle lighting effects on or off (including ambient light settings) for the Scene view.
In most cases the answers already given are correct.
But also attention to the Light Probes! ;)
Try disabling it on the object's Mesh Renderer.
Making things pitch black at night without artificial light involved several steps for me. I wanted a Sun that rose and set, so first I made a script to simply change my Directional Light's (gameobject Sun) x rotation over time.
Then I made a script to adjust my Sun's intensity, with the intensity starting at 0 when the sun rose and quickly rising to 1 at about 15 degrees, and contrariwise at about 165 degrees it goes from 1 back down to 0. So far so good....
Sun.intensity = intensity;
Next I made the script set the ambient light and reflection intensity to the same.
RenderSettings.ambientIntensity = intensity; // RenderSettings controls found in Lighting tab
RenderSettings.reflectionIntensity = intensity;
And just for good measure I made sure to set these:
RenderSettings.ambientEquatorColor = Color.white;
RenderSettings.ambientGroundColor = Color.white;
RenderSettings.ambientSkyColor = Color.white;
I noticed that when they were black, for example, even with intensities at 1.0 the ambient light was very, very low.
Finally, I had to use a custom shader to blend between a daytime skybox and a nighttime skybox. This because if you have the Skybox as the source for environment lighting (in your Lighting tab) then the ambient light will be affected by the color of your skybox. I.e., you want a bright daytime skybox and a dark nighttime skybox.
There you go. Now when the sun had set the terrain was completely black, only lit by scene lights like torches. I'm also using Ceto's water system, so I had to control the Ocean_TransparentQueue gameobject's UnderWater script to adjust the Absorption/Inscatter intensities as well, the same as above.
I placed a light in my scene.
It is lighting the ground when i'm facing that light but when I turn the opposite direction, the light on the ground vanishes.
I think this might be some Unity's default behaviour.
Is there a way I can solve this issue?
Unity uses frustum culling to save performance, so it only draws items that are within the camera's viewing area. As a result of this, the particles behind you are not drawn, and any lights attached to them aren't either.
Scene-crucial lights aren't normally attached to particles, so it's normally not a concern if they're hidden along with their particles.
For conventional lights (not attached to particles), Unity should render the light as long as it affects objects within the camera frustum. If you use a conventional light, you should see better results.
Looks like you may have to disable occlusion culling. Unity3D Manual
I'm generating a dungeon out of prefabs which means I design a room, save it in the resource folder and instantiate it at a random position with a random rotation while the game is running.
The problem I have is the lighting.
Because of the above mentioned generation process it has to be dynamic but it doesn't seem to work. Below you can see the comparison between a baked and realtime rendered room:
Baked (I also don't know where these strange lighting borders (on the walls), which are looking like someone painted the light with watercolors are coming from):
Realtime:
As you can see, the realtime room doesn't seem to reflect light in any way.
These are my lighting settings:
And this is my 'sun':
What am I doing wrong?
Your lighting settings have Ambient Light set to 0- with realtime lighting, this means nothing that can directly see the source of a light will be lit at all. The screenshot with baked lighting looks different because it has a baked lightmap.
If you're trying to get the real-time lighting to look exactly like the baked, soyy, but Unity refuses to bake lightmaps at runtime. The closest you can probably get is by setting your Ambient Light to a color and its intensity above zero. Playing around with Light Probes probably won't be much good, since you need to light an entire room in a vacuum.
An alternate solution, depending on how well you know Unity, would be to Frankenstein together different scenes, which is mentioned briefly in Unity's Intro to Global Illumination, though I can't find it anywhere else.
Relevant links:
Baked Lightmaps: http://docs.unity3d.com/Manual/GIIntro.html
Light Probes: http://docs.unity3d.com/Manual/LightProbes.html
Ambient Light: http://docs.unity3d.com/Manual/GlobalIllumination.html