用Blender打造动漫风格的教室环境

作者:ALLO (Theo) 2022-05-13

收集参考

在整个创建这个场景的过程中,主要依靠一个参考图像作为我的主要灵感,但我也使用了很多特定材料的参考,例如木材、金属和玻璃。

造型

我的建模过程总体上非常简单。我试图让事情尽可能简单和程序化。一个很好的例子是桌椅资产。我从非常简单的形状和曲线开始,然后使用Blender的修改器系统以程序方式实现整个资产。

对于房间,我保持一切简单,从立方体开始,用循环切割建模,直到我把形状弄下来。我知道在这类项目中着色和纹理是最重要的,所以我确保不要在建模上花费太多时间。

实例化

在整个项目中,我确保使用尽可能多的实例来提高性能。所有的桌子、椅子、书籍和书架都被实例化,以使场景尽可能顺利地运行。

底纹

这个项目的大部分是着色和纹理。这个场景中的所有东西都在Blender内部进行了程序纹理处理,除了使用四个图像纹理:来自Textures.com、我创建的用于白板的文本表,以及角色的剪裁。

对于这个项目,我使用EEVEE进行渲染,因此我可以实时预览所有内容,并可以访问Shader to RGB节点,这就是我实现所有卡通着色的方式。

阴影

大多数人会使用带有ColorRamp的简单卡通设置,但我觉得它太基础并且没有太多控制。我选择了一个更复杂、更有用的设置,它提供了更多的自由,而不是在我的基础颜色层上增加阴影蒙版或手动混合我的阴影颜色和浅色。

反射和AO

有些人可能会对我如此依赖EEVEE的“逼真”渲染工具(例如环境光遮蔽、屏幕空间反射和烘焙反射)来实现我的风格化结果感到惊讶。我的许多着色器都在其顶部添加了一个光泽着色器,以提供柔和的反射并使整个场景感觉更具凝聚力。

大多数场景在屏幕空间反射上运行,但窗口经过烘焙以提供更准确的结果。

对于金属物体,我不仅使用了逼真的反射,还使用“图层权重”节点伪造了反射,以使事物更加风格化。

纹理生成

所有的程序纹理都是用不同的技术生成的,主要是噪声纹理,但我也使用了Voronoi纹理和砖纹理。另一个非常有用的节点是Ambient Occlusion节点,它非常适合在角落添加深度。

我还使用了不同的矢量操作策略来创建蒙版并在我的场景中操作纹理的形状。

大纲

对于轮廓,我使用了简单的“Inverted Hull”方法,效果非常好,效果也很好。

节点组

在整个项目中,我使用了一些超级有用的节点组。一种解决方法是能够从卡通着色器内的场景中采样浅色。通过分离光饱和度,我可以将其用作着色器着色的遮罩。

我给另一个主要节点组起了个绰号“装饰”。使用这个节点,我可以改变着色器的颜色,通过噪声纹理混合随机RGB值。这有助于为我的颜色添加更多变化,使整个场景更具手绘风格。

还有一个节点组,我用于为阴影赋予蓝色色调。该组本身非常简单,但我几乎在每个着色器中都使用了它,以确保所有颜色都正确匹配。

几何节点

我在两个主要地方使用了几何节点:窗帘和“体积”。

对于窗帘,我使用几何节点为动画添加位移。最初,我使用了置换修改器,但我对纹理没有足够的控制,因此我决定使用几何节点。

最初,我对“体积”的技术与最终渲染中的技术截然不同。我的第一个想法是通过使用修改后的着色器创建一堆平面来使用假体积立方体。它工作得很好,但是当我使用更多的平面来实现更高的分辨率时,性能很慢。此外,只有当相机垂直于平面时,效果才会生效;如果没有,它会变得非常波涛汹涌。

我的最终版本使用了完全不同的技术。我不是主要使用着色器,而是使用几何节点,特别是“几何重铸”节点。有了这个,我可以通过窗户照射“光”,并计算它会照射到教室里的物体的哪个位置。然后我简单地将着色器应用于我的网格,瞧!我有一个完全是3D的高性能灯光解决方案,因此可以从任何角度观看。

我添加了一些像粒子这样的效果,一切都完成了,可以渲染了!

合成

我最终渲染中的照明看起来与视口完全不同,更暗,更情绪化。这是因为我对最终图像的外观不太满意——数值差异不够大,颜色太柔和。

我的解决方案是简单地模糊我的渲染并在后期将其与自身相乘。这几乎是我将我的渲染从平面图像变为美丽喜怒无常的场景所需的全部内容。我添加了一些其他效果,例如镜头色散和晕影,但总体而言合成非常简单。