跳转到内容

Blender 3D:菜鸟到专业/景观建模 II:纹理模板

来自 Wikibooks,开放世界中的开放书籍

更新至 2.7 版本用户

[编辑 | 编辑源代码]

这是之前教程的延续,景观建模 I:基础地形。在本教程中,我们将通过使用一些纹理模板来添加我们希望在景观中出现的多个纹理,使我们的地形看起来更美观。本教程假定您对如何使用 Blender 有基本了解(如何添加/删除网格、如何更改视图等...)。

创建模板

[编辑 | 编辑源代码]

之前示例中的景观看起来相当不错,但整个景观都使用了相同的纹理,所以看起来不太自然。让我们在那些山丘上添加一些岩石。如果我们只是在材料中添加第二个纹理,它将完全覆盖之前的纹理。我们想要的是让第一个纹理只在某些地方显示,第二个纹理覆盖其余部分。为了做到这一点,我们必须创建一个模板,它就像一个蒙版,决定纹理在材料上的显示位置。模板是一个黑白图像,类似于高度图,不同的是每个像素的强度决定了下一个纹理的显示程度(黑色 = 0%,白色 = 100%)。我强烈建议您查看 本教程 以更深入地了解模板的工作原理。如果您认为您已经掌握了要点,那么请继续。[注意:链接现在已失效] 我们将创建自己的模板,通过在对象上“绘制”来确定我们希望在景观中出现岩石的位置。*重要* 以下几个步骤将对您的场景进行临时修改,因此请务必在继续之前保存您的文件,这样更改将不会被保存!另外,如果您在景观上使用了细分曲面修改器,请现在将其删除,因为它会大大降低以下过程的速度。

  • 选择景观对象,并从“编辑模式”或“物体模式”切换到“顶点绘制模式”。这可以在 3D 视图标题栏上的“模式”下拉菜单中找到。此模式允许您绘制对象,从而更改每个顶点的颜色值。在顶点绘制模式下,您会注意到您的对象颜色会更改为应用于它的纹理的像素化版本。这是因为在应用了该纹理之后,每个顶点都将使用您所看到的颜色进行绘制。

新手说明:顶点绘制模式位于包含物体模式和编辑模式的下拉菜单中。只需在物体模式下选择物体,点击下拉菜单,然后从列表中选择顶点绘制模式。

  • 切换到编辑菜单 (F9),您将看到一个名为“绘制”的新选项卡。注意标记为“不透明度”和“大小”的滑块。“不透明度”决定了当您绘制时选择的颜色与现有颜色的混合程度。因此,0.2 表示当您点击时,您将获得 20% 的选择颜色与当前存在的任何颜色混合。在右侧是用于组合两种颜色的不同选项。我们想要混合,因此当我们绘制时,颜色将混合在一起,给我们一个漂亮的平滑过渡。“大小”是您绘制时光标的大小,因此也影响了多少个顶点。请记住,它不会随着您放大或缩小而改变,因此大小为 10 实际上可以绘制更多像素(如果您的缩放程度很大),而大小为 30 则可以绘制更少的像素(如果您的缩放程度很大)。

  • 将颜色更改为黑色,然后单击名为“设置顶点颜色”(在 2.48 版本中,该按钮位于颜色方块下方,名为“设置顶点颜色”) 的按钮。这将更改整个对象的颜色为黑色。您会注意到对象在顶点绘制模式下没有光照,因此当整个对象为黑色时,很难看到您的山丘。您必须移动摄像机才能看到形状。

[另一个新手建议:如果您切换到“物体”按钮 (f7) 并在“绘制”面板/选项卡中的“绘制额外”下打开“线框”,您应该会看到一个线框叠加在您绘制的顶点颜色之上,这使得更容易看到山丘的位置。请记住,绘制完毕后将其关闭。]

  • 现在,我们将绘制我们希望岩石显示出来的地方。将绘制颜色更改为白色。草不太可能在陡峭的斜坡上生长,因此通过按住LMB并拖动鼠标开始绘制更陡峭的山丘的顶部和边缘(想想 MSPaint)。如果您没有听从我之前的建议,并且仍然启用了细分曲面修改器,则绘制将非常不平滑,因此现在将其删除。
  • 在绘制时,尝试通过反复绘制某些区域使其变为纯白色,但不要让任何一个白色区域太大,因为这会导致一个巨大的区域全部为岩石,而我们试图混合两种纹理。
  • 这个过程可能就是不断尝试和犯错,直到您将景观绘制成您想要的样子。一旦我们稍后应用模板,您可能会发现某个区域的岩石太多,或者另一个区域的岩石不够,然后返回并更改它。以下几点需要牢记
    • 20% 的不透明度意味着大部分原始纹理(在本例中为草)将显示出来,因此如果岩石有的话,岩石将不那么明显。您必须多次绘制相同的区域才能增加强度。
    • 您不希望从草到岩石发生剧烈的变化,因此请确保将白色区域与黑色区域混合。这就是为什么我们使用 20% 的不透明度而不是简单地将其提高到 100%。
    • 使您的补丁随机且斑点状。这将最终在我们将纹理组合在一起时产生更逼真的效果。
Painting the stencil onto the landscape
将模板绘制到景观上
  • 完成后,您应该得到类似以下内容。请注意某些地方白色和黑色的混合,如何随着您沿着山丘向下移动,它不会仅仅从纯白色变为纯黑色。这将产生更自然的混合效果,并将在草中产生随机的岩石区域。现在,我们需要将其转换为我们的模板。
  • 转到俯视图 (NUM7),如果还没有,请将投影设置为正交投影 (NUM5)。
  • 放大/缩小 (鼠标滚轮NUM+/NUM-),直到平面几乎占据整个窗口。
  • 将 3D 光标以及任何灯或摄像机移开,使它们不在景观之上,然后截取屏幕截图。
The stencil after its been cut from your screenshot
从屏幕截图中裁剪出模板后
  • 打开您最喜欢的图像编辑器(我是一个传统主义者,所以我仍然喜欢 MSPaint),然后裁剪出景观的图像。现在,这是您的模板。以您喜欢的格式保存它。
  • 重新打开保存的景观版本,以撤消我们为创建模板所做的更改。


为什么我们要以这种方式制作我们的模板?这让我们可以实际在地形上进行绘制,以确保我们能够将岩石精确地放置在我们想要的位置。使用这种方法,您可以将模板自定义为任何对象,只要它有足够的顶点。例如,如果我们只有一个由 4 个顶点组成的平面,则此技术将不起作用,因为我们只能绘制角点。这就是为什么我在之前的教程中建议在网格中使用高(但不过高)数量的顶点。

应用模板

[编辑 | 编辑源代码]

现在,我们需要将模板应用到景观上,以将草和岩石纹理混合在一起。

  • 返回到物体模式或编辑模式 (TAB),哪个都行。
  • 转到纹理菜单 (F6),并在材料中添加两个新的纹理(您应该已经有了草纹理)。
  • 将纹理 2(您添加的第一个新纹理)设置为图像,并从文件加载您的模板。不要在 x 或 y 方向上重复它。我们希望它映射到整个对象。
  • 将纹理 3 设置为图像,并从文件加载您的岩石纹理。您希望重复此纹理,就像您对草纹理所做的那样。
  • 现在返回到材料菜单,并选择您的模板纹理。最好为您的纹理、材料、目标等命名,以便于识别。
  • 选择你的模板纹理,切换到名为MapTo的标签。取消选中Col(它将纹理映射到颜色),然后选择Stencil和No RGB。Stencil会将此图像视为模板,而No RGB会将其视为黑白图像。如果你没有选择第二个选项,你的模板将无法工作。

Mapping the stencil texture

  • 在预览标签中,你应该注意到你的材质发生了变化,所以草地和岩石现在混合在一起了。如果你渲染,你会看到比之前教程中的更逼真的景观!

新手信息:确保岩石纹理的col被选中,因为我们想用岩石纹理为景观上色!否则它不起作用。选择岩石纹理 -> Map To -> col

Landscape with grass and rock textures mixed

添加雪

[编辑 | 编辑源代码]

既然你已经有一些不错的山脉,为什么不为它们添加一些雪呢?添加雪很容易。你只需要在所有其他纹理之后添加第四个纹理。使这个纹理与你的模板纹理相同。

  • 确保你在Shading (F5) > Texture Buttons (F6) > Textures中。
  • 点击Texture Type旁边的空白面板。
  • 点击Add New左侧的小方框。
  • 从菜单中选择你的模板(提示:如果你的纹理有名称会很有帮助)。
  • 渲染并查看结果。

如果你正确地创建了模板,你应该会看到一些漂亮的雪顶山峰。它并不多,但这对于快速修复来说已经足够了。如果它不均匀,你可能没有正确地创建你的模板(意味着山峰上几乎全是白色,而其他地方没有多少)。当然,还有更好的方法来做这件事,我可能不知道那些方法;我在写作之前仅仅发现了Blender三天。我把它留给你去观察效果:我只有这么多空间和带宽用于图片!

这种效果是通过根据你的模板中白色的数量,用白色饱和底层颜色来实现的。浅灰色只会稍微饱和它,而亮丽的 100% 白色会非常清晰有效地覆盖它。如果你仔细观察,你会发现模板上的浅灰色确实会产生影响,但它并不立即显眼,需要很多次调整 Render Preview 和纹理选项。你也可以尝试调整 Stencil 和 NoRGB 选项,尽管对我来说,这两个选项都关闭时效果很好(我使用的是 Blender 2.48a)。

一些挑战

  • 尝试改变雪的颜色。提示:RGB
  • 我还没有做过,但尝试用高度图制作雪。

多个模板

[编辑 | 编辑源代码]

还记得在第一个教程中我说过要让一部分景观保持平坦,因为我以后会用到它吗?现在是时候使用它了。我想最终将景观作为军事基地的背景,所以让我们给基地周围的地面添加纹理,使其成为泥土地面,并有一条通往基地的道路。*重要*就像之前一样,接下来的几个步骤将对你的场景进行临时修改,因此在继续之前一定要保存你的文件,这样更改就不会被保存!

  • 在 3D 视图标题中的模式菜单中切换到 Vertex Paint 模式。
  • 转到俯视图(NUM7)并将投影设为正交投影(NUM5)。
  • 再次通过在 Paint 标签中选择黑色并点击 Set VertCol,将整个物体涂成黑色。
  • 对于接下来的几个步骤,你可能需要在 Vertex Paint 模式和 Object 模式之间TAB来回切换,以确保你正在正确的区域进行绘制。将画笔的不透明度设置为 1.0,大小设置为 10,这样我们就可以非常精确地进行操作。
The stencil for our future base
我们未来基地的模板
  • 在平坦的地形上绘制一个类似于这里所示的通用军事基地的形状区域。
  • 将不透明度降回 0.2,并将大小增加到 20。
  • 绘制从基地延伸出来的道路。我们已经降低了不透明度并增加了大小,这样道路将与周围的景观更加融合,而不是像我们的基地那样更加清晰。
  • 一旦你的模板看起来符合你的要求,就截取屏幕截图并保存它。然后恢复到你的以前的环境(在你开始在上面绘制之前)。
  • 转到 Texture 菜单(F6)并添加两个新的纹理。
  • 将你的模板加载到第四个纹理(第一个新的纹理)中,并将泥土图像加载到第五个纹理中。再次提醒,记得为泥土纹理设置 x 和 y 重复。
  • 在 Materials 菜单(F5)中选择你的新模板,并转到 MapTo 标签。再次取消选中 Col,然后选择 Stencil 和 No RGB。注意新的预览。
  • 等等,泥土小路在哪里?!这就是问题所在,也是我包含这一部分的原因:模板是累积的。也就是说,第一个模板定义了所有后续纹理中哪些部分将被绘制,包括其他模板!为了让我们的新泥土小路显示出来,我们需要确保它属于第一个模板的一部分。
Both stencils combined into one
两个模板组合成一个
  • 在你的图像编辑器中打开你的第一个模板(你用来将岩石添加到山丘上的那个模板),并将新的模板与它组合起来。结果应该类似于这个样子。确保当你将泥土模板与岩石模板组合时,泥土模板保持相同的大小并在相同的位置。也就是说,你希望两者完全对齐。
  • 重新加载你材质上的第一个模板,即我们用来制作岩石的那个模板。现在预览应该符合我们的预期,如果你渲染,你会在景观的平坦部分看到新的泥土区域。你可以用相同的方式添加更多模板。以下是所有纹理如何融合在一起的。

注意我不得不替换上面的图像中的草地纹理,因为我找不到它的许可信息。对于由此导致的图示中出现的不一致,我表示歉意。

好了,就是这样!这是一个非常有用的对复杂物体进行纹理化的方法。看看我们新的景观以及它与之前的、无聊的、单一纹理的景观相比如何!

再次提醒,如果你在使用教程时遇到任何问题,或者有任何反馈(正面或负面),请在讨论区发表。

对于 2.7 blender 用户

[编辑 | 编辑源代码]
  • 首先添加材质。
  • 将草地纹理保留在默认值。
  • 添加接下来的两个纹理,模板和岩石、土壤等纹理,如上文教程中所述。
  • 转到模板纹理。
  • 在影响面板中,取消选中 col。
  • 选中“RGB to intensity”按钮。
  • 选中 stencil。
  • 其他所有内容都保留其默认值。

- 对我来说,使用上面的设置,岩石纹理不是很明显。在影响面板中玩弄颜色强度设置可能会有帮助(增加岩石纹理的强度,降低草地纹理的强度) -

华夏公益教科书