season|使用虚幻引擎为《Season》打造卡通渲染效果( 二 )



但这种美术设计也让团队遇到了一个技术问题 。 如果一切都可单独编辑 , 就很难使用全局光照统一各个区域 。 因为每个物体都具有特定的阴影色调颜色和反射率颜色 , 它可以包含一个纹理颜色 , 这使得在不同的光照场景下 , 整个纹理很难有一致的阴影颜色 。 这就是说如果游戏中的天色发生改变 , 我们必须单独编辑所有这些物体 , 才能反映出变化 。 如果清晨的金色阳光洒在游戏中的所有物体上 , 需要逐个更改它们 , 才能反射正午清爽的蓝色光线 。 这让团队得到了一个美丽的静态场景 , 物体展示着各不相同的外观 , 但它们不能有不同的颜色或对比度 。
因此团队修改了美术设计 , 创建更容易建模的场景 , 展现物换星移 , 能够在高地和生物群区等位置间轮换 。 这迫使我们重新拾起虚幻引擎的PBR模型 , 但还需要对其做一些调整 。 如此一来 , 团队就能接收到基于入射光线的“真实”照明 , 这意味着光线将始终来自于某个自然光源 , 例如天空或闪烁的烛火 。 获得这种光照之后 , 团队会确定亮度阈值或入射角阈值 , 根据光源颜色计算每个图像像素的阴影颜色 。
卡通着色器专门用于改变材质中的颜色 , 而全新的美术设计则专注于使用光照的变化营造更美丽的场景 。 例如 , 如果想在场景中提升对比度 , 可以增强直射的阳光 , 移除天空中柔和的光照 , 从而形成一股来自太阳的直射强光 。 如果想进一步控制对比度 , 可以使用后期处理工具 。
新制定的光照决策引出了一项新特色:转向使用天空球体的静态光照 。 天空光照与光源类似 , 根据来自天空的光线 , 使整个场景的卡通渲染保持一致 。 天空光照产生的光线和阴影颜色将投射在场景中的所有物体上 。 此外团队还有一些设置项 , 可为天空设定一种基调 , 为场景的整体氛围添加一种色调 。 例如 , 在安全而熟悉的地方 , 天空光照将为所有资产投下暖色调的光线 。
现在 , 所有的光照都包含了接近于次表面散射的效果 , 光线将被物体吸收或反射 , 营造光线发散的效果 。 想想在晴朗的夏日 , 光线透过树叶 , 被绿叶吸收 , 使它们显得更加闪耀 。 另一个例子是 , 白色路面上的阳光反射进你的眼中 , 眩光让人分不清方向 , 但感觉温暖 。 光照着色器是能量恒定的 , 这意味着 , 无论我们向场景中添加多少光线 , 它始终会保持一致 。 而如果为同一物体添加两处光源 , 它的亮度就会变成两倍 。 这些写实的瞬间激发了《Season》中光照设计的改变 , 创造出玩家更熟悉的世界 。
Look Dev Manager
另一个障碍是 , 当团队得到着色器并开始构建材质和各种自定义工具时 , 这些工具不够自动化 , 缺乏易用性 。 着色器最初就有许多可用的功能 , 但它们全都散布在多个关卡中 , 需要手动执行 。
最终团队使用的解决方案是创建“Look Dev Manager” 。 Felix解释说:“这是一个基于蓝图的工具 , 如果没有可视化编程 , 我永远无法制作出来 。 ”这是一个简单的拖放工具 , 可以在游戏的任何关卡中使用 。 它能够连接和控制所有自定义着色器、后期处理和工具等美术师所必需的功能 , 并将它们紧密地封装在一个位置 。

它还能与虚幻引擎的光照场景相结合 , 允许设计者加载和卸载影响光照、云、天空盒、雾和阴影等一切与氛围和意境相关的光照场景子关卡 。
它包含多种功能 , 易于维护 。 它可以灵活地删除或添加我们想要的任何功能 , 而且对艺术家来说 , 创建和使用都很容易 。
接下来 , 让我们来深入挖掘Look Dev Manager中内置的一些功能 。 所有功能都是通过可视化编程实现的 。
关键帧序列
为了控制一天中不同时间的光照 , 制作团队在Look Dev Manager中使用了一个关卡序列管理器 , 它可以控制一天中太阳颜色和位置的变化 。 关卡序列管理器控制着太阳转移时间和位置的关键帧 , 随着时间和关键帧编号的向前推移 , 一天也将过去 。 所有的自然光照都是连接在一起的 , 可在代表当天时间的关键帧内进行控制 。
我们也可以使用光照动画来混合不同的时间和天气系统 , 从而在两个不同的光照场景之间实现平滑过渡 。


【season|使用虚幻引擎为《Season》打造卡通渲染效果】《Season》的氛围和环境
《Season》团队面临的另一个挑战就是为游戏创造氛围和环境 。 如果玩家望向山丘 , 与周围环境的大气相比 , 他们将如何感知天空的颜色和纹理?