最近在学习Siki学院中的U3D渲染,将学习的笔记进行整理,方便日后查阅,也方便各位交流学习。课程大纲如下:
先介绍灯光渲染的大致内容,灯光效果主要分为实时光照(RealTime) 和烘焙(Baked),实时光照根据场景中的运动信息,实时更新光照信息,比较耗费性能。而烘焙是将光照信息照射到静态物体上的影响生成光照贴图,之后便可保存灯光效果并删除灯光。接下来用几篇博客简要分析下其中的关键技术。
传送门:
Unity3D灯光与渲染学习之(一):天空盒、灯光以及色彩空间
1.天空盒
1.1.天空盒的添加
天空盒是一个全景视图,分为六个纹理,表示上下左右前后六个方向的视图,如下图所示。经Unity处理后可以实现环绕式的显示效果,可以从网上下载并添加,也可以直接用U3D自带的天空盒,选用已有工程素材中的文件即可。
1.2.天空盒的反射
在添加了天空盒之后,添加几个物体,可以看到天空盒的颜色会对物体产生影响。
可以在Windows>Lighting>Setting中对天空盒的属性进行设定。控制场景对Cube的影响,可以选用颜色来改变小球的外观。
之后,在Cube的Inspector面板中,更改Metalic和Smoothness属性,可以改变Cube的反射情况,值越大,反射环境光的效果越明显,并且光滑度上升。
2.灯光设置
2.1 .直射光
从很远距离打出来,可看作是太阳光,只能控制旋转角度,不能控制位置
直射光的Light选项,默认是实时的(RealTime),可修改为烘焙。烘焙只影响场景中的静态物体,因此将受影响的物体勾选右上角的Static即可
直射光的阴影类型有3种:无,Hard Shadows,Soft Shadows,Soft Shadows最耗性能,效果分别如下
在Hard和Soft模式下,以下参数可以修改
包括
- 强度(Strength,控制阴影强弱)
- 分辨率(影子显示的纹质量高低)
- 偏移(影子显示错位时调整,一般不涉及)
- Cookie(用一张透明贴图可以打出类似花纹的阴影效果,下左图)
- 耀斑(太阳的特效,下右图)
Culling Mask表示遮罩,如果想让某些物体不受光照影响,可以改变物体Layer,并让直射光的Culling Mask不包括这个Layer即可
整体环境的光亮调节可以在Edit>Project Setting>Player之中,控制Color Space为Linear或是Gamma,可看到不同效果,Linear光影细节更丰富,并且更亮