Unity制作二次元卡通渲染角色材质——1、资源分析

Unity制作二次元材质角色


回到目录

大家好,我是阿赵。
开始制作二次元角色材质之前,我觉得应该是先分析一下,我手上拿到的这个角色模型资源,总共有哪些信息是我们能用的。
所以这篇文章我不会分享具体的Shader,但我感觉是所有思路的开始,可以明白整个模型的资源构成和作用。觉得没有作业抄的朋友可以跳过这一篇文章了。

首先,我拿到了这个已经蒙皮完成的网格模型
在这里插入图片描述

然后有这几张贴图
在这里插入图片描述

接下来通过简单的shader来读取一下这些模型信息,逐一分析一下:

1、顶点颜色

顶点颜色其实有很重要的作用,他的每一个通道都可以代表一种信息。所以很多比较规范的模型,都会烘焙顶点颜色。所以我也打算看看这个模型的顶点颜色是怎样的。于是写一个简单的shader获取一下顶点的Color,然后在片段着色器返回。
在这里插入图片描述

结果有点失望,这个模型没有烘焙顶点颜色。
如果我重新制作这个模型,那么顶点色一般有些什么作用呢?
一般来说,我觉得一些和顶点程序相关的参数,可以设置在顶点色的各个通道里面。然后一些可以使用逐顶点渲染的颜色,也可以保存在顶点色里面。
比如说:

1.顶点色AO

可以简单烘焙一下模型的AO贴图,然后记录在顶点色上,那么在渲染角色的时候,可以给模型简单增加一个拐角阴影

2.描边的粗细程度

同一个模型,他不同的部位,有可能需要描边的粗细会不一样,比如脸部的描边我们希望是细一点,甚至没有的,大腿、武器等的部位可能需要描边稍微粗一点。如果只能靠在Shader里面声明一个变量来定义粗细,很难做到不同部位不一样。但如果通过顶点色的某个通道去定义,我们就可以做到每个部位的描边粗细不一样。

3.顶点偏移值

有些情况,我们需要某些部位在渲染的时候发生一些改变,比如顶点沿着摄像机方向的Z轴做一个拉近或者拉远。这种情况也是多用于描边,有些部位不想出现描边,所以就把描边的模型往后推一点。这个计算是在顶点程序的,所以值只能记录在顶点颜色。

既然原来的模型没有带顶点烘焙颜色,我也只是在每天晚上下班后深夜11点到12点之间有时间才做个demo写写文章,也没太多时间去处理原始模型,所以只能放弃掉上面说的几个效果了。有时候想,如果不用加班多好。

2、顶点法线

在这里插入图片描述

由于没有法线贴图,那么我们接下来所有的光照模型计算,都是基于模型的顶点法线了。
从总体上来看,这个角色的法线还算正常,
在这里插入图片描述

不过从细节看,脸部的法线似乎不那么平整。这个估计是需要特殊处理一下。

3、基础贴图

这里的基础贴图,有baseMap和sssMap为一套,身体一套,武器一套。
在这里插入图片描述

这是baseMap的效果
在这里插入图片描述

这是sssMap的效果
很明显,这个是用于做光影时的颜色的,baseMap是亮部颜色,而sssMap是暗部颜色。

4、ILM贴图

ILM贴图一般是用于表达细节光照效果的,每一个通道代表的含义都不一样。所以我们要逐个通道去看,他究竟是什么。

R通道:

在这里插入图片描述

G通道:

在这里插入图片描述

B通道:

在这里插入图片描述

A通道:

在这里插入图片描述

通过上面的分析,可以看到这张ILM贴图,非常的有意思,他不同的通道想表达的信息是不一样的,甚至还有一个通道是线条。具体ILM贴图的作用,之后会专门写文章去分析。

5、细节贴图

在这里插入图片描述

细节贴图看起来只是一些补充的描线。我个人感觉这个描线如果并不是彩色的,只是黑白而已,是可以合并到其他贴图作为一个通道,单独用一张贴图有点浪费。当然了,其实细节贴图有时候是有颜色的,那样就只能单独一张贴图了。

6、贴花贴图

在这里插入图片描述

这个贴花贴图比较特别,之前的贴图都是对应部位的,比如身体一套贴图,武器一套贴图。但贴花贴图是整个模型一起的。他是通过了对模型展UV2来实现的。所以我这里也是通过了uv2去采样这张贴花贴图来得到正确的效果。
可以看出来,这张贴图是给模型补充一些花纹用的。

到这里为止,模型的大致情况已经分析完了,能用的信息也比较清楚了。那么在下一篇文章,就可以开始真正的动手做材质了。

猜你喜欢

转载自blog.csdn.net/liweizhao/article/details/131019543