跳转到内容

Blender 3D:菜鸟到高手/建造房屋

来自维基教科书,开放世界中的开放书籍

在本教程中,您将学习如何制作一个简单的玩具房屋,周围有一个栅栏。您将学习如何使用阵列修改器复制栅栏的栏杆,从而省去逐个复制的麻烦。

本教程基于 Bart Veldhuizen 的“Building a House”(来自 NaN 在 1999 年发布的教程 #01),也可以在以下 PDF 文件中找到:http://download.blender.org/documentation/BlenderTutorialGuide1.tar.gz(包含 BlenderTutorialGuide1.pdf 的 tar.gz 文件)或 http://download.blender.org/documentation/BlenderTutorialGuide1.zip(包含相同 PDF 的 ZIP 文件)。

已获得使用许可,Ton Roosendaal 表示:“请放心,现在 NaN 制作的一切都是开放的,免费的内容,所有人都可以重复使用,包括教程“Building a House”。


设置场景

[编辑 | 编辑源代码]

开始一个新文档( CTRL + N )。通过按下  ALT + CTRL + Q  将视图分成四个视图,如右图所示。这样您就得到了一个标准的视图集:顶视图、前视图、侧视图和摄像机视图,前三个是正交视图,最后一个是透视视图。您可以随时通过再次按下  ALT + CTRL + Q  切换回单个 3D 视图。

保留默认的立方体,它将成为房屋的墙壁。

制作屋顶

[编辑 | 编辑源代码]

确保您处于对象模式( TAB  在对象模式和编辑模式之间切换)。

现在,在前视图窗口(左下角)

按下  SHIFT + D  复制立方体,抓取模式会自动选择,按下  Z  将移动限制在上下轴,并将立方体移动到原始立方体上(在移动时按下  CTRL  会将其捕捉到网格,使精确定位更容易)。当它就位时,按下  ENTER 

您可以看到这个四窗格窗口有多么有用;它可以准确地显示您正在进行的操作。

注意:简单地抓住其中一个箭头,按下  Z ,然后在数字键盘上按下 2,这将使块沿 z 方向移动 2 个单位。标准的起始立方体高度为 2 个单位。

Note:

确保您是在对象模式下复制立方体,而不是在编辑模式下,这样屋顶才能作为单独的对象。

顶部的立方体将成为屋顶,需要赋予其三角形的横截面。

选择顶部的立方体(如果它尚未被选中),方法是单击  RMB  它。

按下  TAB  进入编辑模式(选中 3D 窗口标题中间的框)。

按下  A  取消选择所有顶点。

在顶视图中,选择顶部的四个顶点( RMB  第一个顶点,然后  SHIFT + RMB  其余顶点)。您可以检查其他视图以确保只有这四个顶点被选中。

注意:另一种方法是关闭“限制选择到可见”,然后按下  B  进行边框选择,并围绕顶部顶点制作一个框。(最好从侧面进行查看,方法是按下 1 或 3 键)。

另一个注意:或者,在“限制选择到可见”处于打开状态的情况下,按下  C  进行圆形选择,然后转动鼠标键使圆形足够大以包围所有四个顶点,然后按下  LMB 

制作屋顶的顶点

[编辑 | 编辑源代码]

现在按下  S  进行缩放,并按下  X  将缩放限制在 X 轴(从左到右)。您可以尝试来回移动鼠标将顶部顶点合并,但您很难将它们完全对齐,因此最好只输入  0KEY (零),然后按下  ENTER  将缩放设置为零。

现在看起来只有 2 个顶点,而之前有 4 个顶点,但实际上仍然有 4 个顶点,即使其中 2 个顶点与另外 2 个顶点占据完全相同的位置。选中这 4 个顶点后,使用  W  调出顶点特殊菜单,并选择“移除重复”。您应该会看到右上角短暂地出现一条消息,显示“已移除 2 个顶点”。现在,实际上只有 2 个顶点,之前有 4 个顶点。

Note:

“移除重复”是进行复杂网格编辑后使用的一个便捷功能。它有助于减少网格结构的复杂性。

形成屋檐

[编辑 | 编辑源代码]

屋顶需要延伸到房屋的墙壁外,形成屋檐。为此,我们将对它进行缩放,但只沿着 X 轴和 Y 轴进行缩放,而不是 Z 轴,这样它就不会变高。

 A  一次或两次,选择屋顶对象中的所有顶点。

 S  进行缩放,然后按  SHIFT + Z  沿所有轴进行均匀缩放,除了 Z 轴,并缩放至约 1.1。按  LMB  ENTER  以通常的方式确认操作。

命名屋顶和房屋对象

[编辑 | 编辑源代码]

在包含大量对象的复杂项目中,通过为它们命名来保持它们的清晰易懂非常有帮助。在像这样简单的教程中,这个问题并不突出,但为了练习,我们还是给你的对象命名吧。

在属性窗口中进入对象上下文 ,在顶部应该看到一个可编辑的字段,其中包含当前选定对象的名称。房屋的墙壁应该叫做“Cube”,屋顶应该叫做“Cube.001”(注意自动添加了数字后缀以保持名称的唯一性)。尝试将它们分别更改为“House”和“Roof”。

对象名称与网格名称

[编辑 | 编辑源代码]

如果你查看网格数据上下文 ,你也会看到一个像“Cube”或“Cube.001”这样的名称。这是一个与对象名称完全独立的,用于对象类型特定数据(在本例中为网格数据)的独立名称。现在不要担心这个名称;你将在 稍后 了解它的意义。

给房屋上色

[编辑 | 编辑源代码]

现在需要给屋顶赋予与默认灰色不同的颜色。在对象属性窗口中选择材质上下文 。在顶部的列表中,你应该看到一个名为“Material”(初始默认材质的名称)的条目。在下面是一个可编辑的字段,其中包含名称,并在其右侧应该是一个带有数字“2”的小框。这个数字表示同一个材质正在两个地方使用——在本例中,我们知道另一个地方是代表房屋墙壁的对象。点击这个“2”,这将强制创建一个新材质副本(保留房屋墙壁的原始材质);数字将消失,材质名称将更改为“Material.001”,以区别于原始材质。

将这个材质名称更改为“RoofRed”,以使其更清楚地表明它的用途。接下来,找到更下面的“Diffuse”面板,它显示了漫射(非反射)颜色的样本,最初为白色。点击它会弹出颜色选择器,选择适合屋顶的红色阴影。(注意,在使用红色阴影时,右侧的白色到黑色滑块实际上会从红色创建棕色阴影。)当你这样做时,3D 视图应该会立即更新,显示你新选择的颜色被应用于房屋的屋顶。如果你想退出颜色选择器并保持颜色不变,请按  ESC ;否则,要确认你的选择,只需将鼠标移到选择器窗口之外,它就会关闭,并将你最后选择的颜色保留生效。

按照类似的步骤选择房屋墙壁的颜色:在一个 3D 视图中,使用  RMB  点击“House”对象,在对象属性窗口中进入材质上下文 ,将材质名称从“Material”更改为更合适的内容(这里我选择“HouseSandy”,因为我要给房屋墙壁赋予沙黄色),点击“Diffuse”面板中的颜色样本并选择适合这种材质的颜色。新手提示:我发现,当我重新命名任何东西时,使用全大写字母输入我的新名称非常有用。这使我更容易找出我做了什么。

现在你的房屋应该看起来像这样。

制作烟囱

[编辑 | 编辑源代码]

如果你还没有进入对象模式,请进入对象模式。( TAB  在对象模式和编辑模式之间切换。)

进入正面视图(左下角窗口)。

点击  LMB  将 3D 光标定位在屋顶的右侧,这将选择创建烟囱的位置。

 SHIFT + A  从弹出菜单中添加 → 网格 → 立方体——有点大,不是吗?

沿着 X 轴和 Y 轴缩放它( S  SHIFT + Z )至约 0.2。

现在抓取它( G  X ),并查看正面视图(左下角窗口)将其移动到适当位置。(随意使用鼠标滚轮来放大视图,以便更容易看到东西。)

当位置正确时,查看顶部视图(左上角窗口),沿着 Y 轴( G  Y )将其移动到适当位置。

你可以查看侧面视图(右下角窗口)和相机视图(右上角窗口)以确保它看起来不错。


命名和给烟囱上色

[编辑 | 编辑源代码]

在对象属性窗口中,在对象上下文 中,将烟囱对象的名称更改为“Chimney”。

接下来,在对象属性窗口中的材质上下文 中,你会注意到没有按钮,有一个图标 ,旁边有一个带有“New”字样的按钮。现在,你可以选择让烟囱的颜色与屋顶或房屋不同,或者重新使用其中一种颜色。

如果你想要一种新颜色,请点击“New”按钮,它将创建一个具有默认名称和设置的新材质。你可以重命名它并赋予它适当的颜色。

如果你想重复使用相同的颜色,可以点击图标,然后从可用的材质中选择,即“RoofRed”和“HouseSandy”。

添加窗户

[编辑 | 编辑源代码]

制作窗框

[编辑 | 编辑源代码]

处于对象模式。

使用正面和顶面视图,点击 LMB 将3D光标放置在您想要放置窗户的位置:使用顶面视图将其放置在正面墙上,使用正面视图将其放置在墙体中心左侧和上方一点。 (当然,在你创建好窗户后,很容易重新定位它,所以精确的初始放置并不关键。)

在正面视图(左下角)中添加一个平面: SHIFT + A  网格 → 平面)。 这将最初平放在地面上,朝上而不是朝前;要解决这个问题,只需将其绕 X 轴旋转 90°: R   X   9KEY   0KEY   ENTER 

缩放 S 它到 0.4,然后按 ENTER 

为了使其成为矩形形状,沿 X 轴缩放平面约 0.8  S   X  0KEY  .KEY  8KEY 

将其移动到位置 ( G ),使用顶部和正面视图,在房子的左侧,比中间稍微高一点。

处于侧面视图窗口(右下角)。

沿 Y 轴移动平面 ( G  Y ) 直到它就在房子的前面。 您可能需要放大 ( MW ) 以更好地查看。

现在,仍然处于侧面视图中,

切换到编辑模式 ( TAB )

将平面挤出到房子 ( E ,-0.07) 直到它嵌入墙壁。

制作窗台

[编辑 | 编辑源代码]
框选正在进行中

为了将这个框变成窗框,需要更大的视图:将鼠标移动到侧面视图窗口并使用鼠标滚轮放大。

取消选择所有 ( A ) 并使用框选 ( B ) 选择最外侧的顶点(在右侧视图中最左侧)。

 E ,立即(不移动鼠标)按 ESC 。 这将挤出,但将新创建的顶点留在之前的顶点上。

将新创建的顶点缩放到 0.9 ( S   0KEY   .KEY   9KEY  ENTER )。

再次向内挤出,沿 Y 轴挤出到盒子的大部分深度,大约 -.03 到 -.05,具体取决于您将窗户嵌入墙壁的方式 ( E  Y ,-.03, ENTER )。

此屏幕截图显示了线框模式下的侧面视图(使用 Z 切换线框模式的开闭)。

Note:

您刚刚制作的窗户的外侧面板不能在墙壁内,您可以在侧面视图中最好地看到这一点。(如果窗户窗格的外侧表面在墙壁内,您要么看不到应用的任何油漆/纹理,要么它会部分显示出来。)


命名和着色窗框对象

[编辑 | 编辑源代码]

更改窗户对象的名称,就像您之前对房屋的其他部分所做的那样。它将最初被称为“Plane”(因为这就是您开始使用的网格物体类型);将其更改为“WindowFrame”。同时为它赋予一种新材质,并使其变白。将材质名称更改为“WindowFrame”。

制作窗户玻璃

[编辑 | 编辑源代码]

窗户的玻璃必须使用与框架不同的材质。有两种方法可以实现这一点:将它们制作成单独的物体,或者将它们制作成同一个物体,但将不同的材质分配给不同的面。我们将采用后者。

取消选择所有 ( A )

处于编辑模式。

切换到选择模式 ( CTRL + TAB  -> 面)选择模式(您一直在使用顶点选择模式)

 RMB  点击窗框中心的面的,选择它。

在材质上下文菜单中,点击材质列表旁边的“+”按钮,之前只显示“WindowFrame”材质的地方,您应该会看到出现一个新的空白项目。 窗口的其余部分将变为空白,但会显示“新建”按钮;点击它以创建新的材质。 为它赋予一种类似玻璃的颜色;我选择将其颜色设置为浅蓝色(“87ceeb” 天蓝色)。

现在,将新材质连接到只有一个面,按材质列表下方的“分配”按钮。

Note:

“分配”、“选择”和“取消选择”按钮只在编辑模式下出现。


Note:

耐心点,小子。 一个简单的蓝色矩形可能看起来不像玻璃。 但别担心:在后面的课程中,随着您的技能提升,您将学习如何制作看起来像真实玻璃的材质。

注意:如果您确实决定使用前面课程中解释的真实玻璃材质制作窗户,请确保您在窗户的前后面使用材质。 还要使用环切或刀具在墙壁上切出一个洞来代替窗户。 并在房子里添加一个点光源。

添加门

[编辑 | 编辑源代码]

使用相同的方法添加门

处于对象模式

取消选择所有,

创建平面,必要时将其旋转到正面 ( R   X   9KEY   0KEY   ENTER ) 以使其与房子的正面墙壁对齐。

将平面沿 X 轴缩放到 .7,然后再次缩放到 .5。

使用正面视图将其移动到位置,然后在侧面视图中将其移动到房子的墙上。

将对象名称更改为“Door”。为其创建一个新材质,更改材质名称为“Door”,并为其选择合适的颜色。



建造围栏

[edit | edit source]

围栏将由一长串相同的栏杆组成。逐个创建它们将是一个漫长而乏味的过程——这正是计算机应该做的事情,对吧?事实上,即使只创建一个栏杆并制作重复副本,也是一个漫长而乏味的过程。这就是修改器发挥魔力的地方。

Blender的阵列修改器可以让你制作任意数量的单个对象的副本,所有副本整齐地排列成一行或以其他多种方式排列。作为一个修改器,复制只在渲染时发生,因此在建模时仍然只有一个对象可以编辑:更改它,更改会自动传播到所有副本。

制作栏杆

[edit | edit source]

处于对象模式,没有其他选择。

添加一个平面,将其垂直定向( R   X  90  ENTER ),缩放至0.4,然后在正面视图中沿X轴缩放至0.1。

切换到编辑模式。确保你处于顶点选择模式( CTRL + TAB  -> "vertex"),以防你从制作窗户(上面)时仍然处于面选择模式。


为了给它一些厚度,进入侧面视图并将其挤出到0.05。

尖尖的顶部是通过回到正面视图来制作的,

选择顶部顶点,并将它们挤出 0.07(沿 Z 轴会自动选择),

将它们沿 X 轴缩放至 0,然后移除重复的顶点( W ,“移除重复顶点”:应该显示“移除 2 个顶点”。)。

在顶视图中,将栏杆移动到两条网格线的交点,并与房屋保持适当的距离。

再次回到正面视图,检查栏杆的底部是否与房屋的底部水平。

将对象和网格的名称更改为“Paling”,为其创建一个名为“Paling”的新材质,并将其颜色设置为白色。

复制栏杆

[edit | edit source]

处于正面视图,因为栏杆的平面沿着 X 轴,更容易先创建前围栏。

切换到对象模式。选择栏杆。在对象属性窗口中找到修改器上下文。单击“添加修改器”按钮,在弹出的菜单中选择“阵列”。你应该会看到栏杆的第二个副本出现在第一个副本旁边。

查看复选框:“相对偏移”应该被选中,“常数偏移”和“对象偏移”不应该被选中。在“相对偏移”下,有 X、Y 和 Z 的值;这些是副本之间的距离,相对于对象的尺寸。将 X 值更改为 -2 之类的值(负值会导致复制的栏杆出现在另一侧,远离我们要在门前留出的间隙)。现在增加弹出窗口中显示为“固定计数”的值,并观察复制行的长度增加,直到它到达你想要作为围栏线的角落的点——对我来说,大约 12 个计数就够了。


现在键入 ALT + D  来复制栏杆行,然后键入  X  将其运动限制在 X 轴上(平行于栏杆行)。将复制行移动到现有行的末尾,使其看起来像其的延续。现在键入  R   Z  -90  ENTER  旋转它,使其平行于房屋的侧面。将此行的阵列计数增加到约 24,使其一直延伸到房屋侧面以外的合适角落点。

再次键入  ALT + D  复制第二行,这次之后键入  Y  将其运动限制在平行于房屋侧面的方向。移动复制行,使其看起来像同一行的延续。通过键入  R   Z  -90  ENTER  将其旋转为平行于房屋的背面。根据需要调整其阵列计数,以获得正确的长度。

再一次,键入  ALT + D  复制第三行,然后键入  X  将其运动限制在平行于房屋背面的方向。将复制行移动到行的末尾,并使用  R   Z  -90  ENTER  将其旋转为平行于房屋的侧面。给它与另一侧的阵列相同的计数,这样它的长度就会相同。

最后一次: ALT + D  复制, Y  确保它只移动平行于房屋的侧面,移动到行的末尾,使用  R   Z  -90  ENTER  旋转到位。你可能会发现它太长了,它会撞到房屋前部另一侧开始的原始栏杆行;将其阵列计数减少到大约 8,你应该会得到一个漂亮的门前间隙。

新手注意:我在渲染围栏时遇到了问题。它变得颗粒状,我说颗粒状,就是每个渲染后的柱子上都有随机的黑色簇。有些只有少量这种“颗粒”,而另一些几乎是黑色的。我的环境光设置为 1,但它仍然很乱。这是否是因为手工调整它们而不是输入上面所有值导致的?

新手回答:我认为手工调整不会有什么区别。我会做的第一件事是回到原始栏杆的编辑模式,并选择所有顶点。然后我会点击“W”并点击移除重复顶点。之后,通过按住“Ctrl”并点击“N”来重新计算法线。这些操作通常会为我修复常见的渲染问题,希望对你也有效。

Alternate Noob Solution: I encountered this problem and it turns out it is caused by having more than one copy of the fence in the exact same place. Try moving the affected fence pieces, to find the duplicate then delete it. Remove doubles did not work for my instance of the problem.

制作水平横条(左侧)

[edit | edit source]

围栏需要水平横条来固定栏杆:处于正面视图

 LMB  在左侧围栏的中间下方。

创建一个平面,根据需要将其旋转为垂直方向( R   X  90  ENTER )并将其缩放为围栏的长度。

再次将其沿 Z 轴缩放至 0.05,并将其移动到合适的位置。(如果你在移动时一直按住  CTRL ,它会捕捉到网格。)

进入编辑模式( TAB 

在侧面视图中,将其移动到围栏的背面,并将其沿 Y 轴挤出 -0.04。

进入对象模式( TAB )。为水平横条指定你之前为栏杆创建的相同材质。

复制它( ALT + D ),并将其(按住  CTRL )沿 Z 轴( Z )移动,制作底部横条。

制作水平横条(右侧)

[edit | edit source]

要制作围栏右侧的横条:在正视图中,选择你刚刚创建的两个水平横条:在其中一个上 RMB ,然后在另一个上 SHIFT + RMB (你可能需要放大才能选择它们,避免不小心选中了其他部分)。用 ALT + D 复制它们。沿着X轴移动复制品 X ,直到它们水平居中在右侧围栏的中间;现在水平缩放它们 S   X ,直到它们达到合适的尺寸。

你也可以一根一根地制作横条,但同时制作它们更快,你不觉得吗?

在房屋周围放置水平横条

[edit | edit source]

选择上面为前围栏创建的两个水平横条(确保你没有选择其他任何东西,比如栅栏)。按 ALT + D 复制,然后按 R   Z 围绕Z轴旋转复制品,输入90作为角度,按 ENTER 确认旋转。在顶视图中,移动你刚刚制作的复制品( G ),使它贴在侧围栏上。持续沿着Y轴缩放它( S   Y )和/或沿着Y轴移动它( G   Y ),直到它达到合适的长度和位置。

做完房屋一侧后,按 ALT + D 再复制一次水平横条,然后按 R   Z  90  ENTER 将它旋转到后围栏的正确位置。在顶视图中,移动( G )它,使它贴在栅栏上。现在持续沿着X轴缩放和移动它,直到它达到合适的长度和位置。

做完房屋背面后,做另一侧:再复制一次横条,围绕Z轴旋转90°,移动到栅栏上,移动和缩放,直到它们在正确的位置上达到合适的长度。

同样,再复制一次,旋转并移动/缩放,使它位于房屋前面另一侧的栅栏上。



现在你的房屋应该看起来像这样。

地面和路径

[edit | edit source]

制作地面

[edit | edit source]

在顶视图中,将3D光标放置在图块的中间附近(点击 LMB 

创建一个平面

处于相机视图(右下角窗口)

缩放它,使其延伸到相机看到的范围之外(10.0 似乎是一个不错的数字)。

返回到物体模式,并将它的(物体、网格)名称改为“地面”,

为它创建一个新材质,将其重命名为“草地”,并从颜色选择器中选择一个合适的绿色(“00cd00”绿色3)。

在正视图中检查它是否与房屋和围栏的底部齐平,如果需要,移动它(沿着Z轴)。

制作路径

[edit | edit source]

对于路径:进入顶视图,创建一个平面。

缩放它以适合前围栏的间隙,并在两侧留出一些空间,将其放置在围栏外。

在正视图中检查它是否与门对齐,并且与房屋的底部齐平。

沿着X轴缩放它,使其与门的宽度相同。

处于顶视图,选择最靠近围栏的两个顶点,并沿着远离房屋的方向挤出 E   Y ,使其形成围栏外的合适人行道宽度。

在这四个最靠近围栏的顶点中,选择左边的两个并向左挤出合适的距离,然后选择右边的两个并向右挤出合适的距离,形成经过房屋的人行道。

给路径增加厚度

[edit | edit source]

路径仍然只是一个扁平的平面。让我们给它增加一些厚度,使其略微高于地面。

进入物体模式。确保路径仍然被选中。进入修饰符上下文,点击添加修饰符,并找到加厚。默认厚度(左上角可编辑字段)为 0.01;将其更改为 -0.01,使路径突出在地面上,而不是进入地面。

改善灯光

[edit | edit source]

如果你现在尝试渲染,你可能会发现你漂亮的大部分房屋都消失在阴暗的阴影中。为了解决这个问题,让我们为场景添加更多灯光。

在顶视图中,找到现有的默认灯物体。复制它几次,并将你的副本放置在房屋周围,使其获得更均匀的灯光。

检查相机视图

[edit | edit source]

在进行渲染之前,检查你的相机是否已正确定位以捕捉你作品的美感。在相机视图(分割视图的右上角象限)中,你应该看到类似于下面的内容;注意passepartout(变暗的区域)在表示将被渲染的场景可见区域的矩形之外。如果你在矩形上 RMB ,你可以用 G 左右或上下重新定位相机,或者使用 G   Z   Z 让它更靠近或远离场景。

专业提示 : 要调整相机视图,通过 0 选择相机视图,然后按 Ctrl  +  F 进入“飞行”模式。然后,使用FPS控制移动相机(使用WASD键移动,使用鼠标改变方向,使用 Q  E 上升或下降)。

最终渲染

[edit | edit source]

现在按下 F12 ,希望你会看到类似于下面的内容!


华夏公益教科书