最近在youtube上看了GDC,学了很多东西,最让我震撼的就是ggxx的卡通渲染了。感慨一下,想要用3D做出二次元的效果,真的不容易。现记录一些要点:
1)不要使用normal map来做cel-shading,否则做出来的明暗分界线就像狗啃一样,只使用vertex normal。
2)使用顶点色存储threshold,计算明暗面交接线,效果更佳。
3)由于完全使用顶点法线计算,舍弃了normalmap,所以可以多用三角面,放宽对面数的限制。
4)顶点法线需要手动调整,不能用自动生成的法线向量(特别是面部法线),调整到效果正确为止。这里需要在3D建模工具中使用卡通渲染材质球来观看效果进行调整,所以你需要为模型师编写shader。
5)角色外描边用材质生成,而内描线则是用很变态的横平竖直方法,将所有有描线的地方UV线打直 。
这里三头肌上的描线粗细通过顶点的UV坐标来进行调整......可怕。