【前言】
通过上一篇简单流程学习,我们知道SD是如何制作Sbsar和转换各类贴图的。如果要好学习SD,还应熟悉掌握每个节点的用途和功能,熟悉PBR技术的构架,熟悉图像合成知识。下面,依据SD帮助文件学习一下常用的原子节点(ATOMIC NODE)和涉及的相关知识。
【学习】
一、Atomic nodes 原子节点 个人认为翻译为“基础节点”应该恰当,下面就用之。
这类节点为什么叫这个名字,官方说它是SD的DNA。我理解就是因为它是SD中最最基础、最最常用的节点。SD有很多很多节点,而那些节点虽然功能不同,但基本上都是由这些基础节点构成的。
1、比如我们找到这个节点SPLATTER,它不是基础节点。
2、选择它,按右键OPEN REFENCE 打开参数。
3、再按OPEN。
4、看看吧,它是由基础节点构成的。
二、在哪里能找到基础节点Atomic nodes?
有三个方法可以选择基础节点:
1、在节点编辑视图上的工具条。
2、按右键,选择ADD NODE添加节点。
3、按空格键,直接选择基础节点。而最上面搜索里,打入英文几个字母,可以搜索非基础节点,这个方法最常用。
三、 节点基本知识
1、节点可视化编程的基本原则就是“一进多出”,如果一个输入节点同时输入两个数据,该节点将以哪一个为准?输出可以给不同节点,进行多路输出。
2、每个节点都是一个功能“函数”,执行一个特定功能,输入一个“数据”,进行计算加工,然后再输出“数据”。
四、被节点加工的数据是什么?
SD中每个节点输出的是什么呢?一定是数据。“数据”是什么?我认为是图像和图形数据,这就涉及图像的类型和位数了。比如下面两个节点右下角,一个是C8,一个是L16什么意思?
1、下面是官方网上的网站的说明:
2、计算机是如何描述颜色的呢?我们先看灰度图像:比如屏幕的一个像素,如果用1BIT 一位表示就是2的1次方,数值只能是0或1,表述颜色只能表示黑或者白,用2位表示就是2的2次方 ,数据00、01、10、11,可以描述四种颜色,除了黑和白,中间还能定义两种灰度。一般眼睛能识别的用8BIT 8 位表示就差不多了,2的8次方 256种灰度值,数值从000-255。如果再细致一些,用16位表示,表示的灰度就更多了,图像显示效果就更好,但是运算量也就大了。
3、彩色图像,计算机是用RGB(红绿蓝)三个基色混合描述颜色的。也就是说屏幕上的一个像素是用三个数据一起定义的。我们称是三个通道:RGB 。每一个通道如果用8位,那么可以描述2的24(3×8)次方 16777216种颜色。
4、每个通道是用256级灰度表示含有颜色多少,用于描述含有这种颜色的多少。黑色表示含有少,白色是满的。如何理解呢?比如R通道 输入数值为0颜色为黑,表示没有红色,或者理解显示器红色LED灯没有亮。数值为255时,表示红色是“满血”的,红色LED灯达到最亮。其他两个通道也是这样。
5、比如,美女照片。看右侧四个通道,RGB通道是三个通道合成的最终效果。而红绿蓝每个通道都是灰度图,表示各自通道含有各自颜色的多少。
6、如果你还不理解,我们用红色(255,0,0)在图上绘制一笔。你看红色通道,显示的是白色,表示,这个地方红色是“满血“最亮,其他两个通道都是黑色,表示绿和蓝色在这个位置都没有颜色。
如果你看懂上面的我说的这些东西,你再去学PS,你会感觉PS就是一个图像计算器。以后,我有时间编写一个PS的学习文章,我保证我写的东西与其他老师教的不一样,哈哈。书归正传吧!
7、所以,节点右下角标注的C8,应该是COLOR 8位的意思,L16 表示灰度图像,16位的意思。你就知道它是彩色还是灰度图像,大致能描述多少颜色。
五、图像数据转换
编程中,涉及数据最重要的概念就是数据类型,比如:一个数据是数字类型,还是字符串类型;一般情况下,二者不能直接进行运算,数据类型不相同,必须转化统一类型才能进行运算。有的傻瓜编程语言就可以不用转化,实际上是程序自动转换了相同的数据类型,就省你去声明转换了。
1、我们前面做的例子有下面问题,发生错误。什么错误呢?UNIFORM COLOR节点和NOISE节点输出的图像数据类型不同。UNIFORM COLOR是彩色图像 C8 RGBA四通道总共4×8位,NOISE是L16,灰度图像 单通道16位。所以BLEND混合节点无法计算。
2、修改办法:转换数据类型,或者都是彩色的,或者都是灰度图像。比如下面,为NOISE节点添加一个GRADIENT MAP节点,把灰度图像转化为彩色图像(虽然显示的灰度,它是没有颜色的灰度),它与上面节点数据类型统一,注意各节点下面标注,都是C16.
3、或者把UNIFORM COLOR节点转换为灰度图像,使用Grayscale conversion节点把UNIFORM COLOR转化为灰度图像,使之与NOISE节点数据类型一致。
六、UNIFORM COLOR节点。
写了半天了,首先介绍第一基础节点,这个节点与上面有关。
这个节点只有输出端,能输出色彩数据:彩色或者灰度。
1、默认是彩色数据 标志位:C8 四通道 RGB ,其中A是阿尔法通道,每通道8位。
2、可以选择CRAYSCALE按钮,改为输出为灰度数据。
3、标志位L8 单通道 8位 ,256级灰阶 (0-255)
4、设定颜色有三种办法:一是直接改变RGBA数值;二是双击,在新窗口设定。
5、三是拾取颜色,这个很方便啊!
【后记】
1、SD真的不好讲,涉及图形图像及其混合运算太多知识,要想深入研究SD,就必须搞清楚背后的原理。接下来我还要写《PBR基于物理渲染技术》的文章,因为SD和SP都是为PBR服务的,你不懂PBR原理,如何制作出合格的贴图材质,又如何正确渲染呢?SP入手非常容易,我看网上讲解很多讲解SP的老师,也不管三七二一,上来就做,我真服了YOU。
2、不知道,我的这种写法大家是否感到磨叽?
下一篇继续学习基础节点,请关注!