个人学习笔记——庄懂的技术美术入门课(美术向)04

1 作业点评

在这里插入图片描述

  • 点评了右下角的小人,它用了菲涅尔边缘光的效果,可以做到更细腻
  • 取世界坐标法线的绿通道(RGB的G,也就是XYZ的Y),得到上下关系,可以用这个乘一下菲涅尔,让只有朝上的面片有菲涅尔效果,这样会更真实

在这里插入图片描述

  • 点评了该组做了上节课教的卡通shader

在这里插入图片描述

  • 做了如下点评
    左下角的matcap,以后会讲
    左上角风格化的尝试会作为作业去讲解
    右上角皮卡丘做了双层材质,内层SSS外层油漆,是一个比较常用的里外两层的shader写法
    右下角该组有唯一正解的SSS效果,人头用了立方体贴图当做环境贴图,皮卡丘用了双层材质

在这里插入图片描述

  • 该组没什么问题,同样没有得到正解

在这里插入图片描述

  • 会讲解该组作业

2 作业答案

2.1 半Lambert

在这里插入图片描述

2.2 SSSLut

在这里插入图片描述

  • SSS材质是Sub-Surface-Scattering的简写,是指光线在物体内部的色散而呈现的半透明效果,猴子就是类似这个效果
  • 刚开始有SSS效果的时候,只集中在明暗交界线,后面扩散开

思路是改RampTex的V坐标,并且改贴图,让它呈现上下变化
也就是半兰伯特作为U坐标,SSS强度作为V坐标去采样这个图
并且这个贴图是左边偏红,右边偏蓝,也是散射需要的效果
wrapmode改为clamp,不压缩

2.3 批改

在这里插入图片描述

2.3.1 批改1

首先总览
在这里插入图片描述

2.3.1.1 分层

然后先看到左边,我们拿到一个“代表色散频率的颜色“”(这里理解成是相当于三维向量),乘以我们的一个“色散强度”(这里理解成一个系数就好)
我们拆分它的各个维度,单独拿出来,和Lambert的结果比大小
这时候,也就是把Lambert给裂开成了三份不同边界来处理,这也就是最后会分层的原因
在这里插入图片描述
在这里插入图片描述

  • 这一部分,把之前RGB的三个通道又加起来,就会得到一个颜色,用来呈现色散的效果
    为什么叫色散呢,根据三个通道的step
    在Lambert进行step全部失败的情况下,都会输出0,全黑
    成功了某个通道,则该通道输出1
    所以根据结果,RGB的结果会出现0或1的组合
    在这里插入图片描述
    下面改了个颜色作为范围,可以发现呈现的颜色就变了
    在这里插入图片描述
  • 中间部分,我们对step完各个通道的1或者0,取了两次min,就取到了亮部的范围,该结果乘上一个颜色,当做亮部颜色
    在这里插入图片描述
  • 下面部分,取两次max,就可以得到暗部的范围
    在这里插入图片描述
    但是取到范围还是不够的,因为黑色是全0,不方便计算
    我们要算颜色的话,要反一下,oneminus反转颜色
    在这里插入图片描述
    这时,我们可以仿照亮部颜色的做法,拿到亮部和暗部的颜色结果
    在这里插入图片描述
  • 中部怎么考虑呢,我们会把 亮部 和 暗部反转 的结果,取一个max,就得到了中部黑两头白的画面
    在这里插入图片描述
    再取反,就得到中间白两头黑的画面,我们拿这个去截取原来的“色散”部分
    在这里插入图片描述
  • 接着再和我们设置的亮部以及暗部颜色组合就得到底色了
    在这里插入图片描述

2.3.1.2 渐变网格

接下来要做井字格的纹理部分,我们看到原图亮部是没有纹理的
其实是做了一个灰度图
在这里插入图片描述
为什么两个add加上一个乘法,反而变出了一个灰度图呢?
我们退一步,回到两个add的结果
在这里插入图片描述
这明明是个黑白图啊,为什么之后乘法一个小数就多了好几层呢?
其实看着是黑白图,但是其代表的数字并不只是0-1,而是0-3的数字,只是大于1的部分只能显示白色
举个例子,原先兰伯特的范围是-1到1
经过三个step,分成了RGB的三组0-1的范围
在这里插入图片描述
把这三个部分相加的结果会是这样
在这里插入图片描述
但是显示上我们只能看到1代表的的白色,所以2和3就看不出了
在之后乘以一个0.333后,他们被重新映射到0-1的范围,就变成灰度图啦
把那个灰度分级的图片作为系数,插值白色和纹理的颜色,就得到如下结果
在这里插入图片描述
再乘上最开始的分层颜色,就得到效果了
在这里插入图片描述
在这里插入图片描述

2.3.2 批改2

在这里插入图片描述
在这里插入图片描述

  • 首先一步步来拆,先看到光在哪里
    在这里插入图片描述
    一个标准的兰伯特,之后做了和一个东西做了个blend操作,我们先去看看那个东西是什么

  • 如下图,拿到UV坐标,做了两个乘法缩放UV,然后去采样得到两张图,相乘得到一个双层纹理
    随后该纹理和一个颜色做插值,A*(1-T)+B*T
    在这里插入图片描述
    这个东西和之前的兰伯特进行混合,采用叠加模式
    在这里插入图片描述
    进行四舍五入
    在这里插入图片描述
    把亮暗的颜色放上去,但其实就是只有1和0,所以lerp的作用就是换颜色
    在这里插入图片描述

  • 我们再看看另外一部分干了什么,最外面看是加了一个黄色的高光
    在这里插入图片描述
    倒回去一层,去掉lerp节点,这个round还是用来四舍五入出0和1
    在这里插入图片描述
    我们再倒回去一层,是纹理和高光的blend
    在这里插入图片描述
    再倒回去一层,一个高光
    在这里插入图片描述
    布林冯的高光介绍可以看之前的笔记,不算衰减啥的话,就是法线和半程向量点乘加个指数
    在这里插入图片描述

  • 总结一下这个作业
    首先是做了个双层纹理,留了个参数控制明暗(这个明暗在之后做四舍五入时,体现的就是噪点范围)
    之后算了个高光,混合了纹理,对整体值取了个四舍五入,然后赋予高光色
    兰伯特混合纹理,对整体值取了个四舍五入,然后赋予亮部和暗部的颜色
    在兰伯特上加上高光,就是最终的效果。

3 预积分皮肤

在这里插入图片描述

4 TA专业向

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43803133/article/details/109716760