如今,许多曾经应用在游戏开发中的技术开始愈发频繁地在工业和商业领域出现。无论是在建筑、医疗、工业制造等高技术密度的行业,还是在零售、导航、人机互动等与普罗大众人间烟火息息相关的领域,即时渲染技术都在快速普及化。
汽车行业毫无疑问是游戏技术商业化的先驱者之一,大至模拟真实驾驶体验的 3A 游戏大作,小至一个手机即开即用的 HTML5 展示,即时渲染总是能够给汽车带来各式各样的新鲜感。那么,在「万物皆可元宇宙」的现在,我们如何在 Cocos Creator 中,制作一个漂亮的 3D 汽车渲染呢?
无论是用于游戏还是工业或商业用途,汽车渲染所需的美术资源与其他物件都没有本质的区别,我们可以:
使用硬表面建模技术,还原各种车辆的结构形态;
利用 PBR 渲染工作流程,表现汽车的金属、皮革、玻璃等材质效果;
使用法线贴图,将精细的结构和材质细节还原在多边形数量较小的模型上,在不损失视觉展现的前提下让更多的受众无障碍获得相同的体验。
然而,要达到令人满意的汽车渲染效果,首当其冲的是车漆效果的表现。本次我们将分析车漆的结构、类型等,在 Cocos Creator 3.4 中实现写实风格的车漆表现(Demo 请点击文末【阅读原文】下载)。
车漆的结构
传统的车漆一般分为电泳(Electrocoat)、中涂(Primer)、色漆(Basecoat)和清漆(Clearcoat)四层。
电泳和中涂的作用主要是保护车身免受外界化学和紫外线侵蚀,它们位于色漆下层,被色漆层完全遮盖,因此我们不需要考虑它们在渲染中的效果。
色漆是主要表现车漆颜色和质感的部分。
清漆无色透明,位于色漆上层,包裹着色漆。
色漆分为不同的材质和种类,有不同的颜色和高光表现。我们可以看到,在没有喷涂清漆,色漆暴露在外的境况下,车漆的表现完全由色漆层决定,我们只需要使用 PBR 流程表现色漆的颜色、高光、金属度即可。这与其他普通材质的表现方法并无差别。
当喷涂上清漆层后,车漆的整体表现就不同了:清漆层无色透明,表面经过抛光非常光滑,因此在车身上出现了强烈的反射,同时又保持色漆层的颜色。
不仅如此,当我们靠近观察的时候,会发现车身上出现了细微的凹凸不平的条纹。这是油漆在干燥的过程中自然会出现的现象,称为橘皮纹。橘皮纹会在清漆层出现,是因为油漆层越厚越容易出现橘皮纹。而色漆层是车漆结构中最薄的一层,通常不会出现橘皮纹。
了解了车漆的结构,我们已经有了大概的思路:我们需要在一个标准的 PBR 材质层上面,再制作一层有较强烈的反射效果,同时又有细微的条纹结构的材质。这层清漆材质独立于底层的色漆材质,并且无论底层的色漆材质如何表现都会一直存在。
既然车漆的主要效果由色漆层决定,那么我们如何表现色漆层呢?
色漆的分类