Unity3d 光照贴图 LightMapping
2015-07-09 22:00
555 查看
光照贴图的强大功能我们是有目共睹的,而且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然后烘焙,增加效果。
相关文章推荐
- Unity中触摸和鼠标操作的几个问题
- Unity3D面试题(全)
- unity-metaio在xcode的导出编译出错
- Unity 坐标转换 世界坐标转换到NGUI坐标
- Unity 各级别 技术面试
- Unity3d中的属性(Attributes)整理
- Unity3D占用内存太大的解决方法
- Unity3D NGUI 自适应屏幕
- Unity3d C#反编译工具Reflector
- Unity3D游戏开发最佳实践20技能(两)
- Unity游戏开发使用Assetbundle加载场景的原理
- C#开发Unity游戏教程之判断语句
- unity中各种双击的实现
- Unity检测目标点是否在扇形攻击范围内
- C#开发Unity游戏教程之判断语句
- 如何使用Unity制作虚拟导览(五)
- 如何使用Unity制作虚拟导览(四)
- 如何使用Unity制作虚拟导览(三)
- 浅尝Unity 3D的Asset Bundle知识(三)-----导入资源篇
- 如何使用Unity制作虚拟导览(二)