学习目标
使用Shape(图形)构成分层形态的木头网格排列装图案。
利用 Blend node 的 Cropping Area。
合成两种不一样的材质。

本次学习分为以下两个章节。
Part1. Basic wooden tile pattern.
这里学习基本图案的构成。
Part2. Material compositing.
制作木头材质的表面,适用之前做好的叠层型图案就完成了。
Extra. 设置 Iray rendering 的 Tessellation 后渲染。
制作 Base Shape 。

生成 Shape Node 后根据上图修改选项。
Pattern : Square
Scale : 0.6
Angle : 45 Degrees

Shape 修改结果。

上图是对结果的要求值。
添加 Blend Node 并连接。
会使用 Blend Node 的 Cropping Area 。
剪掉 Shape 的左右。

为了获得上面的要求值修改 Cropping Area。
Cropping Area ( 左右的合是 1。 )
Left : 0.13
Right : 0.87
0.13 + 0.87 = 1
现在开始要做分层图案最基本的厚度。

各自添加 Bevel Node 和 Blur HQ Grayscale Node ,跟上图一样连接。 ( Height – > Grayscale)
Bevel Node 设置。

Blur HQ Grayscale Node 设置。

Quality : 1

各自添加一个 Blend Node , Transformation 2D , Gradient Linear1 node 。
Blend Node 设置

Gradient Linear1 设置。

Transformation 2D设置

主要是修改 Offset Y 轴 Gradient Linear 1 值做成 Shape 的分层深度值,把这个在 Blend Node 里合成制作 Depth 。
Offset Y : -0.0341(使用任意值。)

现在制作重复图案。
添加 Tile Sampler 把最后生成的 Blend Node 连接到 Pattern Input 1 。
Tile Sampler 设置。

Y Amount : 8
Pattern : Pattern Input

Size Y : 2.24
Scale : 1.26
Scale Random : 0.01

为了任意修改深度感,添加 Levels node 连接到 Tile Sampler 。

Level node 设置
变更成 Parameter mode 后修改值。
Level In Low : 0
Level In High : 1
Level In Mid : 0.5 ~ 0.55
Level Out Low : 0
Level Out High : 0.7
Clamp : On
请参考以上参数。

先在 PBR Shader 适用深度图。
把 Levels Node 连接到 Height Out-put node 。

把鼠标放到 Height node 上并右击执行 View in 3D view 指令。


连接到 Material 的 Height 后把 Tessellation Scale 变更成 10 。
如果不方便确认中间阶段的结果,在下方连接下载 SIMPLE OUTPUTS utility使用就可以了。
다운로드 경로.
중국 내륙과 해외에서 모두 다운 로드 받기 용이 한 저장소 서비스 https://mega.nz/ 를 사용 했다.
下载链接。
使用了中国和海外都便于下载的储存库 https://mega.nz/ 。
Custom Filter 에 등록을 했다면(Custom Filter 등록 방법은 다른 장에서 배우기로 하자.)
如果登记到了 Custom Filter (登记到 Custom Filter 的方法在其他章节学习下吧。)


点击后拖动储存到 Graph 窗口。
在3D View 适用预览。
Levels 连接到 Output Preview 后,把鼠标放到 Output Preview 上面右击。
确认。

Output Preview Node 获取高度(深度) 信息后, 便于用 Normal map 和 Curvature smooth map , AO map 简单自动变换后,确认中间过程的 Height map 适用内容。
添加AO图。

叠层的边角部分会添加稍微的倒角效果。
为了实现那种操作,添加 Height to Normal World Unit Node 并连接。
Normal Map 会成为生成 Curvature map 的重要材料, Curvature Map 是制作最终 AO Map 的重要材料。
HEIGHT TO NORMAL WORLD UNIT NODE 设置。

Surface Size(cm) 根据平均值 300 或者想要的感觉设置成 200 左右。
Height Depth(cm) 根据叠层图层的高度设置。
因为作者把一层大概假设成是 3cm ,所以这个值设成了 3 。
Normal Format : OpenGL
Sampling : Sobel
从 NORMAL SOBEL 高度图用 sobel 算法让边缘明暗部的像素更明显,生成法线。
Sampling 类型的相关详细内容 Sobel 请参考 Basic algorithm ( 基本算法 ) 。
制作 AO MAP 。
通常 Height Map 直接变换成 AO MAP 。

这时通常使用的变换 NODE 是使用 Ambient Occlusion(HBAO) 。
因为已经做了 Height Map ,所以把 Height Map 直接连接到 Ambient Occlusion(HBAO) 。
下一步是重点。
在图案边缘稍微添加 Edge 效果。

添加 Curvature Smooth node 连接 Height to Normal World Unit Node 。
把 Curvature Smooth node 连接到 Ambient Occlusion(HBAO) 。

Curvature Smooth node 的 Normal Format 是 OpenGl。

Use World Units : True
Surface Size : 300
Height Scale(cm) : 3
Radius : 0.02
Quality : 16 samples
Non Square : False
GPU Optimization : True
做AO Final Polishing 。

为了让边缘更自然,添加 Blur HQ Grayscale node 。
把 Ambient Occlusion(HBAO) 连接到 Blur HQ Grayscale node 。
把 Blur HQ Grayscale node 连接到 AO 最终输出的 ambientOcclusion output 。
确认中间结果。

适用 Height map 和 Normal Map 和 AO MAP 的中介阶段结果。

把 Normal Map 和连接到 AO Map 节点的部分整理为 Part1 。
Part 2.
学习目标
在 Part 1 制作的材质表面混合细节质感。
将制作混合材质。
使用 CREATE SIMPLE WOODEN FLOOR TEXTURE 过程制作的方法里的一部分,就可以很轻易把表面质感做出来。
Wood Base Material 设置。
适用 Albedo Color 和 Roughness 基本值。
制作基本材质。
制作木片基本材质。
我们将制作木头材质的表面。


Scale : 1
Disorder : 0.24
Angle : Degrees – > 90

添加 BnW Spots 1 。
添加 Directional Warp 并连接。

Scale : 2
Roughness : 0.53
Non Square Expansion : True.

Intensity : 122.5
Warp Angle : 90 ~ 91

添加 Blend ,把原版 Directional Noise 2 连接到 Foreward 。
把 Directional Warp 连接到 Blend 的 Background 上。
这将成为之后改变表面造型的重要变量。

Opacity : 0.82
Blending Mode : Copy
添加表面颜色。

在程序化贴图制作里,添加表面颜色时最常用的是 Gradient Map 。
添加一个 Gradient Map 。

添加需要的颜色点,并设置颜色。
先添加靠近红色的颜色。
之后会用 HSL 调整细节色调。

添加两个 HSL 。
Gradient Map 各自连接到两个 HSL 。


上方 HSL
Hue : 0.53
Saturation 0.38
Lightness : 0.5


下方 HSL
Hue : 0.53
Saturation 0.43
Lightness : 0.45

添加 Blend 并连接两个 HSL 。
把连接到 Gradient Map 的 Blend output 连接到新做的 Blend 的 Mask Input 上。
这将用于混合两个不同 HSL 色调的权重。
把节点用 Frame 绑起来,并命名。
作者设置成了 Wood Surface Color Base 。


添加 Color Match 。
虽然是和 Replace Color 类似的节点,可以根据输入的平均颜色来变更色调。

Source Color Mode : Average
Target Color Mode : Parameter
Target Color : RGB(130,88,64)
合并两个材质。
现在会最终混合两个材质。
Part 1 样式适用 Random grayscale 后把这个用成 Directional Warp intensity 值。

为了变化 Base Color 的色调,做个节点。
添加 Edge Detect 和 Flood Fill 。
添加 Flood Fill to Random Grayscale ,用 Blur HQ Grayscale 稍微添加 Blur 效果。


Edge Width : 1


Safety/Speed trade-off : Complex or big shapes


Intensity : 0.18
Quality : 1

添加 Directional Warp ,连接 Wood Surface Color Base Frame 的 Color Match 。

Intensity : 196.66
Warp Angle : Degrees -> 65

Directional Warp 的 Intensity Input 连接 Blur HQ grayscale 。
生成为 Flood Fill 的值用于 Directinal Warp 的 Warp Angle 的权重(Weight)。
这是常用方法。
在各个区域适用不同的灰色调,可以在 Warp Angle 的角度以区域为单位给变化。

中间阶段预览。


添加表面质感细节。



X Amount : 4
Y Amount : 128
Rotate : True
Smoothness : 1
Smoothness Interpolation : 0.5
Non Square Expansion : True


Intensity : 3.78
Warp Angle : 58
吐过添加了 Blend ,连接 Anisotropic noise 和 Directional Warp 。

Opacity : 0.57
Blending Mode : Add(Linear Dodge)
添加 Detail Normal 。

添加 Height to Normal World Unit 节点并连接。
为了尽量维持路面的细节描写, Sampling type 直接用基本值 Standard 。

Surface Size (cm) : 300
Height Depth(cm) : 0.15
Normal Format : DirectX
Sampling : Standard


Surface Size(cm) : 300
Height Depth (cm) : 3
Normal Format : DirectX
Sampling : Sobel
两个 Normal 结果合并为一个。


Technique : Channel Mixer (High Quality)
预览两个法线合并的结果。


确认 Base Color 和 Normal Map 阶段的材质。

在中间确认阶段应该也感觉到了,现在棱角部分的明暗不是很明显,所以要添加 Ambient Occlusion 和 Roughness 等所有 Material Propertices 。
Ambient Occlusion 要制作更明显的 Ambient Occlusion 和细腻的 Ambient Occlusion 这两种。
制作 Ambient Occlusion 和 Detail Ambient Occlusion 。

添加 Ambient Occlusion(HBAO) 连接 Part1 的 Level Output 。

Use World Units (cm): 50
Height Scale (cm): 5
Radius : 1
Quality : 8 Samples
GPU Optimization : True
因为变换的 AO 品质太锐利了,为了变得更柔和添加 Blur HQ Grayscale 并连接 Ambient Occlusion(HBAO) 。

Intensity : 0.2 ~ 0.3
Quality : 1

为了获取 Detail AmbientOcclusion ,添加 Curvature smooth 和 Ambient Occlusion (HBAO) ,连接和 Wood Surface Color Detail Frame 连接的 Normal Combine 。

Normal Format : OpenGL

Use World Units : True
Height Scale(cm) : 1
Radius : 0.02
Quality : 16 samples
GPU Optimization : True

用 Blend 混合两个 Ambient Occlusion 。

Opacity : 0.5
Blending Mode : Multiply

对比 Detail Ambient Occlusion 添加前后。
制作 Roughness 。

在 Wood Surface Color Base Frame 开始制作。
添加 HSL 节点,跟 Blend output 连接。

和 Wood Surface Color Detail Frame 连接的 Curvature Smooth 上再添加一个 Level 。

Level In Low : 0.46
Level In High : 0.84
Level In Mid : 0.5
Level Out High : 1
Intermediary clamp : Clamp

添加 Blend ,把 HSL 全部连到 Foreground 和 Background 。
然后添加 Level ,修改的 Curvature Smooth 信息用于 Blend 里将要混合的 Maks 区域。

Opacity : 0.7
Blending Mode : Add (Linear Dodge)
输入的相同 HSL 信息混合成 Add (Linear Dodge) ,同时为了表现木纹的细节,把 Curvature Smooth 值变形输入为 Mask 就可以表现更丰富的表面粗糙效果。这种节点连接方法是很常用的。

简单的 Roughness 结果和添加几个连接得出的更写实的 Roughness 结果。

添加可以修改 Roughness 值的 Level 。
这时中间再连接 Grayscale conversion 变更为单一色彩。
Roughness 在 RGBA 中只要把 R 值储存为 Grayscale 就可以了。

Level In Mid : 0.531
最后的节点整理。
最终 Output 连接。

因为基本材质属性里完全没有 Metallic , Output 的 metallic 。
在这里添加 Albedo Validate 后收尾就可以了。

在 baseColor Output 添加 PBR BaseColor/Metallic Validate 吧。
如果呈现上图的绿色,就表示在正常的 Albedo 色彩范围内正确的制作了 BaseColor 。

Albedo Dark Range Threshold : 30 sRGB
PBR BaseColor/Metallic Validate是什么,怎么正确使用会在另外一个章节学习。
合成材质后最终 Graph pre-view


IRAY RENDERING 基本设置。
为了表现 Tessellation 效果修改两大部分就可以了。
调高表面分割精度。

进到 3D VIEW 的 Scene -> Edit 。

Subdivision Method 变更为 paramertic 。
这样通常会执行 UNIFORM DIVISION 。
这样所有表面就无关高度差距和长度角度,都会以一定的密度分割面。
作者调了个适当的值 5 或 6。
如果要表现更精致的表面曲率,调高就可以,但是会对电脑性能有影响。
Iray Material 设置。

进到 3D VIEW 的 Materials -> Default -> Edit 。

Height 的 Scale 修改成合适的值。
作者把叠层的图案厚度想成了 3 厘米或者 5厘米,所以设成了 5 左右。
最终渲染。


END