Unity5中灯光烘焙(lightmap)的一些注意事项
2015-12-15 18:16
393 查看
之前自己研究了下lightmap,不过并没有关注效果和细节,只是关注了使用流程。
今天配合美术测试了下Unity5中的lightmap,有一些经验心得。
首先推荐一篇文章,将的非常不错 http://www.edy.es/dev/docs/unity-5-lighting-cookbook/
1、灯光烘焙的速度非常慢。在Unity5中尤其慢(可能是因为效果和复杂度提升了,速度据说比Unity4慢几倍)。Unity5.3提升了烘焙速度。
2、所有被烘焙的物体设置成静态的(勾上Static),否则不参与烘焙
3、在Lighting--Scene面板中,注意几个Intensity参数。他们会影响最终的烘焙效果。 比如Ambient Intensity调大些环境光就会对场景造成影响,如果需要某些阴暗、蓝色、红色的场景,可以设置这里,一样的场景可以烘出不一样的效果。
不过这里也有一个坑,默认不改,这些Intensity都是1,会造成场景的曝光,看起来要比实际光照亮很多。
4、在Lighting--Object面板中,如果选择好一个3D模型,会有一些参数设置,其中有一个Scale In Lightmap,通过调整这个值,可以控制该物体在Lightmap中所占的纹理大小。比如调整成0.1,则此物体的光照纹理就只有原来的十分之一,而调整成0,则此物体虽然可以产生阴影,但是不接收任何光照信息。
在预览(Preview--Baked Intensity)中可以看到物体所占纹理大小。
5、接收阴影的模型(如地面),不要缩放。否则阴影就显示异常了。比如我们一开始把地面缩放了100倍,阴影直接就不显示了(其实是拉伸早成显示错误了)。
6、Unity5.3之前的版本有Bug。使用General GI---Directional进行烘焙的话,阴影无法显示。这个是因为Directional只支持Opengles3.0以及SM3.0以上的显卡和设备。当不支持时没有Fallback到Non-Directional,就出问题了。 一般来说这里选择Non-Directional就好了。
7、最终烘焙出来的效果,跟实时光照有一些初入。尤其是考虑到PBR的时候(Standard shader)。这个只能通过参数一步一步来调整。不过烘出一个效果可以接受的场景就好了,也没有必要追求一模一样。毕竟是完全不同的光照系统。
今天配合美术测试了下Unity5中的lightmap,有一些经验心得。
首先推荐一篇文章,将的非常不错 http://www.edy.es/dev/docs/unity-5-lighting-cookbook/
1、灯光烘焙的速度非常慢。在Unity5中尤其慢(可能是因为效果和复杂度提升了,速度据说比Unity4慢几倍)。Unity5.3提升了烘焙速度。
2、所有被烘焙的物体设置成静态的(勾上Static),否则不参与烘焙
3、在Lighting--Scene面板中,注意几个Intensity参数。他们会影响最终的烘焙效果。 比如Ambient Intensity调大些环境光就会对场景造成影响,如果需要某些阴暗、蓝色、红色的场景,可以设置这里,一样的场景可以烘出不一样的效果。
不过这里也有一个坑,默认不改,这些Intensity都是1,会造成场景的曝光,看起来要比实际光照亮很多。
4、在Lighting--Object面板中,如果选择好一个3D模型,会有一些参数设置,其中有一个Scale In Lightmap,通过调整这个值,可以控制该物体在Lightmap中所占的纹理大小。比如调整成0.1,则此物体的光照纹理就只有原来的十分之一,而调整成0,则此物体虽然可以产生阴影,但是不接收任何光照信息。
在预览(Preview--Baked Intensity)中可以看到物体所占纹理大小。
5、接收阴影的模型(如地面),不要缩放。否则阴影就显示异常了。比如我们一开始把地面缩放了100倍,阴影直接就不显示了(其实是拉伸早成显示错误了)。
6、Unity5.3之前的版本有Bug。使用General GI---Directional进行烘焙的话,阴影无法显示。这个是因为Directional只支持Opengles3.0以及SM3.0以上的显卡和设备。当不支持时没有Fallback到Non-Directional,就出问题了。 一般来说这里选择Non-Directional就好了。
7、最终烘焙出来的效果,跟实时光照有一些初入。尤其是考虑到PBR的时候(Standard shader)。这个只能通过参数一步一步来调整。不过烘出一个效果可以接受的场景就好了,也没有必要追求一模一样。毕竟是完全不同的光照系统。
相关文章推荐
- Unity3D ----- 制作信息滚动提示(NGUI)
- StrangeIoC —— Unity MVC 专属框架
- Unity3D方法来隐藏和显示对象
- Unity 动态生成 xml文档
- Unity Shader 顶点程序 实现漫反射与法向量的非等比转换
- Unity 获取指定资源目录下的所有文件
- Unity3D AI角色移动和自动跟随
- Unity Sprite切割导出
- Unity3D 巡逻敌兵探测玩家逻辑实现
- Unity3D 摄像机平滑跟随角色
- Unity3D角色换装实现原理及步骤
- unity3d爬坑手记3
- 【Unity Shaders】Lighting Models —— 灯型号Lit Sphere
- 在Unity3D中使用ScriptableObject进行序列化
- unity发布程序的选项
- 使用vs调试unity脚本的方法
- Unity日志工具——封装,跳转
- Unity的Vsync Count垂直同步原理剖析
- UNITY 5.2 Quaternion 类
- unity5.x的bug