在这里我想分享这段时间在Unity3D中使用灯光时遇到的问题和解决方案,希望能给大家带来一些帮助,当然如果有错误之处,还希望在评论中点出,以免把人带歪了,这里以2017版为准。

那么在Unity3D中的光照可以分为实时光照和烘培光照,对应的需要将对象设置成动态或者静态,而这两者既可以单独使用也可以同时存在,在2017版中是可以实现的。这两种光照模式各有优缺点,首先动态光照:优势是可以提供动态阴影,实时反映光阴变化,阴影质量更高。缺点是消耗较大,阴影有网格感,镜头移动时阴影会有抖动。其次静态光照:优势是可以减低性能的消耗,阴影暗部效果更好,光影关系更稳定。缺点是光影不会产生变化,需要时间等待烘培结果,需要额外的空间存储光照信息。

  1. 判断是使用静态还是动态:一般是根据场景的大小和是否有大量移动物体,以及项目需求或条件限制
  2. 静态灯光中检查2U和静态物体属性:使用静态灯光会先检查2U尽量减少接缝,避免拉伸,不重叠,保持大小比例一致

  3. 静态属性中可以单独选择,常用的静态(lightmap static灯光贴图静态,occluder 遮挡体静态,occludee被遮挡体静态,reflection probe反射体静态)

  4. 尽量减少拼接物体,减少单面物体,引擎中容易造成漏光,例如房间最好一体成型,墙也是有厚度的不然墙缝会高亮(或者新建一个LightmapParameters可以修改缝隙值,但无法消除多少还是有亮缝的出现)。

  5. 根据场景中的光源优先配置灯光,现在实时的情况下确定光照方向位置等信息(烘焙前后光照效果变化较大),补光使用面片光源时,可以减低光源强度(不要太低于0.5),提高间接光照强度,面片面积小于平面,避免光源背面的面会黑。

  6. 点光源适合有发光体的补光(有明显的渐变过度),射灯适合区域补光,但这两个光源用来补光的话有个问题,如果不开启阴影光源会穿过墙体(无论多厚),如果开启阴影则会影响主光源的阴影。

  7. 可以利用分层的方式,让某些灯光只对这一层的物体或区域,进行照亮(这个方法同样适用去反射球的反射内容)

  8. 阴影的质量的设置需要在quality里完成,包括实时灯光的影子质量也是,一开始可以在Levels中修改当期配置的等级,也可以自定义一个,主要参数pixel light count 灯光上限,shadow resolution 阴影精度,shadow projection阴影投射方式:close fit相机移动有抖动的可能但分辨率更高;stable fit不会抖动抖动,但质量稍差,shadow distance阴影距离,shadowmaskmode阴影模式:shadowmask静态物体间阴影使用烘焙;distance shadowmask超出阴影距离的静态物体间的阴影使用烘焙

  9. 灯光模式中baked indirect 提供和实时光照相同的效果,只烘焙间接光照(物体间互相映射的光照),等同与实施GI,缺点消耗大。

    Shadowmask(需要修改quality中shadowmask mode的选项shadowmask)提供和实时光照相同的效果,烘焙间接光照,静态物体会烘焙阴影贴图,但受光回随光源变化(mixed)中等性能消耗

    Shadowmas(需要修改quality中shadowmask mode的选项distance shadowmask)提供和实时光照相同的效果,烘焙间接光照,在预定距离内是baked indirect方式,远距离是shadowmask模式,介于前两者之间,消耗取决于阴影显示距离缺点同上

    Subtractive 静态和静态之间是光照贴图,动态和动态物体是实时阴影,动态加静态是可以叠加在静态上,消耗低,没有镜面照明

    以上模式只有在灯光是mixed前提下,如果是back模式,动态物体都不会产生阴影。

  10. Lightmapper 其中progressive渐变式光照,能过度硬边的光阴接缝,可以随时暂停。

    Indirect resolution间接光照的单位像素格,数值越高效果越好,烘焙时间越长

    Lightmap resolution光照贴图的单位像素格,数值越高效果越好,烘焙时间越长

    Lightmap size光照贴图分辨率大小

    Compress lightmaps 压缩光照贴图,移动端最好勾上

    Ambient occlusion增加环境遮挡中的明暗对比,只限于间接照明,不会影响直接的照明

    Max distance 产生阴影的距离,值越大距离远的物体也会互相影响

    Indirect contribute 间接光的亮度,小于1变暗,大于1变亮

    Direct contribute 控制直接光的亮度,数值越大照明对比度越大

    Final gather提高光照贴图质量,但是烘焙时间增加

    Directional mode 开启会增加第二套光照贴图记录入射光方向信息,因此需要2倍的数据存储空间

    Indirect intensity 控制实时和烘焙光照贴图中的间接光亮度,大于1会增加亮度

  11. 光照探针的探头就好比一个反射球,只是不管物体是否光滑,都会在上面反射光照(LOD算一种动态物体也需要光照探针)

    动态物体在探针范围内是由探球的光亮均值来决定亮暗,始终只调用4个相连的球,因此也精细的光影变化探针数量就越大,消耗也越大,如果资源有限,就把探针集中在明暗变化的边缘,但要注意探针不能穿到模型里或地面下,不然读取不到光照信息,而且光照探针不能产生阴影,物体只能产生整体的明暗变化。

  12. 动态光最好也烘焙下,可以生成LightingData,这样光照信息会更准确,动态光下不能使用面片光源来补光,只能用分层或者反射球来改变光亮,实时中只计算实时光照不支持射灯和点光源,且强制所有灯光实时照明(面片光除外)。

    一般都会增加post prcoess的插件来用后期处理镜头,除了里面的一些镜头特效外,常用的有它的抗锯齿,环境阴影,眩光,颜色调节,由于是镜头特效,建议初始场景不要对比过于强烈,不然整体很难调整还是需要去修改细节。

    个人对一些实时光中常见的影子问题,就是在背光处的地方很多物体之间是无法产生阴影的,但是由于模型间的衔接,所以看上去没有真实感,这时候加个关系光影会好很多,这个时候我会利用材质里面的二套贴图,来叠加影子(最好有2U可以避免影子重复的问题)

Unity3D中场景烘培步骤分享相关推荐

  1. 关于场景烘培以及灯光使用的基础文章

    最近看了很多群友的聊天,有不少人发了手头的作品,来征求建议,看到了一些共通的问题,因为我研究Unity的烘培也有一些年头了,所以决定针对Unity的场景烘培以及灯光的使用,写一个专题的文章来说明与探讨 ...

  2. Unity3D_场景の烘培

    原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 Unity3D引擎技术交流QQ群:[119706192]本文链接地址: Unity3D_场景の烘培 Unity自带的烘培系统做个傻瓜式流程 ...

  3. Unity3d中场景漫游的制作

    最近在学习Unity 3D漫游制作,发现这篇博文,转载过来,感谢原作者,Unity3d中场景漫游的制作 Unity3d中场景漫游的制作,非常方便!!! 首先在3d软件中准备好模型,我找了个maya制作 ...

  4. 场景烘培分享——详情unity手册

    1.灯光介绍 Unity灯光的简介 Area Light 区域光(只能用做烘培,常用雨补光或者是发光的屏幕上) spot light 射灯(和点光源搭配使用对于路灯的使用比较多) point点光源(对 ...

  5. 烘培配方分享---含制作步骤

    <在csdn分享烘培是不是搞错了什么?> 以下食谱全部经由本人亲手实验过,莫问题的! 菜谱: 1.泡芙 2.牛奶布丁 3.老婆饼 4.焦糖杏仁派 5.葡式蛋挞 6.曲奇饼干 7.蔓越莓饼干 ...

  6. Unity3D 5.1烘培

    原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 Unity3D引擎技术交流QQ群:[119706192]本文链接地址: Unity3D_5.1烘培 静态Bake 1.将要烘培的场景物体设 ...

  7. Unity_场景烘培技术

    烘焙需要注意的点: 材质: 材质贴图:材质的基础纹理(必须) 金属材质:根据模型是否需要金属材质 法线贴图:(模型纹理细节的体现)(如果要制作更加真实好的效果建议加上) 高质量贴图:让模型纹理更加清晰 ...

  8. unity-阴影、烘培、光照贴图

    阴影效果: 使游戏界面中的物体模拟在光照下的真实效果 阴影类型:(各有好处) 1.软阴影 锯齿比较少 2.硬阴影 软阴影比硬阴影更加消耗资源,但是值消耗GPU资源 使用阴影功能的注意事项 1.确保光源 ...

  9. Unity3d办公场景灯光布设与光影烘焙及后处理【2020】

      先看看本案例的部分效果截图:   本文小姐姐以一个办公场地为例,和童鞋们再次讨论Unity3d室内场景的灯光布设.光影烘焙和后处理,希望对初学者有所帮助,本例的3dmax场景如下两图所示,其中第二 ...

最新文章

  1. [短文速读] 重载有暗坑,JVM是如何执行方法的
  2. vue main.js 导入文件报错Module build failed: Error: No PostCSS Config found in:
  3. 指针和数组的区别是什么?
  4. linux中DNS的介绍及DNS的高速缓存
  5. Alter-有意思的小游戏
  6. 数学建模亚太赛优秀论文_2019亚太地区大学生数学建模竞赛志愿者等级评定结果公布!...
  7. CTF工具-gdb简介
  8. 几段表单处理的JQuery代码
  9. 基于Xilinx Spartan-7 FPGA实现AD7606-8接口
  10. 使用内容脚本将代码插入页面上下文
  11. 【数据结构笔记】Leetcode买卖股票的最佳时机 系列总结
  12. 计算机组成原理-面试题
  13. unit04-JavaScript
  14. kmplayer播放flv文件不正常(屏幕绿色滤镜或者很模糊)怎么办?
  15. Content has been consumed
  16. NNI speedup_model()代码笔记
  17. 【公告】C币兑换平台上线
  18. 天的各种书法_你可知道书法里的各种关系?
  19. 每日一题.PYTHON面向对象编写模拟人生屌丝逆袭游戏(登录类/角色类/场景类)?
  20. 测试狗:冷冻电镜是什么?冷冻电镜技术的应用

热门文章

  1. 内网搭建maven私库
  2. 2022年内蒙古最新高级消防员模拟试题题库及答案
  3. 干货 | 在线查你的个人数据有没有泄露
  4. TCP/IP协议就是这个玩意(不看也不影响拿到50K!但是程序员应该知道这些)持续更新中
  5. 英语学习思路【罗肖尼Shawney】
  6. IT外企那点儿事(15): 好员工和坏员工只有一步之遥
  7. 如何查看windows版本
  8. UVALive 7279 Sheldon Numbers (暴力打表)
  9. 第一个只出现一次的字符
  10. Doxygen (1): 安装及设置