10.Unity2018中的地形——Terrain(一)

10.Unity2018中的地形——Terrain(一),第1张

Terrain 是Unity自带的地形编辑器工具。

在 Hierarchy面板 中右键-> 3D Object -> Terrain ,创建一个Terrain(地形)

同时会在 Assets 文件夹中创建一个默认名为 New Terrain 的文件, 用于保存 Terrain 的相关数据 。后缀为 ". asset "

Settings 是 Terrain 的参数设置面板。

由于每一次改变地形,unity 默认都会自动生成光照贴图,导致性能减弱。

可以在 windows 菜单-> rendering ->lighting setting ->取消勾选最下面的 auto Generate

使用:

从调色板 Brushes 中选择一个画笔,然后单击左键并将其拖动到 Terrain对象上 以 提高地形高度 直到最大高度 Terrain Height 。在按住Shift键的同时单击左键并拖动以 降低地形高度 降低地形高度直到0。

使用:

使用“ Set Height” 工具绘画时,单击左键在 Terrain 上拖动,它将降低当前高于 目标高度 的地形区域,并升高低于 目标高度 的区域。

注意:

作用:

“ Smooth Height” 工具可以平均附近区域,使景观柔和并减少突然变化的外观;它不会显着提高或降低地形高度。

使用包含高频图案的画笔绘画后,平滑处理特别有用。这些笔刷图案倾向于将尖锐的锯齿状边缘引入到景观中,但是您可以使用 “Smooth Height” 工具来软化该粗糙度。

使用:

使用 “ Smooth Height” 工具绘画时,单击左键在 Terrain 上拖动,

作用:

使用 “Paint Texture” 工具将诸如草,雪或沙之类的 纹理 添加到 Terrain 中。它使我们可以将平铺纹理的区域直接绘制到 Terrain上 。在 Inspector 面板中,单击“ 绘制地形” 图标,然后选择从 “ Brushes ” 工具列表中 绘制纹理

使用:

注意:

作用:

选择工具后,Unity会突出显示所选“地形”图块周围的区域,指示您可以在其中放置新的连接图块的空间。

使用:

左键单击区域,将自动生成一片空白的 Terrain ,并在 Assets 文件夹中生成一个新的 assets 文件。

注意:

作用:

如果使用 “Brushes” 来创建自定义画笔,该 “纹理” 表示具有特定地质特征(例如山丘)的高度图,则 Stamp Terrain 很有用。

使用:

1.使用 Stamp Terrain 工具,您可以选择现有的画笔并单击以选用它。在 Terrain 中每次单击都会引发 Terrain 中出现所选笔刷形状的 “ Stamp Height ” 。要将 Stamp Height 乘以百分比,请移动 Opacity 滑块以更改其值。例如, Stamp Height 为200, Opacity 为50%,则将每个 Stamp 的高度设置为100。

2. Max <–>Add 让我们选择是将 Stamp 的高度添加到地形的当前高度,还是取两者中的最大高度。

作用:

将树刷入到 Terrain 里面。

添加树:

点击 Edit Trees … ->Add Tree ->选择

使用:

Settings:

作用:

一个 地形 可能有草丛和其他小物体(例如岩石)。用 Paint Details 来刷细节。

添加细节物体和草:

最初,地形没有可用的草或细节。在检查器中,单击“ 编辑细节”按钮以显示带有“ 添加草纹理”和“ 添加细节网格”选项的菜单。单击任一选项以打开一个窗口,您可以在其中选择资产以添加到地形以进行绘制。

使用:

添加窗口:

注意:

注意:

打开Mudbox

在开始之前,我们需要设置一些变量。

调整FOV视角层的FOV参数来匹配你Unity上面的摄像机FOV值。这样就能得到一个好点的刻度调整以及均衡的视角。

将工具的雕刻值方向只设置Y。由于高度地图指示存储高度信息,我们只需要多边形向上在Y轴移动。

为雕刻工具选择一个好的邮戳图片。可以在制作完基本形状后再做。Bw_cliffFace.tif邮戳在岩石表面运行起来效果不错。

开始雕刻地形,直到你满意为止。

完成之后,你的地形如下图所示:

现在要导出我们地形的高度地图来在机器世界里使用!

为此我们导入简单的屏幕OBJ文件到场景中来映射高多边地形数据到平、低多边的平面。

之后到UV和地图->提取纹理地图->新 *** 作

选择移置地图并调整下面的参数:

目标模型->添加低多边平面

源模型->添加高多边平面地形

搜索距离->用最佳猜想试验,如果在高度地图中得到非人工的则进行调整

图片尺寸->我们用2048*2048分辨率的

基本文件名字->选择你的文件名字并选择TIFF16位整数

点击提取来制作你的高度地图

制作过程完毕后,你会得到一个2048*2048的图片。

添加地形过程详细信息

我们打开机器世界并设置一些节点。

处理各种参数的时候最好将分辨率设为一个较低的值(513*513),这样会加速构建时间。一旦你觉得地形不错了你就可以将分辨率增加到2049*2049.

你可以在项目设置菜单里更改分辨率。

机器世界里对每个节点都做了很多预设。只需要尝试不同设置即可。

创建一个新的高度地图

首先我们需要生成器列表中的一个文件输入节点来加载我们的高度地图。双击节点选择你的TIF高度地图文件。你可以谅解不同规格的节点到文件输出模块的高度域

最终谅解一输出列表中的高度输出节点到你更改环节中最后的一个模块的高度域输出即可

双击高度输出节点并选择一个文件名字

选择RAW16作为文件格式,将之前的.r16文件后缀名改为.raw

点击写出到硬盘!

创建一个splat地图

Splat地图是根据其水平高度来对地形进行纹理化的。

因此我必须将地形的高度信息分离到单独的通道来获取器RGBA值。我们会使用选择器列表中的选择坡度和选择高度模块。

我们的节点如下所示:

坡度选择器可以只选择来自给定高度的数据来配置地形数据。

如果最大值和最小值跟其他坡度选择器重叠,你就会获得最好的结果。

由于选择器只有一个高度位域输出,我们必须使用合并器列表中的通道合并,然后连接高度位域到通道合并器输入的红、绿、蓝。

最后我们连接来自输出列表中的位图输出节点来将我们的splat地图导出为一个16位PNG图片。

创建标准地图

标准地图是为地形添加结构的一种很好的方式。为了导出一个标准地图我们需要从转换列表中添加一个标准地图制作节点,然后将其连接到一个位图输出。

创建颜色地图

最后我们需要用转换列表中的颜色节点来制作一个颜色地图。

详细情况是我们将通过选择器列表中的选择顶点节点来导出一个曲率地图。

为了导出图片文件我们需要连接一个高度输出和一个位图输出节点。

我们将用Photoshop将曲率地图和颜色地图合并。不断对透明度和混合模式进行调整直到你满意为止。

如果你想更深入的了解使用Mudbox创建地形,在CryEngine和UDK里有一个好的更加深入的教程。

下面第二部分处理将地图导入到CryEngine,我们将在下面的环节中涵盖Unity的部分。

你处理完毕后应该会得到四个图片和一个高度地图的源数据文件。

重要:为了用ats颜色地图终极地形渐变器,你序号将它们在Y轴翻转。

将地形和地图导入到Unity中

打开Unity并将地图添加到项目里。

额外需要添加至少四个纹理,以便在地形中使用。

你可以从Unity素材商店里花费10美金购买ats颜色地图终极地形渐变器,我们要用到它的,它可是物超所值哦。

用通过游戏对象->创建其他->地形来创建一个新的地形。

到你新创建地形对象的设置列表中,设置高度地图的分辨率为2049,并点击导入源按钮啦导入你的高度地形的源文件。

使用ats颜色地图顶级地形渐变器

启动ats颜色地图渐变器有点复杂,但是包里的文档还是不错的。

创建好地形最好的方法就是遵循手册里的步骤。无论如何,下面是建立渐变器的大概步骤。

至少添加四个地形纹理到地形着色工具中

在地形中添加CustomTerrainScriptColorMapUltraU4.cs脚本

在添加颜色地图脚本的时候,设定颜色地图并用地形上的新编辑器处理标准地图

添加splatmap然后选择应用splatd地图

为防止处理splat地图格式时候出错,你可以在Unity里更改图片文件的导入格式

通过添加地形纹理的标准地图到槽里来创建合并的标准地图,然后导出新生成的合并标准地图

为每个纹理无缝混合生成平均的颜色

创建一个新材料的地形        

现在你应该在Unity里得到了一个不错的地形了。

如果在使用ats Colormap UL TRA地形渐变器过程中有什么问题,请查看包里的用户手册。里面很详细,你应该可以解决任何问题。

下面是我们刚才创建的地形。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/8019732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存