使用PlayCanvas在WebGL中进行平面着色—快速提示
我最近尝试在PlayCanvas中按程序生成的地形上使用平淡的阴影处理游戏卡纸。 这并不像我预期的那么简单,我最终花了很多时间试图弄清楚它,而不是制作游戏。 我想如果您遇到同样的情况,我会写这份快速指南作为参考。 目标是创建类似于PlayCanvas主页中的内容。 这种“低聚”外观营造出我想要的复古感觉。 通常,您可以通过导出带有平面阴影的模型来执行此操作。 在Blender中,您只需选择模型并在工具面板中切换平坦/平滑阴影即可。 问题是当您尝试对过程生成的模型(例如terrain)执行此操作时。 在下图中,左侧是我遵循PlayCanvas教程有关地形生成的内容,右侧是我想要的。 生成的几何图形本身不平滑,看起来像上面图像的右半部分。 左半部分看起来很光滑的原因是由于现代图形技巧在顶点之间的法线被插值 。 如果我们采取一个平面并像这样弯曲它: 沿表面的真实法线如下所示: 如果要使该表面看起来更平滑,则可以创建更多的细分,但是渲染成本很高。 取而代之的是,您可以只在每个像素处插入法线,以便在应用照明时看起来很平滑。 图6显示了所有法线都指向真实法线的情况,以及法线在顶点的法线之间逐渐插值的情况。 这种插值不是微妙的效果。…