今天要来作一件有趣的事情,那就是把一个模型数据烘焙到贴图上!
什么意思?就是下面酱紫,把这只小喵从第一张图拍扁,变成第二张图的样子(彷佛有点残忍~)
可能你常常会从美术那边听到“烘焙光照贴图”、“烘焙法线贴图”、“烘焙高光贴图”等等词语,好奇的小伙伴不由会有疑问:烘焙贴图是个啥玩意???
一言以蔽之(丰富的成语储备),烘焙贴图其实就是把像素级别的信息存储到贴图上,以方便后续做进一步使用。
OK,而后咱们就能够来看看怎么把模型数据(其实就是顶点信息)存储到贴图上,就是你了~
首先咱们须要对模型进行展UV操做,说白了就是根据模型UV信息计算出一个“新位置”,这个新位置就是将要存储到的贴图的位置。计算也很简单,以下图,将UV坐标从新作下映射,便可获得这个新位置。
后面就简单了,可使用RTT(Render To Texture)技术,把当前相机渲染到一张RT保存下来,这就是咱们的烘焙结果了。好比我存储成了下面这张正方形贴图。
好比,我前面公众号文章讲过漫反射和高光部分的光照计算,这部分是实时计算的。咱们其实也能够预先计算好这部分模型光照信息,而后一块儿烘焙到这张贴图里。
下次采样贴图时就能够直接得到光照信息了,pia~pia~pia~就能够直接进化成下面这种小喵了~
欢迎关注个人微信公众号【unity大话东游】,更多的unity技术类和渲染类文章等着你哦!