Unity高级 -- 灯光的使用

2017-08-04  本文已影响306人  Shawn_正品鞋铺

最近公司有接一个VR展馆的项目,从项目最初的设计方案到制作。包括涉及到UI、模型、灯光系统以及PS,我都有亲自参与其中。走过许多弯路也采过许多坑,其中印象最为深刻的应该也就是Unity中的光照系统了吧。(本项目制作使用的是Unity5.5.1)
于是乎bo主准备将一套较为完整的光照系统的使用解析与你们分享,拭目以待~

首先在搭建Unity场景之前我们需要了解Unity中灯光的使用,以及选择合适的照明技术:
1.实时照明(Realtime Lighting)
2.烘焙全局U光照(Baked GI Lighting)
3.预计算全局光照(Precomputed Realtime GI Lighting)

一.实时照明
1.方向光(direction Light)
类似太阳光照,可用来模拟在室外场景中的阳光和月光。
可被放置在任意位置,影响场景中的所有物体。 它们在图形处理器中是最不耗费资源的。方向光产生的阴影(因为平台支持阴影)标识着在此页(this page)上的深度。

Paste_Image.png

2.聚光灯(Spot Light)
光线从一点发出,按照聚光灯的角度和范围所定义的一个圆锥区域。
聚光灯只在一个方向上,在一个圆锥体范围发射光线。它们可用作手电筒、汽车的车头灯或者灯柱。它们在图形处理器上是最耗费资源的。

Paste_Image.png

3.电光源(Point Light)
点光源光线在某一点从各个方向发射。
它们是电脑游戏中最常用的灯光——通常用于爆炸、灯泡、等。他们有一个图形处理器的平均成本(虽然点光源阴影是最昂贵的---最耗费资源的)。

Paste_Image.png

4.反射探头(Reflection Probe)
一个球形视角用于捕捉周围所有方向的景象。
然后保存为一个立方环境贴图(Cubemap),可被用于有反射材质的物体上,结果是可以让周围经过的物体动态得到环境的反射影像,使场景更为逼真。

Paste_Image.png

二.光照贴图(Light Map)
什么是光照贴图?
1.光照贴图是一种增强静态场景光照效果的技术 。
2.性能消耗少。
3.场景更加真实、丰富、有立体感。
4.无法动态的处理光照。

• 烘培全局光照(Baked GI Lighting)
1.当烘焙一张光照贴图时,场景内的静态对象会基于光的影响算出一张贴图,并应用在场景对象上并建立照明效果。(这样的好处是场景中的灯光即便干掉,也能显示出照明的效果,并且不会消耗过多资源)
2.烘焙出的贴图,是无法在程序运行时变更运算的,因此只能定义为静态(Static)。

• 预计算全局光照(Precomputed Realtime GI Ligthing)
预计算的实时全局光照系统能帮我们实时运算复杂的场景光源,并实时反应光源的改变。(比如:日出日落,便是阴影的位置和颜色会随着光源的移动改变并对全局的光照进行预计算)

PS:在场景烘焙的时候,常会遇到下列错误,如何解决呢?

Paste_Image.png Paste_Image.png

其实出现这个错误的原因是因为Unity在烘焙光照贴图时需要准备UV贴图保存光照信息,我们需要在3DS Max或Maya里面为出错的模型添加一张UV贴图即可;或在Unity中找到模型(Model),在面版下勾选Generate Colliders和Generate Lightmap UVs后进行烘焙,若还出现问题,则在勾选前两项的基础上再勾选Swap UVs进行烘焙。

最后附带赠送一个资源小福利~~~


链接:http://pan.baidu.com/s/1qY1tqqS 密码:xzs5
上一篇下一篇

猜你喜欢

热点阅读