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去采样这张贴花贴图来得到正确的效果。
可以看出来,这张贴图是给模型补充一些花纹用的。

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

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

  1. Unity制作二次元卡通渲染角色材质——2、色阶化光影的多种做法对比

    Unity制作二次元材质角色 回到目录 大家好,我是阿赵. 这里继续讲二次元角色渲染.之前说过,最基本的卡通渲染,包含了色阶化光影和描边二个元素.所以这里先来说一下色阶化光影的多种做法对比. 一.光照 ...

  2. Unity制作二次元卡通渲染角色材质——4 、内外描边和细节添加

    Unity制作二次元材质角色 回到目录 大家好,我是阿赵. 这里继续讲二次元角色材质.这次打算讲一下描边和细节的添加. 一.外描边 外描边的做法也不止一种,比如后处理方法的偏导数ddx/ddy之类的, ...

  3. Unity制作二次元卡通渲染角色材质——5、脸部的特殊处理

    Unity制作二次元材质角色 回到目录 大家好,我是阿赵. 这里继续讲二次元角色材质的制作.这次是讲头部的做法. 1.脸部 之前在分析资源的时候,其实已经发现了这个模型的脸部法线有问题,导致在做光照模 ...

  4. Unity制作二次元卡通渲染角色材质——3、高光反射与ILM贴图

    Unity制作二次元材质角色 回到目录 大家好,我是阿赵. 这里继续来讲二次元角色的材质.上次讲了光影的色阶化问题,这次继续讲光照模型效果的问题. 之前我们说过,光照模型的最后效果是: 环境色+漫反射 ...

  5. 二次元卡通渲染之描边

    前言 本文为"优梦创客"原创文章,您可以自由转载,但必须加入完整的版权声明 更多学习资源请加QQ:1517069595获取(企业级性能优化/热更新/Shader特效/服务器/商业项 ...

  6. 二次元卡通渲染-着色

    前言 本文为"优梦创客"原创文章,您可以自由转载,但必须加入完整的版权声明 更多学习资源请加QQ:1517069595获取(企业级性能优化/热更新/Shader特效/服务器/商业项 ...

  7. 二次元卡通渲染——进阶技巧

    前言 随着<原神>游戏的盛行,国内对于二次元游戏这块儿领域越来越看重了.二次元项目中本身基于日本的卡通动漫而来,所以最后的本质都是为了尽量还原2D立绘,而并不像PBR追求物理正确,只要好看 ...

  8. 腾讯游戏主美:二次元卡通渲染有哪些黑科技?

    今年,<原神>的出现让行业注意到了三渲二这种独特的画风.但在二次元游戏中,<原神>其实并非第一个吃螃蟹的人.作为腾讯游戏魔方工作室群<王牌战士>项目组的主美,谢海天 ...

  9. Unity Shader 实现卡通渲染效果

    本文参考博客Unity Toon Shader 卡通着色器(一):卡通着色 这是我实现的最后效果 我们先一步一步来 最开始我们实现一个只有漫反射效果的Shader,效果和代码如下 Shader &qu ...

最新文章

  1. 如何快速切换静态和动态ip
  2. python调用c#注意事项_Python调用C#编写的DLL
  3. Delphi语言最好的JSON代码库 mORMot学习笔记1
  4. live555 linux编译静态库,【Live555】liveMedia下载、配置、编译、安装、基本概念
  5. Delphi Code Editor 之 几个特性
  6. 断路器(CircuitBreaker)设计模式
  7. 幅相曲线matlab,matlab开环幅相曲线
  8. java future 不足_java Future用法和意义一句话击破
  9. 文件或目录损坏,详细教您文件或目录损坏且无法读取怎么办
  10. 利用PIN码破解wifi密码(WPA2-PSK)
  11. Hello World~Miracle is coming!!!
  12. linux-redis设置密码
  13. 计算机视觉物体识别的过程,(物体识别过程.doc
  14. 『这辈子就相爱《何苦要等下辈子》 李草青青、肖玄MV』
  15. Android Studio 2.0:速度提升,极大提高开发效率
  16. 安装 Git 之后系统自动添加自定义快捷命令列表
  17. 项目产品化的版本管控实践方案
  18. 解决undefined reference to symbol ‘LZ4_decompress_safe‘问题
  19. EMV技术学习和研究(二)应用选择
  20. 数据结构——左高树(C语言)

热门文章

  1. 【MATLAB】导入excel数据并用命令行窗口绘图
  2. 【TOOLS】windows 配置访问 smb 服务器
  3. 量子计算机一秒可以算几道题,神威 计算机 量子计算机有多可怕?一秒破译全世界所有密码...
  4. c语言iconv转码错误,iconv编码转换的问题
  5. 阻止事件冒泡和阻止默认事件的方法
  6. 看看最近京东哪些产品最火,Python爬取京东的商品排行
  7. Windows 10 安装 1080 ti GPU版本TensorFlow 踩坑记录
  8. xf_point_1
  9. /deep/和 >>>以及 ::v-deep 三者的区别
  10. 重磅,Flutter 1.9 正式发布!谷歌还为开发者带来了这些东西...