一、光环境(Lighting面板)
1.天空盒:
(1)导入自定义天空盒:
在Google上搜索skybox,可以找到高质量的立方体贴图。将其导入Unity,类型选择Cubemap,直接把它拖到场景的天空上,Unity会自动生成对应的材质(Shader为Skybox/Cubemap)。自定义时还可以选择6sliced(需要提供6张贴图)
2.环境光:
可选天空盒或者固定颜色、渐变颜色
3.环境反射:
可选天空盒或自定义。
4.实时全局光照
全局光照是指模拟物体对光照的反射,及这种反射对其他物体的影响
5.Mixed全局光照
混合的意思是,静态物体会按照烘焙好的贴图计算颜色,动态物体则会受到灯光的实时影响,产生正确的阴影。
(1)subtractive:可以实现混合的功能,但是只支持一盏灯对动态物体产生实时影响。
(2)shadowmask:支持4盏灯,用一张图的四个通道来存4盏灯对一个物体的影响。
(3)distance shadowmask:在一定距离内,使得静态物体也能给动态物体投射阴影
Edit->ProjectSettings->Quality->Shadow Mask Mode 进行设置。可以调节Shadow distance,这个属性还影响在多大的距离内,动态物体会产生阴影。
(4)Bake Indirect:只烘焙间接光,其他都是实时的。当超出距离之后,不显示影子。
6.Lightmap
(1)Ambient Occulusion:环境光遮蔽。加强一些棱角处的阴影效果
(2)贴图大小(可用于优化)
注意:要将Lightmap保存下来。可以手动generate一下。
二、灯光(Create->Lighting)
灯光大致的一些通用属性:
颜色、范围、强度、阴影类型、Cookie(阴影形状)、Flare(光斑)、光环、渲染模式(real Time、Mixed、Baked)、 Culling Mask等。
1.直射光:全范围
2.点光源:可调节范围
3.聚光灯:适用于手电筒、台灯等
4.区域光:只用于烘焙(适用于static物体,生成光照贴图。注意要在模型导入参数中勾选Generate Lightmap UVs)
5.灯光探针:解决动态物体在Mixed模式下受到静态物体阴影的影响
6.反射探针:解决物体对于周围物体的反射
三、模型上与灯光有关的设置
1.是否产生阴影、是否接收阴影
2.是否受到灯光探针、反射探针的影响
3.自发光材质:如何让其他物体受到自发光物体的影响(必须都设置成Lightmap static,进行烘焙)
四、相机和渲染有关的设置
1.Render Path:
Forward:像素级别,支持一个平行光的阴影
Defferd:支持多平行光阴影
Vertex Lit:顶点级别,不支持阴影
2. Allow MSAA:抗锯齿
五、关于灯光渲染的Project Settings
1.Player->Other Settings->Rendering->Color Space:Linear比Gamma更好
2.Quality->Shadow->Shadows
六、屏幕后处理是什么?
渲染结束之后的滤镜:Post-processing pack 在Asset Store免费获得
常见效果:
bloom模糊 某个颜色值(threshold)上的都会晕开
motion blur 运动模糊,常见于赛车游戏
抗锯齿
环境光遮蔽
Depth of field 景深效果
Eye adaption
Color Grading 调色
User Lut 可以完美复刻在PS里添加的图层样式(复制图层样式、应用图层样式)
chromatic aberration 色差(镜头边缘出现抖音图标那种效果)
vignette 虚影(适用于镜头的黑色模糊边缘)
环境光反射
七、优化相关
优化是在干什么?提高FPS帧率,减少Drawcall(CPU告诉GPU去渲染的指令)
1.减少顶点数和阴影:
(1)将一些物体设置为静态,使用非实时渲染,烘焙灯光。
(2)使用灯光探针而不是lightmask
(3)改lightmap的分辨率、size
2.批处理(Batches):
针对动态物体的dynamic batching:900顶点以下的,自动进行
针对静态物体的static batching:不限顶点,优化效果比较明显
注意:要在Edit->Project Settings->Player里开启这两项批处理
3.性能分析工具:Window->Profier