• JP Lee

Part1. Using procedural node for making Jade pattern.

2019년 6월 19일 업데이트됨

Overview


软玉是中国和亚洲大部分国家用在装饰品上的常见玉种。

大致分为软玉和硬玉,根据采集的国家地区它的特色也不一样。

中国常见的漂亮的碟子或坛子是有韧性的(6.5)。


我们不确定 Jade 的成分是什么样的,表面质感是什么样的。

只是根据脑子里最近看到并理解的玉来识别。

简单来说是在头脑的数据库里做 Information matching 。

也就是说,大脑里已经有对 Jade 的偏 Fantasy 的理解。

再说得容易一点,作者去一家杭州买玉的店铺时说了这么一句话:"啊~ 这也是玉啊!" 也就是说,我头脑里所理解的玉的信息是比较狭隘的。


会根据材料完成软玉漂亮色颜色,并尽量多观察玉表面微妙的变化,实现它。





先在 Pinterest 等地方搜索玉相关图片。

玉的原石表面不是刚开始就是光滑的,而且还分为很多种。



通常游戏里使用的中国玉是下图这种。


学习目标

1. 程序化质感和表面 Marble pattern。

2. 理解两种 Marble pattern Blending。



根据目录结构,这本书的前面的部分会注重说明节点。

就算在 SD 里制作 Jade(玉) 的程序化贴图,但是视觉上 Jade 的透射效果要从 Shader 上表现(不是所有玉都有透射现象,这是固定观念。) 才会更真实。

这本书的后半段会用 Marmoset viewer 或者 Render-Man render 再把本次案例做得更写实一点。


我们要做的结果案例。

制作上图的案例,重点了解怎么控制两个大样式并怎么混合得到想要的结果。



需要的 Node 列表。



Shape

支持各种形态用成 Input , Shape 是 Procedural texturing 的始发点所以是重要的基础。





Tile Random

这是使用导入的 Input 或者 Node 内部提供的 Shape ,变换成不规则的 Tiled Shape 的必要 Node 。






Warp

根据 Warping 的 Guide 的 Gradient Input 信息,把导入的 Input 形态或者图片做 Warping (扭曲)。




Slope Blur Gray-scale

把 Slope(斜率)用 Slope guide input 在输入的 Input 部分形态中表现出斜率。

这里的斜率通常是用 Game Engine 里的 Gradation map 形态来表现。



Vector Warp

根据输入的 Vector information texture 扭曲 Pixel 。



Blend

混合输入的两个 Node 。



Gradient Map


是往做好的 Pattern 把颜色 Replace 的时候很好用的一种 Node ,也是在 Substance designer 里做 Texturing 的时候最常用的一种 Node 。


现在我们看下各个 Node(Filter) 是怎么连接并形成最终结果的。



上面也讲过,有两种样式。

为了完成这项操作,需要使用个别 Shape 和个别 Vector Warp 效果。





添加两个 Shape node ,添加两个 Warp node 后把 Shape node 连到各自的 Input。

添加一个 Creased node ,两个 Warp node 的 Gradient Input 跟上图一样连接起来。


以图片为准,上方 Shape 构成的样式叫 Main Pattern ,下方 Shape 构成的样式叫 Sub Pattern 。




上方 Shape 会成为 Main pattern 。



Main pattern 使用的 Shape 参数。

Tiling : 4

Pattern : Bell

Scale : 1.5

Size : X=2 , Y=0.62

Angle : Turns = -0.13 , Degrees = -48

Rotation 45 = False

Non Square Expansion : True

Non Square Tiling : False




下方 Shape 将成为 Sub pattern 。

用在 Sub pattern 的 Shape 值。

Tiling : 2

Pattern : Brick

Pattern Specific : 0.97

Scale : 1.68

Size : X=2 , Y=0.3

Angle : Turns = -0.12 , Degrees = -43

Rotation 45 = False

Non Square Expansion : True

Non Square Tiling : False



用在 Warp 权重的 Creased node。


Creased node 的参数。

Scale : 1

Disorder : 0.56

Warp Intensity : 0.22

Non Square Expansion : False




Main Pattern Shape node 和 Warp 连接部分


Warp node 的参数。



Intensity : 0.73




Sub Pattern Shape node 和 Warp 连接部分

Warp node 的值。

Intensity : 2.43



基本样式设好后,做成 Frame 命名为 Pattern Base 。



连接一个 Blend node 后,把两个 Warp node 连成上图的样子。



Pattern base 生成的 Main pattern 和 Sub pattern 要进行 Blending 。





Blend node 的参数。

Opacity : 0.82

Blending Mode : Copy



两种样式 Blending 的结果。




为了让样式的 Edge 部分变得自然,加了 Slope Blur node 。

新增下方 Warp node ( Sub pattern )后跟上图一样连接到 Slope Blur Grayscale node 。





Slope Blur Grayscale node 参数。

Samples : 21(数值越低越粗糙)

Intensity : 2.28

Mode : Blur




适用 Slope Blur Grayscale node 的 Sub pattern。


新增 Warp node,把 Sub pattern 的 Slope Blur Grayscale node 连接到 Warp ,把 Creased node 连接到 Warp 的 Gradient Input 。



Warp 参数。

Intensity : 2.45




适用 Warp 的 Sub pattern。


我们先看下这些样式在mesh上是什么效果。



Main pattern Preview.



Sub pattern Preview.




混合 Main Pattern 和 Sub Pattern 。

新增 Blend node 后把已经 Blending 的 Master pattern 的 Blend node 连到 Blend node 的 Foreground Input 上。

适用 Warp 的 Sub pattern 连到新 Blend node 的 Background 。




Blend node 参数。

Opacity : 0.75

Blending Mode : Copy




把两种样式 Blending 的结果。

新增两个 Blend node。

在添加好的各个 Blend node 上再添加 Comment ,这样会更方便看。

跟上图一样,把 Pattern Blending A Frame 的两个 Blend node 再次 Blending ,分成 Main pattern 和 Sub pattern 让它更简单。





Main pattern 的 Blend node 参数。

Opacity : 1

Blending Mode : Max (Lighten)







Sub pattern 的 Blend node 参数。

Opacity : 0.62

Blending Mode : Copy





会各自新增两个 Node 。

添加两个 Vector Warp Grayscale 和两个 Tile Random ,跟上图一样连到 Vector Map 上。




Main pattern 的 Vector Map source.




Main Pattern 部分的 Tile Random 参数。




Sub pattern 的 Vector Map source。


Sub Pattern 部分的参数。

Tweaking to Pattern brightness.

为了区分两种样式,还做了些工作。

Main pattern 用的是 HSL node , Sub pattern 跟 Main pattern 再做一次 Blending 后用 Gradient map node 修改了。




先加一个 HSL node 。

把 Additional Warp frame 的 Main pattern 的 Vector Wrap output 连接到新加的 HSL node 上。




HSL node 参数。

Hue : 0.5(Default)

Saturation : 0.5(Default)

Lightness : 0.57


现在为了 Sub pattern 添加 Blend node ,也加一个 Gradient Map node 。

Additional Warp frame 的 Sub pattern 的 Vector Wrap output 连接到新加的 HSL node 后, Blend node output 连到 Gradient Map。



Blend node 参数。

Opacity : 0.45

Blending Mode : Subtract






Gradient Map node 参数。

Gradient value : 从左开始 #ff828282 , #ff242424 , #ffe1e1e1



两个样式的 Blending



添加新的 Blend node ,跟上图一样在 Foreground 和 Background 各自连接 Tweak to Brightness 的 Output 。



Blend node 参数。

Opacity : 0.32

Blending Mode : Copy



添加很弱的 Normal map surface 。


因为表面不是跟玻璃一样干净,所以稍微加点 Normal map 有时候会更自然。

因为光线的流向会随着表面细微的变化而不同。

添加 Normal node 后连接刚做了 Blending 的 Output。



Normal node 参数。

Intensity : 0.1

Normal Format : OpenGL (这个工程是 OpenGL 。)



使用 Gradient Linear 修改样式的细节。

添加 Gradient Linear 1 node 。

添加 Gradient Map 。

添加 Blend node 。

跟上图一样连接,用 Frame 整合起来后命名为 Bright Adjustment 。

在新加的 Blend 的 Background Input 上连接 Tweak to Brightness 的 HSL output 。




Blend node 参数。

Opacity : 0.07

Blending Mode : Add(Linear Dodge)



Gradient node 参数。

Gradient value : 从左边开始 #ff343434 , #ff171717 , #ffc8c8c8 , #ff494949



在表面添加 Noise detail 。



新增两个 Blend node 后,用 Frame 整合并命名为 Surface Detail A 。

跟上图一样,把 Bright Adjustment Frame 的 Gradient Output 连到上方 Surface Detail A Frame 的上方 Blend node Foreground 。

Bright Adjustment Frame 的 Blend Output 连到 Surface Detail A Frame 的下方 Blend node Foreground 上。

把连接到 Normal node 的 Blend output 连接到 Surface Detail A Frame 的下方 Blend node Background 上后,把 Surface Detail A Frame 下方 Blend node Output 连到上方 Blend node 的 Background 。




Surface Detail A Frame 上方 Blend node 参数。

Opacity : 0.54

Blending Mode : Multiply




Surface Detail A Frame 下方 Blend node 参数。

Opacity : 0.55

Blending Mode : Add(Linear Dodge)



给表面上颜色。

因为把样式分成了两个,所以颜色也会分两个上。



制作 Master Color Frame。




Node 放大后的图片。

添加 Creased node , 添加 Clouds 2 node , 添加两个 Gradient Map node ,添加 Level node 后跟上图一样连接。






和 Clouds 2 连接的 Gradient Map node 参数。

Gradient Value : 从左开始设成 #ff6d8537 , #ff4a611e , #ff506526 , #ff1f2e0c , #ff384b17 , #ff141f08 , #ff283910 , #ff324418 , #ff171e0f



跟 Creased node 连接的 Gradient Map node。



Creased node 参数。

Warp Intensity : 64

Disorder : 0(Default)




Gradient Map node 参数。

Gradient Value : 从左开始设成 #ff697b31 , #ff9aa962 , #ffd1d6c3 , #ff688032 , #ffadc581 , #ffabc381




都连接到 Blend node 上。



Blend node 参数。

Opacity : 0.54

Blending Mode : Max (Lighten)




Master Color 的 Base Color 结果。



制作 Second Color 。



添加两个 Uniform Color node。

添加 Blend node 。

把添加的 Uniform Color node 连接到 Blend node 的 Input 上。

用 Frame 整合,命名为 Second Color。




连接到 Foreground 的 Uniform Color node 参数。

RGB : (sRGB) R 152 , G 166 , B 107 A 255




连接到 Background 的 Uniform Color node 参数。

RGB : (sRGB) R 97 , G 95 , B 61 A 255


Surface Detail A Frame 的 Blend Output 连接到 Second Color Frame 的 Blend Mask Input 。



Second Color 的 Base Color 结果。



添加 Dirt noise 并合成颜色。

是 Node Flow 。

新增两个 Blend node。

添加 Dirt Gradient node。

添加 Invert Grayscale node。


跟上图 Node Flow 一样连接后修改 Node 参数。



Dirt Gradient 和 Inver Grayscale.



Dirt Gradient node 参数。

基本参数。




Invert Gray-scale node 参数。

Invert : True



Blend node 参数。

Opacity : 1

Blending Mode : Add Sub




Master Color Frame 的 Blend output 连到 Add Dirt with Color Composite Frame 最终 Blend node 并修改参数。




Blend node 参数

Opacity : 0.75 ( 越接近 1颜色越浑浊。)

Blending Mode : Copy



调节 Opacity 参数的结果。




Opacity 是 0.9 的时候。




Opacity 是 0.75 的时候。




Opacity 是 0.5 的时候。




颜色的最终合成和修改。




为了最终 Albedo 而做的 Node Flow 。





单独看下 Final Color Composite _Albedo Frame 。

添加新的 Node。

添加 Gradient Linear 1 node 和 Level node 并连接起来。



Level node 参数。

Level High : 0.7164949

Level Mid : 0.4436451




添加 Uniform Color node 和 Blend node 并连接。

预先做好的 Level node 连接到 Blend node 的 Mask Input , Uniform Color node 连到 Blend node 的 Background Input 。

Add Dirt with Color Composite Frame 的 Blend Output 连到刚新加的 Blend node 的 Foreground Input 上。



添加 HSL node 后连到 Base Color Output上。



HSL node 参数。

Hue : 0.48

Saturation : 0.52

Lightness : 0.54



最后设置 Metallic 和 Roughness 后结束本堂课吧。

添加两个 Uniform color node,两个都设成 Grayscale 。

添加 Ambient Occlusion node并连接起来。

本次案例不用生成 AO ,但是之后应用的时候会再做一次。





从上面开始是 Metallic , Roughness , Ambient Occlusion 和 Normal 。



Metallic 参数。

L : 9




Roughness 参数。

L : 27


Normal Output 连接之前做好的 Surface distortion normal。






现在最基本的 Western Jade 完成了。


以上案例会在高级课程中学习怎么把中间函数显示到外部,怎么在SP让它更丰富。


最后用 Marmoset 和 Pixar RenderMan Render for Maya 渲染。





















조회 79회댓글 2개

© 2014 by LEEGOONZ HOME.