FeastSC 发表于 2023-2-2 10:25

Unity3d 为什么要烘焙/unity3d 烘焙作用是为了什么【2020】

因为Unity3d的最终作品是供受众对3D场景进行实时操作的,就像其他3D软件场景编辑状态的操作,而一般的3D软件最终作品是将场景渲染成图片或图片序列呈现给受众的,两者的最终作品有本质的区别,简单地说,前者呈现给受众的是3D场景,后者呈现给受众的是图片或图片序列(动画)。尽管如此,两者都必须有较强的立体感和较好的光影视觉效果,否则是不被受众所接受的。下图中第一张是没经烘焙的场景,看上去苍白突兀,没有立体感和美感,第二张是经烘焙之后的的场景,立体感很强,视觉效果比第一张好得多。





一般3D软件的编辑状态为了加速运算,不计算光影效果,而是通过高级渲染器的预渲染来展现光影效果和立体感,最终作品不需要与用户交互,其视觉效果一般是通过一些渲染器将预先设置好的屏幕上的相机视角渲染成静帧图片,或将设置好动画的场景的每一帧的屏幕渲染成一张张图片序列,需要强调的是,这种渲染计算的是屏幕,而Unity3d的作品要与受众交互,无法预测不同的用户会如何操作,所以就不能渲染屏幕,而是先将场景中的模型进行uvw展开(简称展“UV”,想必大家小时候无聊的时候都拆过纸盒,和那个意思大致相同),然后将场景中的光照效果(包括直接光照、反射光照、间接光照、阴影以及全局光照)按照假想展开的UV关系,渲染成特殊的静帧图片,最后将这些图片按展UV时的反向关系,包裹到(反贴回)被假想展开前的场景模型上,并与模型上原有的纹理贴图共同作用,就如同ps中的图层模式(正片叠底、叠加等等)一样,为场景增加立体感、层次感和较好的光影视觉效果,这个过程的本质其实也是渲染,只不过这个渲染不是渲染屏幕,而是渲染的被假想展开(摊平)的模型,这个特殊的渲染就称为“烘焙”,可能大家还没理解,通俗地讲,烘焙就像烤面包一样,把烤箱的热效应烤(烘焙)到了面包上,这里的烘焙是把场景的实时灯光的光影效果烤到了模型上,就像夏天穿背心被太阳灼晒了一样,太阳的光照被保留在了肌肤上。之所以叫烘焙,这个叫法来自于英文“bake”,不管怎么叫,其本质就是将场景中的实时灯光效果转化为贴图贴到了模型上。如下图所示:







Unity3d之所以要烘焙,是因为实时灯光,特别是聚光灯和点光源的运算非常消耗硬件资源,直接使用实时灯光会导致场景卡顿,尤其是复杂的大场景以及越来越迫切的作品在移动端运行的需求,使作品流畅运行的场景优化势在必然!与此同时,实时灯光不能产生优秀的GI光影效果,因此通过烘焙,将复杂的CPU运算负担转交给了显卡GPU的轻量图形运算,不仅优化了作品的实时运行,还可产生出色的光照效果。如下图所示:





另外,Unity3d的烘焙不仅限于光影计算,还涉及AO和法线,对于一些模型细节,通过烘焙AO和法线图,将模型细节交给贴图来表现,这样可进一步降低模型面数,以加速作品的流畅运行。
总之,Unity3d的烘焙是为了有效降低光影和模型的CPU运算负担,以保证作品流畅运行,并产生出色的光影视觉效果。烘焙的作用是将灯光的光影和模型细节的表现转换为贴图来承担!如下图所示:



烘焙既可以在具有烘焙功能的3D建模软件中来完成,也可以在Unity3d中来烘焙,当然,在Unity3d中烘焙兼容性更好。Unity3d的烘焙是美工的一个环节,关系到Unity作品的颜值和卖相,同时也关系到作品的实施运行是否流畅,特别是移动设备上的运行,要开发商业作品,光靠概念是不可能完成项目的,必须经历系统的实战训练,如有意可关注小姐姐陶某的《Unity模型预处理布光烘焙后处理特效美工场景优化实战视频教程》去临摹,也可阅读小姐姐CSDN的其他案例文章。
页: [1]
查看完整版本: Unity3d 为什么要烘焙/unity3d 烘焙作用是为了什么【2020】