第六章 3D地形搭建(上)

这篇具有很好参考价值的文章主要介绍了第六章 3D地形搭建(上)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Unity 提供了多种工具来创建环境特征,例如地形和植被。要在场景中添加地形 (Terrain) 游戏对象,请从菜单中选择 GameObject > 3D Object > Terrain。此过程也会在 Project 视图中添加相应的地形资源。默认情况,场景中出现一个大型平坦的平面。地形的 Inspector 窗口提供了许多工具,可使用这些工具创建细节化的景观特征。

接下来,我们新建一个名称为TerrainDemo的工程,然后添加Terrain游戏对象。

第六章 3D地形搭建(上)

虽然看起来就是一个平面,但是它对应的Inspector检视视图中属性内容是不一样的。

第六章 3D地形搭建(上)

我们可以看到这个Terrain游戏对象一共有三个组件:TransformTerrainTerrain Collider。其中Transform组件不再介绍,Terrain Collider用于碰撞,暂且不介绍,主要是Terrain组件。该组件下方有五个工具按钮,如下所示:

第六章 3D地形搭建(上)

他们从左到右依次是:Create Neighbor Terrains(创建周边地形),Paint Terrain(绘制地形),Paint Trees(绘制树木),Paint Details(绘制植被)以及最后一个Terrain Settings(地形设置)。我们首先来看最后一个Terrain Settings(地形设置)选项按钮。在这里有一个很重要的参数就是地形的尺寸和高度参数设置。如下图所示:

第六章 3D地形搭建(上)

默认情况下,创建的地形大小为1000*1000米,高度为600米。

接下来我们介绍Create Neighbor Terrains工具按钮,其实就是创建新的地形平面,然后再平面上绘制新的地形,这样做的目的就是通过许多的平面对象来拼凑成一张更大的地形地图。当然,我们也可以设置当前地形平面的大小。但是,我们尽量不要创建大尺寸的地形平面。因为大部分的大地图都是由若干的小地图拼接而成的。这个很容易理解,因为根据当前玩家位置来绘制周围地形地图的性能消耗肯定要小于绘制整个游戏地形地图的性能消耗。

接下来,我们介绍Paint Terrain(绘制地形)这个工具的使用。

第六章 3D地形搭建(上)

这个工具很强大,我们注意到“Stamp Terrain”是一个下拉选择框,其选项如下:

Raise or Lower Terrain   使用画笔工具绘制地形高度。

Paint Holes                    隐藏地形的某些部分(例如山洞等等)。

Paint Texture                  应用表面纹理(例如草皮等等)。

Set Height                      使用数值来调整地形高度。

Smooth Height               使用平滑的方式来改变地形高度(主要绘制地形的细节)。

Stamp Terrain                在当前高度贴图之上标记画笔形状。

大家注意到,不管大家选择那一个选项,下面都会有“Brushes”笔刷的工具供大家使用。Unity在地形绘制的时候,基本上都是通过笔刷来完成的操作的。这笔刷有三个属性可以让大家设置,第一就是形状,第二就是大小,第三就是透明度。熟悉PhotoShop的同学,对于笔刷的使用应该非常了解,Unity也是参考了其他绘图软件的优点,采用了笔刷的方式,让大家所见所得的去“绘制”我们的地形地貌。大家还可根据需要创建具有独特形状或特定参数的自定义画笔,要创建新画笔,请单击 New Brush 按钮,这里不详细介绍了。

在这里,我们选择第一项“Raise or Lower Terrain工具可改变地形区块的高度。

第六章 3D地形搭建(上)

从该选项下面的解释来看,鼠标左键是提升高度,如果同时按下Shift键的话,则是降低高度。接下来,我们就从“Brushes”右边选择一个笔刷的形状,默认大小为82,透明度为10,如下所示:

第六章 3D地形搭建(上)

然后我们将鼠标移动到Scene视图中的地形平面上面。

第六章 3D地形搭建(上)

我们可以看到上图中的效果。它的样子就是我们选择笔刷形状的样子。如果我们觉得笔刷太小,可以使用 Brush Size 滑动条可控制工具来增加笔刷的尺寸。接下来,我们在地形平面上按下鼠标并拖动鼠标就能提高地形高度,如果按住 Shift 键的同时单击并拖动鼠标可降低地形高度(直接在地形平面上降低高度是不行的,必须升高之后才能降低),操作就是这么简单。请大家注意的是,Opacity 滑动条可确定将画笔应用于地形时的强度,Opacity 值为 100 表示将画笔设置为全强度,值越高改变速度越快,幅度越大。大家可以尝试修改不同的值试一试就明白了。如下所示:

第六章 3D地形搭建(上)

想要绘制出起伏平滑的地形,并不是一件容易的事情。如果想要控制绘制地形的高度,可以选择“Set Height”选项。使用 Set Height 工具可将地形上某个区域的高度调整为特定值。使用 Set Height 工具进行绘制时,当前高于目标高度的地形区域会降低,而低于该高度的区域会升高。Set Height 可用于在场景中创建平坦的水平区域。

第六章 3D地形搭建(上)

如果要修改地形的细节,可以选择“Smooth Height”。使用Smooth Height 工具可以将附近区域平均化,柔化景观,并减少突然出现的变化,不会显著升高或降低地形高度。调整 Blur Direction 值以控制要柔化的区域。如果将 Blur Direction 设置为 1,则该工具会柔化地形的外部(凸出)边缘。如果将 Blur Direction 设置为 1,则该工具会柔化地形的内部(凹入)边缘。若要均匀平滑地形的所有部分,请将 Blur Direction 设置为 0Brush Size 值确定要使用的画笔的大小,而 Opacity 值确定该工具对要绘制的区域进行平滑的速度。

第六章 3D地形搭建(上)

接下来介绍Paint Texture选项,使用该功能可以将纹理(如草、雪或沙)添加到地形平面上,其实就是给平面贴一张纹理图片。我们去哪里获取地形纹理贴图呢?我们可以从官方资源商店下载免费的纹理资源包,当然也可以使用上个章节中提到的Unity官方资源包中的“Environment.unitypackage”。我们将其导入到当前项目中,这个过程就不再演示了,大家直接看导入的结果吧。

第六章 3D地形搭建(上)

大家可以在“Standard Assets\Environment\TerrainAssets\SurfaceTextures”目录下找到几张地表纹理图片,我们就使用他们了。使用Paint Texture选项必须先单击 Edit Terrain Layers 按钮以添加地形图层。如下所示:

第六章 3D地形搭建(上)

我们点击“Edit Terrain Layers...”,然后选择“Create Layer...

第六章 3D地形搭建(上)

在弹出的窗口中,Unity自动为我们展示了当前工程中的图片,我们就选择其中的纹理贴图后双击即可。这里我们先选择“SandAlbedo”纹理图片,新增加的“NewLayer”图层。

第六章 3D地形搭建(上)

同时,我们发现在Scene视图中的平面统一被赋予了贴图。

第六章 3D地形搭建(上)

显然,这样的操作效果并不是很好,我们还可以继续添加新的地形纹理贴图图层。这里我们选择“GrassHillAlbedo”的纹理图片,如下所示

第六章 3D地形搭建(上)

新的图层创建完毕后,我们就需要使用画笔工具来进行绘制。我们选择刚刚创建的新地形纹理贴图图层,然后到Scene视图中,将鼠标放置地形平面上。接下来,我们只需要按下鼠标并拖动,就可以将刚刚的纹理绘制到地形平面上面。

第六章 3D地形搭建(上)

这次我们可以换一个笔刷,并且调整笔刷大小以及它的透明度。然后,我们在地形上绘制。

第六章 3D地形搭建(上)

我们发现,新绘制的纹理地貌会覆盖掉旧的纹理地貌。通过这种方式,我们就可以使用多张纹理来绘制各种各样的地貌,并且将这些地貌交会融合在一个地形平面上。如果有专业的美工人员帮助我们制作精美的地形贴图的话,相信一定能够做出非常棒的地貌效果,这里我们还是以入门学习为目的,就不在细致的制作这些地形效果了。

第六章 3D地形搭建(上)

关于地形编辑我们就介绍到这里。文章来源地址https://www.toymoban.com/news/detail-427363.html

到了这里,关于第六章 3D地形搭建(上)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【UnityShader入门精要学习笔记】第六章(2)在Unity中实现光照模型

    本系列为作者学习UnityShader入门精要而作的笔记,内容将包括: 书本中句子照抄 + 个人批注 项目源码 一堆新手会犯的错误 潜在的太监断更,有始无终 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 在标准光照模型中国,环境光和自发光的计算是最简单的。而在

    2024年03月28日
    浏览(51)
  • Unity 2D视角下模拟3D环境和地形

    2D游戏若想模仿3D游戏的环境,一种很好的方案便是“2.5D”。 所谓2.5D,通常的理解是相机固定俯视的游戏视角。在此视角下,人物可以在x、y、z三个轴上移动,如此便能模仿3D游戏的环境,而美术成本要比3D低很多。 2.5D具体实现的方式也分多种,如2D角色+3D场景、3D角色+2D场

    2024年02月06日
    浏览(47)
  • 【Unity地形】使用地形工具创建场景环境-Terrain

      如上图Unity的地形工具可以让我们实现创建复杂、丰富的3D室外环境。 我们创建地形很简单,在层级面板中右键-3Dobject-Terrain 就可以创建一个默认的地形模型!这个模型是Unity内置的。 接下来的地形编辑功能全部集中在这个地形的组件上 可以让用户在黄色线里面点击即可扩

    2024年04月11日
    浏览(40)
  • 【Unity地编】地形系统搭建入门详解

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : UI_Unity专栏 🅰️ GameObject 3D Object Terrain 1.创建邻近地形 直接点击相邻方块即可创建 2.笔刷 笔刷参数详解 Raise or Lower Terrain:提升或降低高

    2024年02月08日
    浏览(35)
  • vue中如何使用 ECharts 提供的多种布局方式,如 grid、grid3D、geo 等

    ECharts提供的多种布局方式 ECharts提供的多种布局方式举例 vue中如何使用ECharts提供的多种布局方式 ECharts提供的多种布局方式,如grid、grid3D和geo,用于控制图表元素在坐标系中的位置和布局。下面是对每种布局方式的简要解释: grid布局:grid布局方式用于将图表元素放置在一

    2024年02月21日
    浏览(38)
  • Unity高级地形工具Gaia Pro - Terrain Scene Generator 2.1.0

    Unity高级地形工具Gaia Pro - Terrain Scene Generator 2.1.0 Gaia Pro 的主要功能: 支持多层地形; 强大的生物群落创建和混合系统; 大规模地理环境制作,支持无损编辑; 支持大规模地理环境串流、剔除和浮点修复; 模块化向导驱动的设计,可根据需要进行增减; 提供地点和季节变化

    2024年02月11日
    浏览(38)
  • 第六章 Linux 磁盘管理

    如果我们想在系统中增加一块硬盘用于数据存取,那么大概需要以下步骤: 目的,一是为了分割硬盘空间方便管理,更重要的是让各个分区都基本独立开来,这样如果某个区发生问题,至少不会直接影响到其他分区。 举例:如果把一块磁盘比喻成一大块地,那么对磁盘进行

    2024年02月04日
    浏览(54)
  • 第六章 游标

    本文内容较短,我们只是为了更容易的实现b树,简单地重构一下。 我们将添加一个Cursor 表示表中对象的位置。Cursor应提供如下几个方面的能力: 在表的开头创建游标 在表的末尾创建游标 访问=游标指向的行 将游标前进到下一行 这是本文我们要实现的能力,后面我们还希望

    2024年02月15日
    浏览(35)
  • Scala(第六章 面向对象)

    1、 Scala的面向对象思想和Java的面向对象思想和概念是一致的。 2、Scala中语法和Java不同,补充了更多的功能。 1)基本语法 1 2)Scala包的三大作用(和Java一样) 1、区分相同名字的类 2、当类很多时,可以很好的管理类 3、控制访问范围 6.1.1 包的命名 1)命名规则 只能包含数

    2024年02月13日
    浏览(46)
  • 数据结构:第六章 图

    ps:图不可以为空图。 对于图中的边,两头必须要有结点。 边集是可以没有的,如上图最右边。 关于无向图和有向图的应用如下 比如你微信里的好友关系,你要和一个人建立关系(也就是图的两个结点连上),你只需要加1次就可以了,也不需要你加我,我还要加你。 具体

    2024年02月14日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包