加入收藏 | 设为首页 | 会员中心 | 我要投稿 莆田站长网 (https://www.0594zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 网络游戏 > 网页游戏 > 正文

写给美术看的Unity全局光照详解

发布时间:2020-04-14 21:31:11 所属栏目:网页游戏 来源:站长网
导读:副标题#e# Unity到2019,GI系统相比已经有了很大改进,可能你会觉得文章已经过时。对于旧知识看法,本人认为还是有重要的学习价值的。如果你熟悉一种技术的发展历程,你会知道技术中的一些细节为什么要这样实现,这是有利于充分掌握这种技术的。 好了,不想

  Albedo描述了光线击中表面后会呈现一种怎样的状态,比如,在PBR材质中,完全光滑的金属会吸收所有光线,所以任何光线击中表面都不会被反射出去,也就不会有间接光照的效果。又比如,蓝色的光线击中Albedo为黄色的表面,发射出去的光线会呈绿色。

  Baked GI

  接下来了解Baked GI的参数:

  lightmapper:使用此选项指定要使用哪个内部光照计算软件来计算场景中的光照贴图。 选项是Enlighten和Progressive。 默认值是Enlighten。Progressive渐进式光照系统是用来快速预览效果的,但该功能仍处于试验阶段,可暂时忽略。

  Lightmap Resolution :物体单位表面积占lightmap的像素数量。 增加此值可提高Lightmap的质量,但也增加了烘烤时间。 默认值是40。此值最后还要跟每个物体上的Scale In Lightmap换算,才是能确定该物体最终占用的lightmap像素是多少。

  Lightmap Padding:lightmap上储存的是不同物体的光照信息,物体的像素块之间需要隔开一些像素,防止纹理采样时发成错误。这个padding就是物体隔开的像素数量。

  Lightmap Size: 每张lightmap最大的尺寸值。如果Lightmap Resolution越高,而Lightmap Size的尺寸不足以“装下”这么多的像素,就最烘焙成好几张Lightmap。在项目中,除了lightmap的大小需要控制外,还要尽量减少lightmap的数量,因为这会影响网格的合并。此值最大不能超过2048。

  Compress Lightmaps: 勾选了此选项,将会对烘焙好的Lightmap进行压缩,大大减少了图片内存大小,但质量也会降低,需要视实际情况而定,做最优的选择。一般建议是要勾选的,若效果不满意,可以考虑提高Lightmap Resolution和Lightmap Size。如果非得要去掉勾选,不进行压缩,建议得把Lightmap Resolution和Lightmap Size降低到合适的范围以减少内存大小。

  Ambient Occlusion:当勾选时,开启表面间的环境光遮蔽效果。这仅适用于由GI系统计算的间接照明。 此设置是默认启用的。

写给美术看的Unity全局光照详解

  Final Gather: 启用Final Gather时, 会提高lightmap的视觉质量,比如消除噪点等,但是会增加额外的烘焙时间为代价。具体原理我也没搞懂。。

  Lightmap Parameters:除了Lighting窗口的GI参数,Unity还提供了一组常规参数来进一步地控制GI程序, 菜单中有做好的预设值可供选择,一般来说使用这些预设就足够了,默认是Default-Medium。但您也可以新建一个Lightmap Parameters文件来自定义你的设置。 有关更多详细信息见下文。

写给美术看的Unity全局光照详解

  物体Lightmapping Settings

  除了在Lighting Window面板全局地控制场景的GI参数外,有些参数还可以针对个别物体进行设置。 选中GameObject的Mesh Renderer组件,开启lightmap Static,便会展开Lightmap Settings栏,这里面的参数会结合Lighting Window的场景GI参数,最终决定该物体以怎样的GI参数参与到GI程序中去。

写给美术看的Unity全局光照详解

  Scale In Lightmap:默认是1,对应Lighting Window中的Lightmap Resolution。

  假如Lightmap Resolution为40,物体的Scale In Lightmap为2,假设物体是1x1x1米的立方体(6个面),那么最终该物体占用的lightmap像素为:40x2x6 = 480个像素。

  Proprotize Illumination:选中此框可指示Unity始终在光照计算中包含此对象。 用于强烈发射的物体,以确保其他物体将被该物体照亮。

  Lightmap Parameters可以分配给Lighting Windows的场景设置,也可以应用于场景中的单个GameObject实例。

  Lightmap Parameters用于存储控制GI功能的参数的一组值, 定义和保存GI的不同参数值,以便在不同情况下使用。 在创建时,它们存储在Project文件夹中,可以通过Project窗口进行访问。

写给美术看的Unity全局光照详解

  通过创建Lightmap Parameters,针对不同类型的GameObjects,或针对不同平台和不同场景类型(例如,室内或室外场景)优化的预设,一般来说,使用Unity做好的几组预设便能应付大多数情况。

  其参数过于复杂,不作解析,有兴趣可以去官网查看。

  其它渲染相关的参数设置

  Light Inspector

写给美术看的Unity全局光照详解

  只介绍与烘焙有关的部分参数:

  Mode:用于指定该灯光以什么方式进行照明,有Realtime、Mixed、Baked三种。对应的要看Lighting Window开启的是哪种光照方案。

  Intensity:灯光光照强度,Directional light 默认值为0.5, Point, Spot or Area light 为1。

  Indirect Multiplier:间接光强度,不多解析。 应用:当处于阴暗环境(例如洞穴内部)需要更亮的间接光才能使细节可见时,这是非常有用的。 或者,如果要使用“Realtime GI”,但要限制单个实时灯以使其仅发射直射光,可将Indirect Multiplier设置为0。

  Cull Mask:可以有选择地排除不受灯光影响的对象。注意:该特性只适用于实时光照,烘焙过程是不会考虑该选项的。

(编辑:莆田站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读