- A+
Unity将Game视图调到全黑方法:
1、将Scene视图背景调到全黑
打开或者新建一个项目,然后选择Windows>Rendering>LightingSettings。
Scene的背景之所以是蓝色的,是因为添加了默认的天空盒子,所以我们需要将Skybox material改成None,即不加天空
然后就会注意到现在天空已经变成了灰色,但并不是我们想要设置的黑色。所以我们还需要在设置里面调节一下Background的颜色(注意这个设置对整个项目scene起作用)
Edit>Preferences
现在观察到的Scene整个背景颜色就变成了黑色
2、将Game视图背景调至全黑
上面操作将我们的Scene视图背景颜色调成了黑色,但是当切换到Game的时候,发现背景并没有像Scene一样变成黑色,而是蓝色
这是因为Game呈现的是camera里面的场景,所以在camera里面还有一个颜色设置。
选中场景的camera,然后在属性面板中将Clear Flags改成Solid Color固定颜色(实际上默认Skybox也行,因为场景中已经没有了Skybox),Background的颜色改成黑色。
这样就可以看到Game视图的背景也变成了纯黑色。
3、环境光Environment Lighting
为了方便观察,我们给场景加两个box,并且错开位置。
观察上面那块板的底面的颜色以及下面那块板上的阴影颜色
如果阴影在摄像机拉到一定距离就看不到,需要修改shadow的distance。
Edit>Project Settings>Quality
然后找到Shadows,增加ShadowDistance的值
这两块板上面反射的颜色实际上是skybox天空和地面的颜色辐射。虽然我们在此之前是关掉了场景里面的skybox的,但是在我们的lighting的设置中,Environment Lighting的设置还是默认的skybox。
所以如果添加了默认的skybox,然后将Environment Lighting的Intensity Multiple调到0,这个时候不管你添加何种天空球skybox,都不会对box的阴影造成任何影响。
这个效果相当于将Source改为Color,然后将Ambient Color调成纯黑色。这个过程叫做关天光
4、环境光反射Environment Reflection
但是如果此时切换到Game窗口的话,可以看到上面一块box的底部并不是想scene里面的纯黑。那是因为他还受到环境光反射Environment Reflection的影响
我们继续将下面的Environment Reflection选择为Custom,就可以关掉环境光反射。然后就看到所有的阴影都变成了纯黑色。
除了关闭Environment Reflection以外,还可以通过将box的smoothness的值调为0,这样得到的阴影颜色值也为0.
创建一个新材质给上面的box,然后调节他的smoothness为0,就可以看到阴影同样变成了全黑。
但是这个办法得到并没有直接设置Environment Reflection的效果好。所以这里还是直接设置Environment Reflection为Custom,设置完成以后发现下面的box还有一部分没有变黑,那是场景里Directional Light的作用,所以我们选中它,然后将其强度调为0
然后就得到了想要的全黑效果!!!