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去采样这张贴花贴图来得到正确的效果。
可以看出来,这张贴图是给模型补充一些花纹用的。
到这里为止,模型的大致情况已经分析完了,能用的信息也比较清楚了。那么在下一篇文章,就可以开始真正的动手做材质了。
Unity制作二次元卡通渲染角色材质——1、资源分析相关推荐
- Unity制作二次元卡通渲染角色材质——2、色阶化光影的多种做法对比
Unity制作二次元材质角色 回到目录 大家好,我是阿赵. 这里继续讲二次元角色渲染.之前说过,最基本的卡通渲染,包含了色阶化光影和描边二个元素.所以这里先来说一下色阶化光影的多种做法对比. 一.光照 ...
- Unity制作二次元卡通渲染角色材质——4 、内外描边和细节添加
Unity制作二次元材质角色 回到目录 大家好,我是阿赵. 这里继续讲二次元角色材质.这次打算讲一下描边和细节的添加. 一.外描边 外描边的做法也不止一种,比如后处理方法的偏导数ddx/ddy之类的, ...
- Unity制作二次元卡通渲染角色材质——5、脸部的特殊处理
Unity制作二次元材质角色 回到目录 大家好,我是阿赵. 这里继续讲二次元角色材质的制作.这次是讲头部的做法. 1.脸部 之前在分析资源的时候,其实已经发现了这个模型的脸部法线有问题,导致在做光照模 ...
- Unity制作二次元卡通渲染角色材质——3、高光反射与ILM贴图
Unity制作二次元材质角色 回到目录 大家好,我是阿赵. 这里继续来讲二次元角色的材质.上次讲了光影的色阶化问题,这次继续讲光照模型效果的问题. 之前我们说过,光照模型的最后效果是: 环境色+漫反射 ...
- 二次元卡通渲染之描边
前言 本文为"优梦创客"原创文章,您可以自由转载,但必须加入完整的版权声明 更多学习资源请加QQ:1517069595获取(企业级性能优化/热更新/Shader特效/服务器/商业项 ...
- 二次元卡通渲染-着色
前言 本文为"优梦创客"原创文章,您可以自由转载,但必须加入完整的版权声明 更多学习资源请加QQ:1517069595获取(企业级性能优化/热更新/Shader特效/服务器/商业项 ...
- 二次元卡通渲染——进阶技巧
前言 随着<原神>游戏的盛行,国内对于二次元游戏这块儿领域越来越看重了.二次元项目中本身基于日本的卡通动漫而来,所以最后的本质都是为了尽量还原2D立绘,而并不像PBR追求物理正确,只要好看 ...
- 腾讯游戏主美:二次元卡通渲染有哪些黑科技?
今年,<原神>的出现让行业注意到了三渲二这种独特的画风.但在二次元游戏中,<原神>其实并非第一个吃螃蟹的人.作为腾讯游戏魔方工作室群<王牌战士>项目组的主美,谢海天 ...
- Unity Shader 实现卡通渲染效果
本文参考博客Unity Toon Shader 卡通着色器(一):卡通着色 这是我实现的最后效果 我们先一步一步来 最开始我们实现一个只有漫反射效果的Shader,效果和代码如下 Shader &qu ...
最新文章
- 如何快速切换静态和动态ip
- python调用c#注意事项_Python调用C#编写的DLL
- Delphi语言最好的JSON代码库 mORMot学习笔记1
- live555 linux编译静态库,【Live555】liveMedia下载、配置、编译、安装、基本概念
- Delphi Code Editor 之 几个特性
- 断路器(CircuitBreaker)设计模式
- 幅相曲线matlab,matlab开环幅相曲线
- java future 不足_java Future用法和意义一句话击破
- 文件或目录损坏,详细教您文件或目录损坏且无法读取怎么办
- 利用PIN码破解wifi密码(WPA2-PSK)
- Hello World~Miracle is coming!!!
- linux-redis设置密码
- 计算机视觉物体识别的过程,(物体识别过程.doc
- 『这辈子就相爱《何苦要等下辈子》 李草青青、肖玄MV』
- Android Studio 2.0:速度提升,极大提高开发效率
- 安装 Git 之后系统自动添加自定义快捷命令列表
- 项目产品化的版本管控实践方案
- 解决undefined reference to symbol ‘LZ4_decompress_safe‘问题
- EMV技术学习和研究(二)应用选择
- 数据结构——左高树(C语言)
热门文章
- 【MATLAB】导入excel数据并用命令行窗口绘图
- 【TOOLS】windows 配置访问 smb 服务器
- 量子计算机一秒可以算几道题,神威 计算机 量子计算机有多可怕?一秒破译全世界所有密码...
- c语言iconv转码错误,iconv编码转换的问题
- 阻止事件冒泡和阻止默认事件的方法
- 看看最近京东哪些产品最火,Python爬取京东的商品排行
- Windows 10 安装 1080 ti GPU版本TensorFlow 踩坑记录
- xf_point_1
- /deep/和 >>>以及 ::v-deep 三者的区别
- 重磅,Flutter 1.9 正式发布!谷歌还为开发者带来了这些东西...