LightMap在游戏中的应用

一.什么是LightMap?

light灯光map贴图,故模拟灯光的贴图,通常是把物体相互的影响明暗信息保存到贴图上面,说白了就是模拟灯光照射,代替真实灯光照射的东西。通常是对游戏场景中静态物体(类似房子建筑在游戏执行过程中是不会动的,或者墙上有一盏壁灯,我想让墙面上有灯光照射的效果,就把这盏灯烘焙出一张lightmap)比如有的玩家拿着手电筒类似的东西,这类动态的的不太适合烘焙lightmap处理

二.LightMap的优点?

1.省去复杂的光照计算。我们都清楚场景中的每一个对象最终选然到用户眼中,中间需要进行很多运算的,比如顶点要和灯光的位置,顶点的法线,观察的角度要进行一定的运算(这些运算是很复杂的),如果使用lightmap那,就会把这些运算转化成贴图的方式进行采样处理就可以啦,省去了很大的计算,减少了性能的消耗。

2.对贴图进行二次处理。例如壁灯对墙面的影响,我们渲染出来一张lightmap,我们发现灯光颜色,明暗度等一些细节并不是很理想的,这时候我们就可以对lightmap做二次处理,假如使用真实的灯光调整颜色后,哪个地方强一些或者弱一些,某个地方黑一些,想让某个细节变一下是无法处理的。

三.LightMap的缺点?

1.多了一层纹理。我们使用了灯光贴图肯定多了一层纹理

2.需要额外的uv,unity3d引擎可以运算出该uv,此缺点可以被忽略.

3.静态贴图无法动态改变光的方向。例如一个场景中的灯光被玩家射击掉,此时产生在墙上的光就要消失掉。

四.跟我一起制作LightMap

新建一个地面和几个物体对象加上灯光,三个静态static,一个非static,一会看变化

烘焙之后删除灯光我们就可以看到效果了


你可能感兴趣的:(LightMap在游戏中的应用)