如何合理的设置Corona Render中的LightMix?
1.什么是LightMix?
中文是灯光混合,是现在大部分渲染器都具有的功能,可以将场景中的灯光的效果以通道的形式单独存储出来,便于后期快捷调整灯光。
2.为什么要合理设置LightMix?
首先,LightMix的设置不存在对错,因为它的设置很简单,并没有什么高深的设置选项。
但是,不合理的LightMix设置,将会使得渲染过程占用巨量的内存(RAM);
并且,如果使用CXR等多通道格式(即一个文件含有多个通道的格式)文件,那么最终文件大小将很大,甚至一个文件10多GB,导致普通电脑根本无法打开文件处理。
3.如何合理的设置LightMix?
以下场景为例:


该场景中,灯光类型和数量如图所示:
cr_sun * 1
cr_Rectangle * 1
cr_Sphere * 3(非关联)
cr_IES * 3(关联)
以及一个环境HDR贴图
渲染效果如下图:

现在,我们开启LightMix,并且不做任何额外设置,使用默认设置,并且输出cxr格式的文件。

图示 1: LightMix默认设置

默认设置下,一共生成了8个通道,刚好对应场景所有灯光+环境HDR;
要注意的是,IES灯光因为是关联的,所以只会生成一个通道,还有就是最后一个通道【Rest(unassigned)】是指未指定的其它灯光,会统一生成一个通道,但是因为默认设置下,所有灯光都会被指定,所以Rest通道等于无意义。

最终成果如图所示,生成哥哥通道的cxr文件,并且成图尺寸高达8.5mb
如果,我们使用分组的方式,如下所示:
①.按照需求将灯光分组,并且重新命名


②LightMix选择组模式

此时我们在看渲染元素面板:

这次生成的通道就少了2个,生成的通道全部是按照我们自己的灯光组来生成的。
最终结果如下:

成图cxr文件这次的大小为6.6mb。
这个场景十分简单,灯光数量也很少,即便如此,少了2个通道之后,最终文件大小就小了1.9mb,可想而知,如果是一个实际工作中的场景,有很多灯光的情况下,合理的LightMix可以使得最终cxr文件尺寸缩小很多。
总结:
1.默认的LightMix设置,固然可以实现最大的控制度(因为每一盏灯光都会生成一个独立的通道),但是其占用的空间及内存是巨大的(甚至有10多GB普通电脑无法打开最终cxr文件的情况)。并且也会给后期带来不便,比如某个场景中,有10个非关联灯光需要一起控制,由于每一个都是单独的通道,意味着你需要设置10次。
2.合理的将灯光按照自己的需求分组,这样子才可以使得最终的cxr文件大小控制在可以驾驭的范围之内,并且也提高了后期调整的便利性。
综上所述,只有将灯光合理分组,才可以使得后期lightmix的需求,和文件占用资源的比例达成一个平衡点。