Blender - Day2 学习 - 切割、挤出、细分修改器、Eevee 渲染引擎使用:天空盒、插值/平旦着色器、屏幕空间反射SSR、环境遮蔽AO、去噪点
切割
先进入编辑模式:对一个网格对象选中后,按下 “Tab” 键,或是视口类型选择:Edit Mode 即可进入编辑模式
下面是切割工具,就是一个细分算法,非常实用
Ctrl + B 后,将鼠标移动需要切割的面上,出现切割绿色线后,按下鼠标左键即可,也可以在绿色线出现的时候,使用鼠标滚轮控制细分的分段数量
确定后会弹出一个 Loop Cut and Slide 的参数选择
这里主要看三个
- Number of Cuts - 是细分段数
- Smoothness - 如果你切割的边不是对称的,Smothness 可以控制平滑过渡
- Falloff - 是平滑过渡的曲线
挤出
可以旋转点、线、面来挤出,也是很实用的
细分 - 修改器
修改器可以对一个对象的点、线、面、等,进行程序的逻辑控制
细分修改器是:Subdivision Modifier
在 Blender 中,每个对象都有 Modifier Properties 属性
选择后,它的属性有这些,如下图:
这里先主要看:Render,Viewport,Quality,的三个选项:分别是设置在不同模式下的细分参数,Render 表示在渲染是使用的细分参数,Viewport 是在设计时的视口细分量,Quality 是控制细分的质量系数。
还有一些 Options 是控制 uv 平滑的
还有一个比较重要的是:Apply 按钮,这个就想 应用变换(参考前一篇的:冻结或应用变换) 一样,这里的应用指的是将修改器对对象的修改的点、线、面的结果,应用到网格本身,并将网格更新,也是非常有用的一个功能,在 OpenGL 中,你可以理解为,可以对网格的 VBO 的修改结果应用后,变成了 VBO 的原始数据了。如下图 Apply 按钮:
天空盒
或是叫:Environment Texture 这个原理也比较简单
可以参考我在学习 LearnGL 系列笔记中的:LearnGL - 15 - Skybox - 天空盒 是如何制作出来
还有如何实现反射、折射的:
在 Blender 中,添加环境贴图是在:Rendering->World 配置的
选在 Shading 着色配置下:
选择旁边的 Object(默认),改为 World
再选择添加 环境贴图 节点
设置好 Environment Texture 的 环境贴图 后,再添加 背景颜色节点(这个节点就是我们的天空盒)
将 Environment Texture 的采样样色输出到 Background,Backround 的颜色再输出到 World Output 节点即可:
这些节点编辑与 Unity Shader Graph,和 Unity 的材质编辑器很像
这时,我们就可以在 Properties 视口中,可以对 World 环境信息进行调整 Background 强度了
先打开 Properties 视口:
调整 Strength 强度可以看到 Shading 下的变换(勺子的反射比较明显)
平滑插值、平旦着色
可以看到下面对勺子的处理平旦 flat 着色后,与插值 smooth 平滑的区别,它的原理是控制法线不插值处理,可以参考我的 LearnGL 中的:LearnGL - 11.4 - 实现简单的Flat BlinnPhong光照模型
也可以使用 Blender 中的 Search 功能(Space 或是 F3 快捷键,这些快捷键在 Preferences->Keymap 中可以搜索到,也可以修改)
反射
这个反射与天空盒反射不一样,它是 Blender 中的 Eevee 渲染引擎提供的光追版本的反射实现的
在 Render 渲染属性面板中可以打开
在 Render 属性面板中,勾上:Screen Space Reflection
SSR 的开启效果还是比较明显的,特别是这些表面光滑的金属材质的物件效果最为明显,如下图中的杯子身体的反射与下面的勺子反射杯子的内容:
AO 环境遮蔽
AO(Ambient Occlusion)环境遮蔽,意思对一些环境的光对物体影响的遮蔽值,这些值在一些角度比较容易出现,因为这些角落相对其他部位来说,环境光能照到它的可能性就会降低
开、关 AO 的效果也是很明显的(注意杯子、勺子的底部,开启了 AO 会明显比较暗一些,没开则亮一些):
去噪点
有时候,可能我们在渲染效果图的时候,发现噪点非常多,如下图:
这一般可以同过提高光追渲染的采样次数来去除:
同样是在 Render 属性面板中的 Samples (采样)属性中
(上图的数值我故意调低,Render 默认是 64,Viewport 默认是 16,调低是为了看到噪点的情况)
- Render - 是在渲染效果图时,使用的每个像素的采样计算次数
- Viewport - 是设计视图下的计算次数,一般 Viewport 比Render 低一些,这样设计时性能就好一些, Render 高一些的话渲染效果就好一些
- Viewport Denoising - Viewport 是否去噪点(具体算法不了解)
后面我将数值:Render : 128,Viewport 64,渲染的噪点就少很多了
练习
利用切割、挤出、细分,可以很快速的制作后勺子、杯子:
勺子
杯子
杯子的中间凹陷只要反向挤出即可,方便的很
摆放好物件、灯光
加上地板,再复制多个勺子,摆放好对应的位置