跳转至内容

Blender 3D:新手到高手/景观建模I:基础地形

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

我与一个小组合作制作了一个小型动画用于课堂作业,我负责环境建模。我非常喜欢我使用的方法所得到的结果,因此决定与他人分享。在本教程结束时,您将掌握如何利用多种纹理创建自己的灵活、逼真的地形,以实现不同地面类型的效果。本教程假设您具备Blender的基本使用知识(例如如何添加/删除网格、如何更改视图等)。我在此演示中使用了以下纹理。如果您手头没有合适的纹理,可以随意使用它们。

注意:由于许可证原因,此页面使用了不同的草地纹理(抱歉)。

创建画布

[编辑 | 编辑源代码]
The grid that will be used to build our landscape.
我们将用来构建景观的网格。

我们将用于地形的“画布”是一个均匀间隔的顶点网格。打开一个新项目,删除默认的立方体,并添加一个网格。可以使用任何您想要的大小。顶点越多,您的景观看起来越详细和逼真,但不要过度,因为我们将在最后应用细分曲面来使其平滑。同时,您确实需要足够的顶点来防止出现尖锐的边缘,并且在第二个教程中介绍纹理镂空时我们将需要它们。因此,请考虑您希望景观有多大,并尝试找到一个合理的平衡点。我喜欢从100x100开始。网格会很小,因此将整个网格放大,例如放大20倍。这个网格将用于构建我们的景观,通过拉伸它来创建丘陵和山脉。

新手提示:如果您不想每次打开新文件时都必须删除默认的立方体,只需删除一次立方体,以便您获得空白窗口(仅保留灯光和摄像机)。然后选择文件 - 保存默认设置或按Ctrl+U。从现在开始,您创建的每个新项目都将从没有立方体开始。

塑造山脉

[编辑 | 编辑源代码]

制作良好山脉的关键是使用比例编辑模式(OKEY)并不断调整影响半径。如果您已经完成了从土丘到山脉教程,那么本节内容将很熟悉。一个主要的区别是,在本教程中,我建议旋转3D视图,以便您能够很好地看到所有三个轴,而不是只在正面或侧面视图中进行操作。使用比例编辑工具会影响多个顶点,并且在进行更改时能够看到更改的效果非常有帮助。

  • 继续并打开比例编辑,可以通过按OKEY或单击3D视图标题上的灰色圆环来实现。您必须处于编辑模式才能选择此选项。启用比例编辑后,圆环将变为橙色,并且旁边会出现一个新的下拉菜单,其中包含不同的衰减样式。如果尚未选择“平滑”,请选择它。

  • 选择任何随机顶点并抓取它(GKEY)。您将看到一个围绕您抓取的顶点的圆环。这是影响半径,只有此圆环内的顶点受变换影响。如果您在正交视图(正面、侧面或顶部)中执行此操作,那么这将很明显。但是,如果您处于可以查看所有三个轴的视图中,那么它可能不太明显。
The first mountain created using proportional editing.
使用比例编辑创建的第一座山。
  • 将移动限制在z轴上(ZKEY)并将顶点向上平移。在整个过程中,您希望沿z轴平移。如果您开始在x或y方向上移动顶点,则会出现失真,并且会出现一些难看的折痕。尝试调整影响半径的大小(鼠标滚轮)以获得更陡峭或更平缓的丘陵。
A nice group of hills
一组漂亮的丘陵
  • 使用不同的半径和不同的高度重复此过程,直到您得到一个体面的山脉,但要留出一块平坦的区域。我们将在第二个教程中稍后使用该区域。不要害怕偶尔将一些顶点向下平移而不是向上平移,以在丘陵中创建凹陷。请记住,多样性是生活的调味品。自然界中很少有东西是天然的几何形状,因此混合您的丘陵,尤其要确保它们重叠。您在自然界中看到过孤立的、光滑的丘陵吗?

注意:您会注意到在我的屏幕截图中,我已经减小了网格的大小。为了简单起见,我不希望用山脉填充整个100x100的网格,因为这可能需要一些时间。

  • 现在,看起来不错!现在,我们的丘陵到目前为止存在一个问题。它们太光滑了!让我们稍微使它们变得粗糙一点。将衰减类型从“平滑”更改为“随机”。

Rougher hills look more realistic
更粗糙的丘陵看起来更逼真
  • 选择单个顶点并抓取它(GKEY)。我们仍然在z轴上工作,使用ZKEY限制您的移动。现在,当您上下移动顶点时,影响半径内的所有顶点也将移动,但会使用随机衰减而不是平滑衰减。只需要一点移动就可以获得我们想要的效果,所以大约0.5-1.0就足够了。混合使用不同顶点向上和向下移动,再次为场景添加变化。
  • 当您将景观调整到您喜欢的样子后,在“编辑”选项卡(F9)下添加一个细分曲面修改器,并选择Catmull-Clark。这将稍微平滑您的地形,使其不至于太粗糙。考虑到您已经拥有的顶点数量,除非您真的希望它非常平滑,否则没有必要将渲染值设置为高于1,但我并不推荐这样做。陆地应该是有凹凸和岩石的,我们只是不希望出现尖锐的边缘。

新手提示:如果您使用随机衰减创建山脉,并且山峰过于突出:在编辑模式下,使用圆形选择工具选择山峰周围区域的点,然后按WKEY并单击“平滑”直到您满意为止(或者,在“编辑”选项卡(F9)中,单击“平滑”按钮)。

实用技巧比例编辑可以同时用于多个顶点。如果您尝试创建悬崖或河床,这将特别有用。使用框选工具(BKEY)选择一组顶点,然后平移它们。请记住,影响半径的大小决定了每个顶点周围有多少顶点会受到影响。因此,假设您的半径为5个顶点,这意味着您所选区域周围的所有5个顶点都会受到影响。

地形纹理

[编辑 | 编辑源代码]

好了!我们现在有一些非常漂亮的丘陵了!但是还有一些问题。丘陵不应该呈现白色,也不应该闪闪发光!让我们稍微装饰一下它们,好吗?

  • 选择您的景观后,转到着色面板(F5)并添加一个新的材质。
  • 在“着色器”选项卡下,将“镜面反射”值降低到0。
  • 转到“纹理”选项卡(F6)并添加一个新的纹理。
  • 在“纹理类型”下拉菜单中,选择“图像”。
  • 将出现两个新的选项卡。在“图像”选项卡中,单击“加载”并从文件中加载纹理。
  • 在“映射图像”选项卡中,增加“X重复”和“Y重复”。根据您地形的尺寸和使用的图像(请使用可以平铺的图像),这些值会有所不同。在本教程中,我为每个值使用了10。

新手提示:渲染场景(F12)以查看应用的纹理)(新手提示:更快捷的方法是使用渲染预览工具,3D视图窗口 - 渲染预览,视图 -> 渲染预览或按SHIFT -> PKEY)(新手提示:您也可以在“视口着色”菜单中选择“着色”,该菜单位于您选择对象模式或编辑模式的位置旁边,以查看山上的纹理而无需渲染,但这会降低计算机速度,这可能会使编辑变得令人沮丧。因此,只有在您想查看纹理外观时才执行此操作,然后切换回“实体”以进行更多编辑。)

  • 最后,让我们处理一下灯光。如果尚未进入,请进入对象模式(TAB)并选择灯光。选择“着色”面板(F5),然后单击看起来像灯泡的图标以显示“灯光”按钮。将灯光更改为太阳,并将能量提高到1.5。如果您的地形很大,您可能还需要增加距离,或者如果不喜欢灯光的指向方向,可以旋转它。从灯光发出的虚线表示方向。尝试使用不同的角度和能量值来调整太阳,以在场景中获得不同时间段的光照效果。

好了,就是这样!现在你的景观已经添加了一些漂亮的草地纹理,让它看起来更真实了一些。如果你对你的景观不满意,可以调整山丘的大小和粗糙度,但不要过于挑剔。自然不应该看起来过于雕琢。请记住,除非你渲染图像,否则你不会注意到纹理的变化。

注意 如果你使用了建议的 100x100 网格,渲染过程可能会花费一些时间,具体取决于你的系统,尤其是在启用了光线追踪和阴影的情况下。要提高渲染速度,请转到场景面板 (F10),并在渲染下禁用显示阴影光线的按钮。另外请注意,由于我们创建了一些山丘,你的摄像机现在可能在地形下方。切换到摄像机视图 (NUM0) 以查看摄像机看到的画面,并在需要时移动它。

下次我们将探索如何使用纹理模板让景观看起来更好!

读者贡献

[编辑 | 编辑源代码]

我主要这样做是为了让山丘看起来更好,更真实。阅读这些内容比实际操作花费的时间更多。我正在为初学者澄清一切。让你的山丘变成这样只需要额外大约 8 分钟。

  1. 实现此目标的第一步是从默认灯光切换到太阳光。
    1. 点击默认灯光,然后转到着色选项卡 (F5)。
    2. 点击太阳
    3. 使用 Ctrl Alt R 进入旋转操纵器模式
    4. 旋转太阳,直到虚线位于你想要的位置。那里将是主要能量来源。如果你想要实现一天中的不同时间,效果会不同。你可以使用dist.来增大或减小距离。我保持默认值 30。
  2. 现在让我们创建更逼真、更淡的阳光。
    1. 在 RGB 滑块中,将 R 设置为 1,G 设置为 1,B 设置为 .848。
    2. 将能量设置为 1.63。这在一天中的不同时间都会有所不同,所以心里要想着你的东西南北,一天中的时间越晚,太阳越往西,颜色越偏橙色。对于中午,将能量保持在 1.63 并将太阳放在山丘正上方。我将我的设置设置为清晨。
  3. 现在点击地球仪图片来更改背景。
  4. 点击混合按钮以获得更逼真的天空。在世界工具栏的左侧,将是天空下方的颜色,右侧滑块将是天空顶部的颜色。自然,顶部应该比底部更深蓝色。
    1. 这在一天中的不同时间会有所不同。所以你可能想要一些不同的东西。但我使用以下设置将我的设置为早晨。
      • 将左侧 HoRGB 滑块设置为 0.50、0.68 和 1。
      • 将右侧 ZeRGB 滑块设置为 0.11、0.25 和 0.66。
  5. 现在是纹理。这个不会因一天中的时间而改变,但会因你想要的景观类型而改变。
  6. 从谷歌或艺术家网站下载一个漂亮的纹理。
    1. 回到 Blender,转到纹理按钮 (F6)。
    2. 点击添加新纹理。
    3. 为纹理类型选择图像
    4. 转到图像工具栏,并上传纹理。Blender 只能允许你从 Blender 文档中上传,除非你点击屏幕左上角的上下箭头并选择你保存纹理(或图片)的位置。
    5. 上传后,X 和 Y 重复次数应该比较小,比如 6x6,这样变化就不会很明显。在预览中看起来会很丑,但在包裹之后会看起来不错。
  7. 渲染,1 分钟后,瞧!那些是好看的山丘!
  8. 现在向你的朋友炫耀吧!

新手提示:如果你处于对象模式,需要选择你的景观才能更改纹理,否则它会更改世界纹理。

读者贡献 2

[编辑 | 编辑源代码]

如果你使用纹理来“凹凸贴图”山脉,可以获得更好的效果。

  1. F5直到进入材质按钮。
  2. 选择映射到选项卡。
  3. 点击一次NorCol选项也必须保持选中状态)。
  4. Nor滑块滑动到 5 或更大(可能因纹理大小和重复选项而异)。
  5. 使用F12渲染。

读者贡献 3

[编辑 | 编辑源代码]

除了手动创建山丘模型之外,还可以使用像L3DT这样的程序。它使用各种算法生成非常详细和逼真的地形高度图。它还允许你以比 Blender 更直观的方式编辑它们。在使用 L3DT 创建高度图后,可以将其导出为 .x 文件,然后导入到 Blender 中。新手提示:可以通过转到文件->导入->DirectX(.x)来完成此操作。然后你就可以获得一个非常逼真的景观网格,并且工作量大大减少。(新手问题:我想使用 Unity3d 游戏引擎来创建游戏,但我想使用 Blender 来创建景观。为了创建巨大的世界景观,有没有什么提示?因为 Unity 将任何网格限制为 65000 个顶点,而我已经用我的方法超出了这个限制,并且还没有完成一半的地图。)

-如果你使用的是 unity 3d,只需将其用于地形。下载地形工具箱,然后使用 .raw 图像。或者直接从那里生成并保存。顺便说一句,65,000 个顶点已经足够了。如果你坚持使用 Blender 来创建地形,那么首先建模一个高多边形地形,包含大约 100 万+ 个顶点。烘焙法线贴图和环境光遮蔽,将你的地形简化到大约 10k 或任何看起来适合游戏的内容。然后,你就得到了一个看起来像 100 万个顶点的 10k 地形。但说实话,与 unity 相比,Blender 的地形纹理处理很麻烦。无论如何,希望这有帮助。

华夏公益教科书