控制角色和场景的光照
仅仅提供卡通材质还不能满足使用UE创作极致风格化内容的要求, 在实际项目中, 我们既想要高效和鲁棒 (游戏项目中同一个材质需要适应各种灯光环境, 并最小化性能开销), 又想要自由度 (电影项目中需要自由且精准调整每个颜色), 平衡他们是非常困难的.
制作MooaToon正是为了解决这些问题, 本文将向你介绍MooaToon的基本光照逻辑, 以及与UE默认的光照有何区别, 以帮助你深入理解并使用MooaToon.
UE默认光照
与其他PBR渲染器一样, UE默认的光照分为直接光照和间接光照, 并且可以进一步细分为漫反射与镜面反射, 所有光照通过加法累积起来, 并确保能量守恒.
接下来我会简单为你介绍UE默认光照的组成, 如果你已经非常熟悉UE的光照, 那么可以跳过这部分.
间接光照
着色点接收到的来自其他物体的反弹光, 以及来自大气散射的光. 也就是所谓的全局光照 (GI).
通常使用间接光来控制物体背光面颜色:
- 室外主要通过天光控制间接光
- 室内则通过其他直接光的数量和面积控制间接光
直接光照
着色点接收到的直接来自光源的光, 光源被遮挡则产生阴影. 直接光由方向光, 点光源, 聚光灯, 面光源产生.
漫反射与镜面反射
光照射到物体表面会发生反射与吸收. 当物体吸收绿色和蓝色波长的光而反射红色波长的光时, 它看起来就是红色, 不同的材料会反射与吸收不同波长, 于是我们才能看到五彩斑斓的世界.
无限放大物体表面, 我们假设每个最小的着色点都是平滑的, 当光线打在着色点上时会向各个方向产生反射, 其中反射角等于入射角的是镜面反射, 其他方向的是漫反射:
漫反射的强度在各个角度观察都是相等的, 而镜面反射则会因为微观表面不同的法线分布产生清晰或模糊的高光, 形成宏观上光滑或粗糙的材质: