关闭

Unity3d 光照贴图 LightMapping

标签: unity3dshader渲染
685人阅读 评论(0) 收藏 举报

这里写图片描述
光照贴图的强大功能我们是有目共睹的,而且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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:28099次
    • 积分:495
    • 等级:
    • 排名:千里之外
    • 原创:19篇
    • 转载:5篇
    • 译文:1篇
    • 评论:9条
    最新评论