UE4游戏开发系列教程之————world machine地编教程

写在前面,我写这篇教程原因还是今年的年假太长了~~~自己在家闲着无聊,就继续做我“独立3A游戏”的梦。我从一开始的unity3d转战到了UE4.因为Unity3D的表现力实在有待提高,而且面对大场景会显得十分疲累。所以我转战到了UE4。但是摆在我面前的第一个难题就是——如何创建地图,或者说如何高效的创建出一个比较真实的地图场景?我也是小白,我也不懂,在网上查询了大量教程之后,大部分都是推荐使用World Machine来制作地形!但是网上关于world machine的教程比较少,要么就是收费的。(当然如果你英语比较好,又能够翻墙的话,你可以尝试上外网找寻相关资料)没办法,最后我还是只能乖乖掏钱去某虎网买了会员和课程。在我学习完了课程之后我决定把我的笔记分享出来(其实我也准备通过录屏,剪辑之后分享出来的。但是进度比较慢。不过小伙伴们如果不着急,我可以慢慢地更新出来)。以上就是我想告诉大家的。希望大家一起学习,一起进步!

这里先给大家展示一张图片——
在这里插入图片描述

UE4创建地形总体分为两种——
1、通过UE4自带的地形编辑器来创建地形
2、通过从外部导入的高度图自动创建对应地形
其实无论是自己制作样例还是正式的工程项目都应该主要依靠第二种导入外部的高度图来创建地形。毕竟如果依赖于UE4自带的地形编辑器来创建地形的话,可能仅仅是使用地形刷去微调地形的工作量都十分的巨大!所以这里还是推荐大家先学习如何通过高度图创建地形。

关于高度图,我想说的就是,高度图其实就是一张2D的、颜色介于黑白之间(具体点是,颜色介于黑白之间的254中渐变灰度)构成的图片,高度图反应了地形的高度变化。

更进一步的定义或者说补充,我也不清楚了。我估计可能学习地理、水文等专业的小伙伴才了解更多吧。但是对于这篇教程所需要的基础知识而言,我们仅仅需要知道高度图可以用来做什么,以及我们用什么来制作高度图就可以了!

下面我就介绍一下如何制作高度图。注意一下,这里说的是如何制作高度图,而不是如何制作地形!这两者还是有很大区别的!高度图,说白了就是一张灰度图片而已!我们电脑、手机等电子设备看到的图片,往往都是三通道——RGB,再加上一条alpha通道构成的。其实就是基本的三原色加上灰度通道而已。就这一点,我感觉中国的道家还是非常有先见之明的——古语道“一生二,二生三,三生万物”。我们通过学习可以知道,光的颜色大体可以视为由红黄蓝三色按照不同比例构成的。真的就是“三生万物”!没有光,我们如何看见万物?切回正题——我们的高度图其实就相当于剔除了RGB三色之后仅保留住Alpha通道后的地形图片。所以任何支持通道筛选的软件都可以制作高度图。但是不要忘记,高度图的另外一个基本概念就是地形。所以我们一定是拿一张现有的地形图来制作高度图。那么我们的问题就可以更进一步——如何制作地形图?

如何制作地形图?这里大体可以分为两类方法——1、人工创作的模拟地形;2、取自现实世界的真实地形。


关于取自真实世界的地形,大多是通过卫星拍摄。这里就像扯一扯了:
DLR、ASTER GDEM、SRTM3、GMTED2010等一些字符是什么?它们有代表了怎样的含义?
先总体的介绍一下——DLR、ASTER GDEM、SRTM3、GMTED2010都是全球数字高程数据的不同种类。

DLR
在这里插入图片描述
DLR其实是德语中——德国宇航中心的简称。2000年,NASA(美国国家航天局)发射的奋进号正在开展SRTM任务(航天飞机雷达地形测绘任务)时,德国人也在用自己的雷达测绘地形。DLR(德国宇航中心)相较于美国(美国使用的时C波段)使用了精度更高的雷达测试(X波段)。虽然X波段相较于C波段的精度更高,但是DLR测绘地形,仅仅相当于呈网状覆盖地球(这样会由很多空隙)。这些测绘数据在当时还未对民众开放,直到2011年DLR才对外开放测绘数据的下载(感兴趣的小伙伴可以前往此处查看—— https://centaurus.caf.dlr.de:8443/eoweb-ng/index2.html。需要翻墙。如果翻墙依旧不可以打开,则可能网页被重定向或者不再提供对外访问权限!)。DLR的特点是精度高(官方声称为1角秒。不知道角秒的小伙伴可以自行百度)

ASTER GDEM
在这里插入图片描述
ASTER GDEM指的是先进星载热发射和反射辐射仪全球数字高程模型。是NASA的Terra卫星的观测结果绘制而成的高程数据。覆盖范围为北纬83°到南纬83°之间的陆地。精度约为30m。2009年开放数据下载。

SRTM3
在这里插入图片描述
SRTM即航天飞机雷达测绘使命。其实本是NASA和NIMA(美国国防部国家测绘局)联合德国、意大利航天机构进行的一次联合测绘任务。主要依赖于NASA发射的奋进号卫星进行数据测绘。而SRTM就是奋进号上搭载的测绘系统。这一次的测绘任务从2000年2月11日到22日结束。范围从北纬60°至南纬60°。SRTM系统收集的数据约10万亿字节,在历时2年的数据处理之后,被制成了数字地形高程模型(DEM)。SRTM3中的3指的是更新版本,目前最新版本是4.1。

GDEMV2
上面提到的ASTER GDEM其实全称应该叫做——ASTER GDEMV1。可以简称为GDEM-V1。是GDEM的第一代版本。GDEM介绍过,和SRTM一样,都是数字高程DEM。由于ASTER GDEMV1原始数据中局部地区数据存在异常。于是通过采用更加先进的算法对V1版本的GDEM影像进行改进处理,提高分辨精度和高程精度后得到了GDEMV2数据。

GMTED2010

GMTED2010和前面几种高程数据不同的是前面几种都是NASA参与的,而GMTED2010则是有USGS(美国地质调查局)和NGA(美国国家地理空间情报局)负责参与的。

关于高程数据类型的介绍暂时就到这里。不一定有用,但是并不是所有的学习、积累、经历都必须要求它有用、有价值。就像大家都在追求人生的意义,但是人生本没有意义,追求人生意义的过程才有意义一样。对我而言,学习本身就有意义。希望能和大家共勉。

继续之前的话题。我们知道了创建地形图一是可以人工创建模拟的地形图,二是可以通过下载真实地形图来实现。两种方式我都会介绍的,但是我首先会介绍第一种(人工创建的方式)。

想要通过第一种方式创建地形图,我们需要一些提前准备:
1.world machine
2.有道翻译(可选)
3.笔记软件(可选)

下面和我一起来学习如何利用world machine制作一个四面环山、中间有湖泊的地形吧!
需要提前说明的是——实现方式有很多,初学的小伙伴可以没必要纠结完美,主要以熟悉为主。而我也会尽量的、尽我可能的介绍的详细一些。
首先打开world machine软件。打开后如图(可能还会有一些已有的信息提示,直接忽略并删除掉就可以了)。

在这里插入图片描述

下面我再对上面的截图做一个详细介绍,截图如下:

在这里插入图片描述
下面开始进行具体的制作过程介绍:
1.放置Advanced perlin生成器

在这里插入图片描述
我们通过左上角的3D预览图可以看到现在的地形并不是我们希望看到的“四面环山、中间湖泊”的地形。

2.点击“2D预览按钮”

在这里插入图片描述
我们需要通过移动蓝色透明区域来选中坑洞地形。所以我们首先应该选中移动模式按钮。然后将鼠标移动到蓝色透明区域上,这时鼠标箭头会编程移动模式鼠标。然后拖拽即可。
在这里插入图片描述
通过移动蓝色透明区域到黄色位置,我们看到左上角3D预览图发现我们的地形中间就是一个坑洞。这个时候如果四周有山脉的话,我们的地形就大体敲定了。在这里插入图片描述
3.我们可以点击3D预览按钮查看当前选中地形的3D视图
在这里插入图片描述
我们看到山脉不够高,地形过于平坦!所以我们应该想办法提升地形高度!我们点击设备视图按钮,查看当前设备视图。
在这里插入图片描述
双击Advanced perlin设备,可以查看“柏林噪声”属性选项板。
在这里插入图片描述
在这个选项板中可以对当前柏林噪声地形进行属性修改。但是在当前视图下进行修改,只能通过左上角的3D预览图查看地形变化,3D预览图太小了,很不容易观察。所以我们可以切回3D视图。
在这里插入图片描述
然后双击左侧的Advanced perlin选项。打开属性板。
在这里插入图片描述
这个时候我们可以通过大图查看到我们修改对应属性后的地形变化效果。
在这里插入图片描述
我们想要四周环山的效果,首先就应该调整高度和陡峭度。具体调整的数值,需要自己根据视图变化的效果自行判断。下面就是我调整后的地形效果:
在这里插入图片描述

4.点击绿色圆圈(build)进行构建。构建后的效果如下。我发现效果很不错!所以就不调整了。各位可以根据自己点击构建按钮后的效果选择是否需要再次调整

在这里插入图片描述
5.但是我们发现四周还是有空缺的位置没有围绕起来。所以我们切回到设备视图,添加layout generator。
在这里插入图片描述
然后选中layout generator并进入2D预览模式,发现完全是一个无地形的状态。
在这里插入图片描述
这样并不适合我们添加山脉,因为无法看到地形变化。
6.所以我们可以再次切回到设备模式下添加组合设备,将Advanced perlin和Layout Generator组合起来。
在这里插入图片描述
选中combiner设备后进入2D预览模式
在这里插入图片描述
然后进入layout generator界面
在这里插入图片描述
然后选择lines,通过点击鼠标在空缺位置添加山脉
在这里插入图片描述
添加完成之后,我们发现,这样的山脉太宽了,中间的洼地都快消失了。所以我们选中图中所有lines。并双击进入属性调整界面
在这里插入图片描述
调整适当之后,我们发现左边又缺了一个口。所以继续通过lines画线补上山脉堵住缺口。
在这里插入图片描述
但是我们注意到,山脉的最大高度只有2000多米。而且无法继续增加了。我们可以通过世界和分辨率设置进行最大高度的变更。
即点击这个按钮在这里插入图片描述,然后选择到通用设置(general setup)
在这里插入图片描述
然后更改Maximum——最大高度,我们可以更改高度为5120m。然后顺便点击build resolution选项框,更改分辨率为2048*2048。

7.返回3D视图。查看更改效果。如果比较合适,可以再次点击build按钮进行构建!

在这里插入图片描述
点击构建后的效果如下图
在这里插入图片描述

8.这个时候大体的地貌就完成创建了。但是这个坑哇地并不像是一个湖泊。我们可以通过构建梯田效果来实现更加真实的效果。但是比较特殊的是梯田效果的输入有点特殊——不仅需要combiner后的完整地形作为输入,同时也需要通过layout generator创建一块特定区域来指定梯田效果作用范围。并以mask输入给梯田设备。即,结构如下图

在这里插入图片描述
搭建了该流程后,我们应该先选中梯田(Terrace)设备,然后进入2D预览模式,选择我们第二个放置的layout generator设备。
在这里插入图片描述
这一次不再选择lines,而应该选择polygon(多边形)在这里插入图片描述来创建梯田作用范围。如图
在这里插入图片描述
当创建完成之后,再次进入3D预览模式,进行查看。
在这里插入图片描述
我们再次点击build查看完成效果。
在这里插入图片描述
我们感觉现在的梯田效果的阶梯太多了。我们可以双击左侧的Terrace来更改梯田属性。
在这里插入图片描述

接下来的一些操作,大致是一些重复性质的操作,通过不断的调整山脉高度、陡峭度、影响范围等数值,并且不断的进入3D视图查看更改后的效果,以及点击build按钮查看构建之后的终极效果来不断的调整自己的地形。请各位小伙伴耐下性子去做这样的操作,因为这样才可以让你慢慢熟悉world machine的基本操作——如advanced perlin、terrace等设备属性的调整。这一重复性质的步骤我就不在本篇图文教程中进行展示了,感兴趣的小伙伴可以等待我的配套视频教程!

最终,我调整的效果如下图:

在这里插入图片描述

9.下一步,我们可以通过添加侵蚀效果来对当前地形进行侵蚀操作,让该地形的尖锐程度下降,让地形更加的真实或者说更加的合适。

在这里插入图片描述
我们可以在3D视图中对Erosion设备的属性进行更改,来更改地形效果
在这里插入图片描述
我的更改如下
在这里插入图片描述
但是build构建后的效果不尽如人意
在这里插入图片描述
所以我尝试再次更改Erision设置
在这里插入图片描述
并进行build构建操作,构建后的效果如图
在这里插入图片描述
此时,地形的整体效果才算过得去。当然这仅仅是我作为一个业余小白的角度认为的标准。各位小伙伴可以尝试追求更加真实的地形效果,如果有小伙伴对地编有研究的,如果恰好发现我教程中的错误之处,可以通过微信或QQ私聊我。

10.最后,我添加了一个output设备,对当前的地形进行输出,当然处于UE4开发游戏的需求,我们需要输出的是高度图。
在这里插入图片描述
我们在此界面通过双击height output,进行输出设置。
在这里插入图片描述
我需要提醒大家一句——UE4目前仅仅支持的是——PNG和RAW格式的高度图。所以我这里直接选择了PNG格式,然后通过点击set按钮设置保存路径以及保存文件的名称。
在这里插入图片描述
最后点击write output to disk!按钮等待输出即可!
在这里插入图片描述
当我们看到了XXXwritten successfully!则表明输出成功。我们可以前往保存路径下查看保存的图片。

在这里插入图片描述
放大后如图
在这里插入图片描述

最后的最后,我们打开UE4创建地形,并选择从文件创建。选择我们刚刚保存的高度图即可!

在这里插入图片描述
请大家不要擅自更改该界面的其他属性,大家仅仅需要保持导入高度图之后的默认设置即可!然后点击导入。
如果大家在导入后发现地形比较平整的话,可以更改该设置在这里插入图片描述中的Z轴值。
在这里插入图片描述
至此。我们创建的地形、高度图就完成了。并且也能够成功导入到UE4中了。

总结
1.请小伙伴耐下性子,做地形就必须不断的做出细致的调整。
2.请大家理性,UE4虽然能够从自带的地形编辑器来创建地形,但是这种操作方式过于繁琐,在实际的工程项目开发过程中还是得依赖于world machine之类专业的地形制作工具来创建地形。
3.我没有对所有的选项做说明的原因还是因为我并不像把教程做成软件使用说明书。其实想一想也能明白——即便我们有一份十分完善的工具书,相信我们大部分人也还是耐不下性子学习完,更不用谈通过学习说明书来掌握地形创建的技巧了!
4.请不要轻视地形编辑的重要性,在众多3A大作游戏项目中,地编往往都会作为单独的职位存在!由此可见地编的重要性。
5.我介绍过了,这只是制作高度图的其中一个方法——还有一种方法就是通过我之前提到的各种卫星测绘数据,选择真实的地图测绘数据来创建地形图。我之前就曾从地理空间数据网下载了高淳地区的GDEMV2数据来制作真实的高淳地理地形。
6.这只是我准备的系列教程的基础部分,可以说是入门部分吧。地形创建之后如何创建材质、如何让地形更加真实、如何对现有地形的细节作出调整、如何添加草地、树木等植被、如何让草具有动态效果都还需要慢慢的学习。希望大家能够多多支持我、关注我。也希望大家看到最后可以关注一下我的微信公众号——”默默努力的菜鸟“。
7.文中部分知识点摘自—— http://blog.sina.com.cn/s/blog_720f853f01014hub.html

我是小戴,坚持为各位伙伴带来真实的技术教程和心得分享。希望大家多多关注我的微信公众号“默默努力的菜鸟”和我的CSDN博客!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值