Unity3d 光照贴图 LightMapping

来源:互联网 发布:怎么在淘宝网上卖产品 编辑:程序博客网 时间:2024/05/17 02:17

这里写图片描述
光照贴图的强大功能我们是有目共睹的,而且Beast作为一个商业烘焙引擎更不会让我们失望。
这里写图片描述
环境光,反射光源,漫反射,自发光体等贴图都计算并显示了。

这里有几个使用常识。
光源选项:Lightmapping 成为RealtimeOnly的实时光照,这时候ForwardPath定义过得材质皆可接受光照..
一般Lightmapping为Auto选项的光源,在烘焙贴图之后,对于烘焙后的物件,这个光源就失去效用了,但对未烘焙物件还是有用的。

对于ForwardBase Pass和ForwardAdd Pass路径下的shader而言,如果不在Pass里增加获取Beast生成的light map并且叠加到光照色彩渲染的话,就没有烘焙贴图的效果。
但是要注意,如果只自定义Vertex Pass路径的shader则烘焙之后,物件会消失。因为烘焙贴图一般只支持Forward以上的高级Pass.. 但是如果在shader中增加定义
Pass{
Tags {“LightMode” = “VertexLMRGBM”}
给unity解析,在这个Pass中,读取Beast的烘焙结果unity_Lightmap,这是个环境变量(#include “Lighting.cginc”),然后将其输出。这样就看到了烘焙结果的物体。所以烘焙后的Lightmap作为贴图需要Shader把其读出来并渲染到物件才行,如果是ForwardPass的话,不读Lightmap,可以读取灯光渲染,但是Vertex Pass不行,必须定义VertexLMRGBM才能显示出来。
当然我们也可以单独烘焙单个物件和静态光源。如果光源为动态就最好设置为RealtimeOnly,静态光源最好设为BakeOnly然后烘焙,增加效果。

0 0
原创粉丝点击