对于做虚拟现实的朋友来说,烘焙贴图应该不是一个陌生的东西。想要在有限性能的电脑上面即时运算较好的光影效果,一般都会采用烘焙贴图的方法。而除了在3dmax里面烘焙贴图之外,Unity3D也自带了LightMapping烘焙贴图的功能。下面我们来做一个小例子,对两者的意义和效果做一个小对比。
在3dmax里面,我简单的建立了几个模型,并分别赋予他们不同的颜色:
![unity自带LightMapping和3Ds Max烘焙贴图的小对比 - 阿赵 - 有爪的小羔羊阿赵](https://www.evernote.com/shard/s175/res/b1265649-b7e4-427c-a106-1561a68154ee.jpg?resizeSmall&width=786)
然后使用3dmax自带的光线追踪渲染一下,会出现这样的效果:
![unity自带LightMapping和3Ds Max烘焙贴图的小对比 - 阿赵 - 有爪的小羔羊阿赵](https://www.evernote.com/shard/s175/res/3956b249-1b13-4ea7-9e47-c3ad1f9f76a7.jpg?resizeSmall&width=786)
![unity自带LightMapping和3Ds Max烘焙贴图的小对比 - 阿赵 - 有爪的小羔羊阿赵](https://www.evernote.com/shard/s175/res/8282c978-963b-400d-b1f0-43e0118cc6bf.jpg?resizeSmall&width=786)
![unity自带LightMapping和3Ds Max烘焙贴图的小对比 - 阿赵 - 有爪的小羔羊阿赵](https://www.evernote.com/shard/s175/res/80b5ca3a-b84b-4589-93e0-6960a24b5ffb.jpg?resizeSmall&width=786)
![unity自带LightMapping和3Ds Max烘焙贴图的小对比 - 阿赵 - 有爪的小羔羊阿赵](https://www.evernote.com/shard/s175/res/0b072ff4-42fc-41cc-b32d-430ad116b86a.jpg?resizeSmall&width=786)
![unity自带LightMapping和3Ds Max烘焙贴图的小对比 - 阿赵 - 有爪的小羔羊阿赵](https://www.evernote.com/shard/s175/res/d5d40386-b0a7-4698-b296-a646542bd8db.jpg?resizeSmall&width=786)
在unity里面,我拉出了两个模型,一个按照原来的颜色直接给予他材质,另外一个把3dmax里面烘焙的贴图贴上了模型,会出现上图的情况。场景里面也没有打灯光,假如是只有颜色的材质时,模型会没有任何的轮廓和立体感。而贴上了烘焙贴图的模型,看起来会和在3dmax里面使用光线追踪时渲染的效果差不多。
接下来我们对只有颜色的这个模型进行LightMapping烘焙处理。选择该模型,然后在Static里面选择Lightmap Static。
![unity自带LightMapping和3Ds Max烘焙贴图的小对比 - 阿赵 - 有爪的小羔羊阿赵](https://www.evernote.com/shard/s175/res/129b8fb5-b0fb-4836-ad39-2d5c2c89ddb7.jpg?resizeSmall&width=786)
在菜单栏的Window——>lightMapping打开lightMapping面板,在bake栏里面设置一下烘焙的参数,我这里用了如下参数:
![unity自带LightMapping和3Ds Max烘焙贴图的小对比 - 阿赵 - 有爪的小羔羊阿赵](https://www.evernote.com/shard/s175/res/075f9533-591d-4b04-8d6a-e682635541ee.jpg?resizeSmall&width=786)
设置好之后,就可以烘焙了,在烘焙之前先保存场景,然后点击Bake Scene按钮。
经过漫长的等待(等待的时间取决于你的模型的复杂程度),烘焙结束,生成了贴图,我们可以在maps里面查看:
![unity自带LightMapping和3Ds Max烘焙贴图的小对比 - 阿赵 - 有爪的小羔羊阿赵](https://www.evernote.com/shard/s175/res/6e9ba8ee-8e31-4d77-a038-6159ddecfdab.jpg?resizeSmall&width=786)
这时候,我们可以进行一个小对比了:
![unity自带LightMapping和3Ds Max烘焙贴图的小对比 - 阿赵 - 有爪的小羔羊阿赵](https://www.evernote.com/shard/s175/res/911de750-8a06-4b4d-80ee-e43cba5f37b6.jpg?resizeSmall&width=786)
同样是场景里面没有灯光,但不论是经过Lightmapping烘焙的模型,还是在3DMax里面烘焙贴图的模型,都有了较为真实的光影效果。
既然两者都能达到差不多的效果,那么究竟他们之间有什么差别呢?
3dmax烘焙:
1、可以使用各种高级渲染器对模型进行烘焙,比如Vray。
2、可以烘焙像反射这样的效果。
3、因为光影是固定了,所以在引擎里面只能按照在3DMax里面的摆放,不然就会穿帮。所以模型贴图不能在各个不同场景通用。
unity的LightMapping烘焙:
1、设置的参数相对没有3DMax里面高级渲染器丰富。
2、只能烘焙光影的追踪效果,不能烘焙反射。