上文记录了在unity中使用WorldComposer下载,本文继续整理一篇Unity资源商店上比较优质的地形插件“Real World Terrain”。
附上商店上官网链接:
https://assetstore.unity.com/packages/tools/terrain/real-world-terrain-8752
90刀的价格似乎有点小贵,但是这个插件用的溜,可以极大的节省我们的开发时间,有需要的朋友可以支持下正版。
还记得早几年前下载地形数据比较麻烦。而现在,用Unity游戏引擎配上商店上开发者的各种地形插件,极大地方便了我们的开发效率。
商店上提供的截图
作者把颜色P得有点过了。
本次使用的插件版本为
Real World Terrainv4.2.1.1
Unity 2018.2.14f1 (64-bit)
插件导入后,Unity 菜单栏/Infinity Code / Real World Terrain / Open Real World Terrain
本插件虽然贵,但是并没有WorldComposer 插件那么直观可视化。我们下载地形数据需要配合地图来获取坐标。比如BingMap,MapBox等。
本文建议使用Mapbox。Mapbox需要申请Token。
附上官网链接:https://www.mapbox.com/,也可以直接在面板上点击Get Mapbox API key,如果链接打不开,建议上个免费梯子。
插件面板:
都是一些比较简单易懂的功能。
命名地形名称,Copy粘贴上需要下载的地图数据的左上角,右下角的坐标点的经纬度。这一步需要在地图上找到我们的研发需求,建议使用BingMap。
地形的结果可以选择Unity地形格式,模型网格格式,Gaia Stamp格式,Raw File高度图格式,按需选择。
我需要下载Terrain,所以选择了Terrain格式。
地形数量:X和Y,默认是1,如果需要多块地形拼接,可以输入其他的数字,比如2048的地形可以划分为 4块1024的地形,则输入 X=2 ;Y=2 。
Scale 缩放值默认为1。
elevation range海拔高度范围:默认是自动检测,做真实飞行模拟建议使用真实的世界值。
是否产生水面下地形\可设置最大水深度,深度形状等
高度图分辨率设置
细节度分辨率设置
每个Patch分辨率设置
控制图分辨率设置
基本图的分辨率设置
海拔高度的提供平台:
这里我测试了几个其他平台均有报错情况,具体原因可能有网络原因,可能有地图提供方的原因,也有可能是Key的原因。
最后使用Mapbox成功下载了地图数据。
Texture 地图贴图
提供方建议使用Virtual BingMaps, 或者Mapbox,这两天的测试,Bingmap的贴图颜色比MapBox的稍微绿一点,可能是不同的季节采集数据的原因,但是同样存在的问题是,中国的地图数据,18M级别以上的地图贴图大部分地方都出现接缝,色块不统一的现象。这个问题你会在实际操作中遇到不要怀疑是不是下载数据不完整,或者你到官网上打开地图的地球模式,放大到一定级别就能发现。
贴图的大小根据实际需要设置,并非越大越好。
格式选用JPG、PNG都可以,JPG可以更少的占用硬盘空间。
最大的级别可以先选自动,然后根据提示的,选择一个稍微大一些,或者直接用自动的级别。当然选择的数值越大,贴图的清晰度越高,下载的数据也就越大越耗时!
Generate buildings 产生建筑:勾选上地图会根据实际的建筑生成一些预制的白模,没有贴图纹理。或者自己添加一些自己制作的预制物体,添加到面板下面的Add New item上。自己制作的预制物需要添加碰撞器。
Generate rivers 创建河流 。
Generate trees 创建树木:设置树木的预制体,支持SpeedTree。
Generate grass 创建草:可设置密度,设置草的预制体。
设置面板
内存使用情况
清除缓存
设置完成之后就可以点击 Start按钮开始下载了。
如果参数设置合理,Real World Terrain下载速度非常快也就几分钟的功夫,设置几十秒;但是如果设置不合理,比如分辨率设置过高,地图的级别设置过大,反应会巨慢,甚至会卡到你怀疑人生。
这个是下载下来的美国的一个叫GreatSaltLake的地形数据。
分辨率以及清晰度可以根据研发需要设置,但是最高不能超过官方所能提供的数据。
下载的地形文件和贴图文件默认存放在RWT_Result文件夹内按时间命名的文件夹内。
至此本文完!