Blender晕渲教程(四):平面

正如我之前提到的,Blender就像一个虚拟摄影工作室。我们有相机,光源和要为其拍照的物体。我们将分三个部分介绍,从最后一个开始:我们要拍照的东西。我们的目标是在Blender中生成地形的3D模型,以便最终在正确定位光源和相机后,可以拍摄山体阴影图像。


那么,地形模型从何而来?我们将在Blender中制作一个平面,然后根据高度图文件(该灰度地形图)将其变形,根据高度图使平面的某些部分变高或变低。首先,我们需要从一块干净的平板开始。删除所有绘制的网格物体(包括默认的立方体),这样一来,场景中仅有照相机和光源,其他是一片空白。您也可以重新启动Blender并删除默认立方体。请记住,您可以通过选择对象并单击Delete键来删除它。或单击X也可以。


接下来,让我们通过按Shift-A并选择“网格”→“平面”来添加平面网格。和以前一样,它会出现在我们上一次使用3D光标的位置。

让我们将平面移到坐标网格的中心。选择平面,然后转到“属性”面板。这次,选择带有看起来像橙色正方形的图标;这将带您进入对象属性。除其他选项外,您还将在“位置”下看到有关平面的XYZ坐标的信息。

将每个数字更改为零,然后观察平面移至中心位置。

我们还需要更改另一件事:平面的纵横比。通过在“位置”字段右侧的“比例尺”的X和Y字段中输入数字,可以沿一个方向或另一个方向拉伸它。我们需要将平面匹配高度图的纵横比。现在它是一个正方形(虽然看起来可能像矩形,但取决于透视变形和您观察的角度)。我在本教程中使用的高度图的尺寸是2000px宽和2800px高。我可以将X值输入2000,将Y值输入2800,但是如果这样做,平面将变得巨大并占据整个屏幕。所以只需将输入2,将Y值输入2.8,只要它们的比率与高度图匹配即可。

设置材料

好的,现在我们的飞机处于正确的位置并且尺寸正确;是时候让事情变得复杂一点了。当我编写本教程时,对我来说很重要的是,我不只是为您提供“单击这里,在这里输入”的分步骤列表。我希望向您解释为什么要执行这些操作。因此,让我们花点时间了解有关3D建模的更多信息。

在现实世界中,木材,石材,玻璃等物质看起来彼此不同,因为它们具有不同的颜色,不同的表面纹理,不同的粗糙度等。Blender旨在通过让我们为对象分配不同的材质属性来模拟这些变化。这对3D模型的真实性做出了重要贡献:渲染引擎根据已分配的属性,针对不同的对象,以不同的方式计算光的散射和反射。Blender中的每个对象均由一种材料组成。材料只是属性的集合,这些属性告诉Blender光应该如何与对象相互作用——基本上,应该假装该对象是哪种现实世界的物质构成的。

下一步,我们需要为平面分配一种材料,使其由某种东西制成。目前,它并不是真的由任何东西组成,因此默认情况下,系统的外观为暗灰色。如果渲染场景,您将明白我的意思。

要设置新的材质,请先查看平面的“材质属性”。先选择平面,然后在“属性”面板上单击看起来有点像带有棋盘格图案的球体的小图标。

在这里,在“材质属性”中,我们看到该平面没有材质。它并不是真的由任何东西制成,现在我们可以在渲染器上看到它的唯一原因是Blender已使用默认材质填充了它。让我们点击“新建”按钮来更改它。

Blender为您创建了一种称为“ Material.001”或类似名称的新材料。如果您想使用新名称,则可以随意命名。同时,该材料的某些属性现在应该出现在窗口中。现在,我们实际上只保留默认设置即可,但是为了理解其中的内容,我们还是深入的看一下。

材质的“表面”选项显示为“ Principled BSDF”,这是一种着色器(shader)的名称。这里我们不去深入探讨其中的含义,但是基本上它告诉Blender光线应该如何从该对象反弹。如果单击该“表面”菜单,您会注意到那里还有许多其他着色器。有光滑的,玻璃的,头发的等等,每个代表光从物体散射的不同方式(一组不同的数学模型)。制作山体阴影,我们将继续使用默认的Principled BSDF(如果您有好奇心,则表示双向散射分布函数bidirectional scattering distribution function)。我们不需要用玻璃或丝绒制成阴影浮雕地形(一旦完成,您可以回来尝试一下:这些看起来很有趣,但是通常不会在制图上应用) 。

此着色器有很多选项:粗糙度,光泽,颜色等。更改这些参数会产生不同的表面外观,从而使对象看起来像是由水,木材,皮肤等制成的。但是,现在我们只有一个非常基本的平面,因此,如果您进行任何更改,则在渲染的图像中可能看不到太多不同。再过一会儿,一旦加载好地形,我们再回到这里进行一些设置,但是现在让我们将其保留为默认设置。

替换平面

Blender材料不仅可以描述对象的颜色,以及描述光线如何与它相互作用。材料也可能有位移(表面上的凸起和凹陷)。这是我们可以将简单的平面转换为3D地形模型的地方:我们将告诉Blender我们希望我们的材料具有凹凸感,而这些凹凸将形成地形的形状。

屏幕的左侧是3D视图,您可以在其中看到平面和3D场景中的其他元素。我们可以更改此窗口以显示其他Blender模块。单击3D视口左上角的图标,它看起来像带有球体的透视网格。然后,通过从菜单中进行选择切换到Shader Editor。

3D视图消失了,取而代之的是另一种类型的工作区,即“着色器编辑器”(Shader Editor)。确保已选择平面对象,如果正确应用了材质,则应该看到类似以下内容的信息:

这个小图,显示了我们的材料如何工作。如果要调整显示的内容,可以像在3D视图中一样缩放和平移,也可以单击并拖动对象来移动它们。现在看来,我们有一个浅灰色的Principled BSDF着色器。这正是我们在“材料属性”面板中保留设置的地方,实际上,这个小方框显示了所有相同的选项和设置。只是另一种查看相同信息的方法。此框是一个”节点“(node),请注意连接其与最终材料输出(Material Output)的Surface的线,这意味着它是用来确定平面的表面外观及其光散射特性的。请注意,我们的材料输出框还还有一个移位选项(Displacement),该选项可以插入一些将使曲面产生位移的东西。这即是我们要增加凹凸感的地方。从顶部菜单栏中,选择Add → Texture → Image Texture。一个新框将出现在我们的着色器编辑器中。将其放置在您喜欢的任何位置,并记住以后可以通过单击和拖动来移动它。

用Blender术语来说,纹理( texture)是应用于材料以改变其外观的图像或简单图案。例如,我们可以使用纹理来更改对象的颜色:我可以加载一张木纹照片,然后将其用作重复纹理,以使平面看起来像是木头制成的。许您之前曾经在Photoshop或其他图像编辑程序中完成过类似的工作。但是Blender也可以使用纹理来使平面凹凸不平。这就是我们要做的。

我们需要先加载高度图。单击“图像纹理”框中的“打开”按钮。然后,您可以浏览直到找到并选择高度图。加载完毕后,应该会看到其名称。您还可以单击并拖动“图像纹理”框的边缘以使其变大。

现在,我们将其链接到Displacement选项。单击框右侧的Color旁边的点,然后拖动到“材质输出”框上显示Displacement旁边的点。他们会连线。现在,我们告诉Blender,它根据高度图的颜色值(在这种情况下为明暗度值)来确定平面的起伏变化。

到这里,我们再调整一些其他设置。单击Linear 并将其更改为Smart。这会将纹理的插值看起来更好。您可能需要对高度图进行一些调整/重新采样,以适合最终渲染图像的大小,这会告诉Blender如何做到。如果您使用Photoshop或ArcMap进行重新采样,则将看到与这些相似的设置。

现在,让我们渲染图像,看看平面的起伏程度!

现在平面开始看起来像地形,但是,但是,现在Blender仅使用称为凹凸贴图( bump mapping)的技术来模拟位移。Blender使用的是一种快速,简单的计算来给出有深度的外观,但这些凹凸并不是真实的:它们不会投射阴影,并且光线不会从阴影中反射出来。只是平面上有些变色而已。我们仍然需要进行一些调整,使Blender进行真正的位移,而不是模拟位移。

细分表面(Subdivision Surface)

我们要求Blender查看我们的高度图,并使用它在平面上施加凹凸起伏效果。但是,我们的平面现在太简单了,无法使用。它仅由四个顶点组成。

Vertices.jpg

这些顶点是Blender上下移动以使地形发生颠簸和变化的实际对象。因此,现在,Blender所能做的只是稍微拉动我们平面的各个角点。平面中间没有顶点可以调整。理想情况下,该平面将由成千上万个顶点组成,每个顶点均可上下调整以创建地形。如下图所示:

Thousand.jpg

我们仍然可以使用凹凸贴图方法进行模拟浮雕,因为Blender不在乎那里有多少顶点-它只是在平面上绘制了一些明暗像素,而不是实际使平面变形。但是,如果要实际进行替换,则需要使平面更加详细和复杂。首先,请确保已选中它。然后,返回到“属性面板”,然后单击蓝色扳手图标以显示“修改器属性(Modifier Properties)”。从下拉列表中,选择Add Modifier → Subdivision Surface

“细分曲面”修改器(通常称为“subsurf”)告诉Blender增加简单对象的细节级别。这涉及细分对象以添加更多顶点,还可能涉及平滑或圆滑。建模人员大量使用此工具:它使他们可以制作复杂的弯曲形状,而只需绘制简单的网格即可。如下图所示:

Surfed.jpg

在我们的案例中,我们将简单地使用它将平面切成一堆小块,使其具有更多的顶点,这意味着我们有更多的地方可以使用高度图产生凹凸。

首先,确保选择Simple 。有两种用于细分物体的算法,这就是我们想要的算法。 Catmull-Clark算法将使平面的边缘开始变圆,我们不希望这样。

接下来,选中Adaptive框。这告诉Blender,与其将平面划分成固定数量,不如根据需要决定将平面细分。它将查看您将要生成的晕渲图像的大小以及不同区域与相机的距离,然后决定其中的每个部分有多少细节地形需求。软件非常智能,如果看不到“自适应”选项,请确保已启用本教程前面部分中的“Experimental ”功能。

这里,不需要点击Apply按钮,也不能这样做。subsurf modifier  是非破坏性过滤器;也许您已经在Illustrator,Photoshop等中看到了类似的情况。现在实际上并没有改变平面:它仍然只是由四个顶点组成。相反,Blender会在渲染时将平面细分,而且只是暂时的。点击“Apply”将把平面永久细分为数千个顶点。这会降低计算机的速度,并使保存的文件变得很大,同时也会使渲染速度变慢。而且,它不能让Blender自适应地确定需要更多或更少细节的位置。总而言之,让我们保持现状。我们将使平面非常简单易用,只是在需要渲染时暂时使平面变得复杂化。

真正替换

既然平面已经细分了数千次,一旦我们告诉它,Blender便可以开始实际上下移动平面的节点了。所以,我们可以开始了。

首先,我们需要在材质中添加一个节点。确保您的平面仍然处于选中状态,然后转到“ Shader Editor”。

从顶部菜单栏中,选择Add → Vector → Displacement。

现在,我们需要正确连接。将图像纹理的Color输出节点连接到“Displacement ”的Height输入节点 。然后,将的“Displacement ”的Displacement 输出节点连接到“材质输出”的“Displacement ”输入节点。如下图所示, 这是在告诉Blender:查看图像的颜色(浅色或深色),将其转换为位移,然后使用它使平面变形。

如果您现在进行渲染,您会发现没有太大变化。还有一个设置:我们需要告诉Blender停止凹凸贴图并开始真正移位。我们将平面细分了,并插入了Displacement 节点,但是Blender直到我们实际告诉它之前,并没有真正生效这些设置。选择平面后,再次单击材料属性(方格球体)图标,返回到“材料属性”。在面板的最底部(往下滚动鼠标),有一些“设置”选项。您可能需要点击设置(Settings)以使其展开。位移选项设置为仅凹凸( Bump Only)。改为将其更改为“仅位移(Displacement Only''。

现在,我们已关闭凹凸贴图,并告诉Blender使用我们创建的平面细分和插入的纹理开始实际置换平面。如果渲染图像(F12),您会注意到它花费了更长的时间,与简单的模拟凹凸贴图相比,它需要进行更多的计算。您还会注意到地形起伏被夸大了。

先不关注地形被夸张的情况,注意地形实际上是如何在真实3D中显示的。例如,平面的边缘不再是直线了。随着地形的变高和变低,边缘也会随之上升和下降。之前,当我们进行凹凸贴图时,Blender只是在平坦的表面上设置了一些明暗区域,使其看起来像是凹凸不平的。现在我们已经修改了设置,地形实际上变得崎驱不平。

通过更改“Displacement ”节点上的“Scale ”参数,可以使最终渲染的夸张程度降低。由于尚未设置光源,并且相机位置还不对,因此我们尚不知道最终的晕渲效果会是什么样,所以还不知道最佳设置是什么。因此,我们将Scale参数设置往后再看。

接下来要在此处进行一些调整:注意渲染图像左上方的地形突出细条了吗?地形几乎是平坦的,然后突然出现尖峰。Blender读取您的高度图,并尝试将其稍微包裹在平面的边缘。基本上,它会从图像的底部提取一小部分地形,然后将其放置在顶部,或者把右侧的地形抽取一部分将其放置在左侧。解决这个问题如下:在“Shader Editor”中,再次查看“图像纹理”节点。把Repeat参数设置为Extend 这告诉Blender,您不希望图像成为平铺的重复图案,而希望在平面上从一个边缘延伸到另一个边缘。

现在,在渲染时,边缘应该是“干净的”(尽管一切显得很尖刺)。

材质设置

现在,有了起伏的地形表面,我们可以返回到Principled BSDF着色器并对其设置进行修改。通过更改各种滑块,可以使地形对光的响应不同。例如,如果将“透射率(Transmission )”更改为1,并且将“透射粗糙度( Transmission Roughness)”更改为0.5,则现在的地形看起来是由玻璃制成的。

实际上,这些设置中的大多数对晕渲制作没有什么用,所以这部分只是为了好玩而已,建议您选择以下设置:

这些都是默认设置,除了增加roughness 和减少specular值,所以我们的材料具有磨砂的表面。我也使底色变暗了一点。我建议将R,G和B值设置为0.6。地形晕渲图仅在我们同时具有阴影(比底色更暗的区域)和高光(比底色更浅的区域)时才起作用,因此我们需要使底色足够暗,以便在照亮时可以明显变亮。您可以尝试使基础颜色更深。您也可以稍后返回并更改这些设置。

因此,让我们简要回顾一下到目前为止完成的工作:

1、我们做了一个平面网格。

2、我们告诉Blender,平面由灰色材料组成。

3、我们告诉Blender将我们的平面细分为很多很多部分,以便它有很多可以上下移动的顶点。

4、我们告诉Blender根据我们的高度图来替换平面。