【转载】LowPoly 材质球实现(简易版)

207 阅读1分钟

原文链接: 【小功能】LowPoly 材质球实现(简易版)| Mantra

前言

不知从何时开始,LowPoly 风格的游戏开始流行。那么如何快速实现 LowPoly 这种风格呢?

首先建模方面不用多说,肯定是精简模型面数,保留轮廓的同时增加美感。在模型领域专门有一种技术叫做 “Hard Surface Modeling”,即硬边建模,与本文讨论的内容有些不同

接下来就是材质方面啦,我们平常看到的游戏物体都是经过 Smooth 处理之后的结果,而不是真正的棱角展示。如下图,左侧是带棱角的样子,右侧是经过 Smooth 之后的结果。

所以我们需要去掉系统为我们添加的 Smooth 操作。实现方式可以有很多中:

  • 1)模型导出时取消 “Smooth Group” 的选项(不同的 DCC 可能有不同的名称,但大体类似)
  • 2)从材质角度出发,这也是本问要讨论的重点

算法

核心算法还是比较简单的,主要是修改 Normal 端口(获取物体的顶点坐标,对 DDXDDY 进行叉乘操作)

为了测试材质的通用性,我们需要在其他游戏物体上测试。

测试:简单游戏物体

在 3dsMax 中创建一个简单的 Sphere ,并导出到 UE4 中,分别赋予两种材质对比效果如下

上图中左右两个球所使用的材质分别如下