Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点


切割

先进入编辑模式:对一个网格对象选中后,按下 “Tab” 键,或是视口类型选择:Edit Mode 即可进入编辑模式

下面是切割工具,就是一个细分算法,非常实用
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点

Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点
Ctrl + B 后,将鼠标移动需要切割的面上,出现切割绿色线后,按下鼠标左键即可,也可以在绿色线出现的时候,使用鼠标滚轮控制细分的分段数量

确定后会弹出一个 Loop Cut and Slide 的参数选择
这里主要看三个

  • Number of Cuts - 是细分段数
  • Smoothness - 如果你切割的边不是对称的,Smothness 可以控制平滑过渡
  • Falloff - 是平滑过渡的曲线

挤出

Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点
可以旋转点、线、面来挤出,也是很实用的
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点


细分 - 修改器

修改器可以对一个对象的点、线、面、等,进行程序的逻辑控制

细分修改器是:Subdivision Modifier

在 Blender 中,每个对象都有 Modifier Properties 属性
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点

选择后,它的属性有这些,如下图:
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点

这里先主要看:Render,Viewport,Quality,的三个选项:分别是设置在不同模式下的细分参数,Render 表示在渲染是使用的细分参数,Viewport 是在设计时的视口细分量,Quality 是控制细分的质量系数。

还有一些 Options 是控制 uv 平滑的
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点
还有一个比较重要的是:Apply 按钮,这个就想 应用变换(参考前一篇的:冻结或应用变换) 一样,这里的应用指的是将修改器对对象的修改的点、线、面的结果,应用到网格本身,并将网格更新,也是非常有用的一个功能,在 OpenGL 中,你可以理解为,可以对网格的 VBO 的修改结果应用后,变成了 VBO 的原始数据了。如下图 Apply 按钮:
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点


天空盒

或是叫:Environment Texture 这个原理也比较简单

可以参考我在学习 LearnGL 系列笔记中的:LearnGL - 15 - Skybox - 天空盒 是如何制作出来

还有如何实现反射、折射的:

在 Blender 中,添加环境贴图是在:Rendering->World 配置的

选在 Shading 着色配置下:
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点
选择旁边的 Object(默认),改为 World
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点

再选择添加 环境贴图 节点
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点

设置好 Environment Texture 的 环境贴图 后,再添加 背景颜色节点(这个节点就是我们的天空盒)
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点
将 Environment Texture 的采样样色输出到 Background,Backround 的颜色再输出到 World Output 节点即可:
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点

这些节点编辑与 Unity Shader Graph,和 Unity 的材质编辑器很像

这时,我们就可以在 Properties 视口中,可以对 World 环境信息进行调整 Background 强度了

先打开 Properties 视口:
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点

Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点

调整 Strength 强度可以看到 Shading 下的变换(勺子的反射比较明显)
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点


平滑插值、平旦着色

可以看到下面对勺子的处理平旦 flat 着色后,与插值 smooth 平滑的区别,它的原理是控制法线不插值处理,可以参考我的 LearnGL 中的:LearnGL - 11.4 - 实现简单的Flat BlinnPhong光照模型
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点

也可以使用 Blender 中的 Search 功能(Space 或是 F3 快捷键,这些快捷键在 Preferences->Keymap 中可以搜索到,也可以修改)
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点


反射

这个反射与天空盒反射不一样,它是 Blender 中的 Eevee 渲染引擎提供的光追版本的反射实现的

在 Render 渲染属性面板中可以打开

Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点

在 Render 属性面板中,勾上:Screen Space Reflection
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点
SSR 的开启效果还是比较明显的,特别是这些表面光滑的金属材质的物件效果最为明显,如下图中的杯子身体的反射与下面的勺子反射杯子的内容:
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点


AO 环境遮蔽

AO(Ambient Occlusion)环境遮蔽,意思对一些环境的光对物体影响的遮蔽值,这些值在一些角度比较容易出现,因为这些角落相对其他部位来说,环境光能照到它的可能性就会降低
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点

开、关 AO 的效果也是很明显的(注意杯子、勺子的底部,开启了 AO 会明显比较暗一些,没开则亮一些):
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点


去噪点

有时候,可能我们在渲染效果图的时候,发现噪点非常多,如下图:

Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点

这一般可以同过提高光追渲染的采样次数来去除:

同样是在 Render 属性面板中的 Samples (采样)属性中
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点

上图的数值我故意调低,Render 默认是 64,Viewport 默认是 16,调低是为了看到噪点的情况

  • Render - 是在渲染效果图时,使用的每个像素的采样计算次数
  • Viewport - 是设计视图下的计算次数,一般 Viewport 比Render 低一些,这样设计时性能就好一些, Render 高一些的话渲染效果就好一些
  • Viewport Denoising - Viewport 是否去噪点(具体算法不了解)

后面我将数值:Render : 128,Viewport 64,渲染的噪点就少很多了


练习

利用切割、挤出、细分,可以很快速的制作后勺子、杯子:

勺子

Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点

杯子

杯子的中间凹陷只要反向挤出即可,方便的很

Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点

摆放好物件、灯光

加上地板,再复制多个勺子,摆放好对应的位置
Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点

最后渲染效果

Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点