Unity中使用WorldComposer生成真实世界地形经验笔记

本文主要是介绍Unity中使用WorldComposer生成真实世界地形经验笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们先来了解一下WorldComposer:

官方放出的宣传图

宽大的地形

飞机飞在空中有足够的真实世界既视感

整个地球数据地形,任你选取

用来做飞行模拟再适合不过

还记得当年玩微软的P3D飞行模拟器,那个叫震撼!

再看这个插件的地形感觉,嗯~也不赖!感兴趣的可以官网上了解更多!

 

开始我的使用经验分享:

 

我的插件的选用:

WorldComposer v1.6.1

Unity 2018.2.14f1 (64-bit) 

 

使用插件前,首先需要去申请一个BingMapKey,有微软账户的可以直接登录。没有的话需要注册一个。

链接: https://www.bingmapsportal.com/

 

在申请Key时注意Application 方式要选择Windows Application,WorldComposer帮助文档有介绍。因为BingMap的数据下载会受限,每个Key每24小时不能超过 50.000 transactions数据下载,其他的方式总共只能下载125.000 transactions,不过不怕麻烦可以通过创建多个Key来满足我们的需求。

 

 

另外我建议打开Preview for 所有的Key,因为很多地图平台数据没有包含完整的中国、日本、和韩国,因为国内主要还是下载我们国内的地图数据来生成地形。

 

WorldComposer的界面介绍:

菜单栏:

Map Parameter/地图参数设置:BingMapKey,地图类型,经纬度信息等;

Regions/地区:选取采集数据,当前你的十字坐标所指的位置,这个可在后面的处理中重命名。Rengios,Areas都可以创建多个,一个Rengios下面理论上可以创建无限个Areas。

点击右侧的“E”按钮进行region和areas的名称的重命名;

按住shift后点击,设置areas的中心位置;

点击pick对地图的框选位置进行确定,选定你需要选取的地区;

Heightmap Export/高度图导出:用来导出你选定区域的高程图。

上方完成设置之后即可导出高程图点选“Export Heightmap”完成对所选地图的高程图的导出,根据你选择图区的大小不同,导出的时间不同;可设置导出图的保存位置等参数。这里要注意提示BingKey的流量限制。

Image Export/导出图片:用来导出你所建立的地形的颜色贴图。

其主要的功能作用是将所选区的卫星地区导出并处理成贴图的形式,在后续进行Create Terrain的时候自动在模型上赋值。

Image Editor/贴图编辑:用来对颜色贴图增加地图光照阴影的编辑功能,主要作用是可以增加地图的三维立体感,可以不设置。

Setting/设置:基础以及一些界面设置。

Create terrain/创建地形:

前述步骤完成之后点击菜单栏激活“Create Terrain”按钮,即可进入创建模块,点击创建,等待进度即可自动在场景中完成地形的创建。

Help/帮助文档

Update/更新

地图数据下载顺序如上图所示:

  1. 设置地区,区域;

  2. 设置高度图参数,分辨率级别;导出高度,图默认会存储在项目的Asset文件夹内;

  3. 设置颜色贴图参数,分辨率级别等,导出颜色贴图,默认存储在项目的Asset文件夹内;

在导出高度图的时候我们要注意BingMap流量,你申请的Key够不够用?

不同细节级别的地图数据上下对比

值得提醒的是,颜色贴图经过我的测试并不是设置分辨率越高越好,因为国内的地图数据,很多开放的地图平台在到一定精准度的级别下,数据都不会很完整。就如上方,一片一片的色块,拼接,这不是你的插件出问题了,你可以到Bing地图官网上去查看地图的细节,一样是这种情况。

所以,建议选择适当的分辨率就可以了,至于细节,我们后期可以考虑用TerrainComposer去改善。

 

 

    4.直接创建地形,设置一下基本信息,路径,高度图,Generate Mip Map等。

 

如你对地形的阴影有需求,可以在图片编辑这里,Combined Raw Image Editor。

OK,大功告成,在场景中可以看到自己动手生产的真实数据地形啦!

不过在近景细节度上面,还有欠缺,我们可以用TerrainComposer 提高近景的地形细节,后续我会继续更新相关技术文章!

至此全文完!

这篇关于Unity中使用WorldComposer生成真实世界地形经验笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/498169

相关文章

C语言中联合体union的使用

本文编辑整理自: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=179471 一、前言 “联合体”(union)与“结构体”(struct)有一些相似之处。但两者有本质上的不同。在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量

[职场] 护理专业简历怎么写 #经验分享#微信

护理专业简历怎么写   很多想成为一名护理方面的从业者,但是又不知道应该怎么制作一份简历,现在这里分享了一份护理方面的简历模板供大家参考。   蓝山山   年龄:24   号码:12345678910   地址:上海市 邮箱:jianli@jianli.com   教育背景   时间:2011-09到2015-06   学校:蓝山大学   专业:护理学   学历:本科

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

AssetBundle学习笔记

AssetBundle是unity自定义的资源格式,通过调用引擎的资源打包接口对资源进行打包成.assetbundle格式的资源包。本文介绍了AssetBundle的生成,使用,加载,卸载以及Unity资源更新的一个基本步骤。 目录 1.定义: 2.AssetBundle的生成: 1)设置AssetBundle包的属性——通过编辑器界面 补充:分组策略 2)调用引擎接口API

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

Lipowerline5.0 雷达电力应用软件下载使用

1.配网数据处理分析 针对配网线路点云数据,优化了分类算法,支持杆塔、导线、交跨线、建筑物、地面点和其他线路的自动分类;一键生成危险点报告和交跨报告;还能生成点云数据采集航线和自主巡检航线。 获取软件安装包联系邮箱:2895356150@qq.com,资源源于网络,本介绍用于学习使用,如有侵权请您联系删除! 2.新增快速版,简洁易上手 支持快速版和专业版切换使用,快速版界面简洁,保留主

如何免费的去使用connectedpapers?

免费使用connectedpapers 1. 打开谷歌浏览器2. 按住ctrl+shift+N,进入无痕模式3. 不需要登录(也就是访客模式)4. 两次用完,关闭无痕模式(继续重复步骤 2 - 4) 1. 打开谷歌浏览器 2. 按住ctrl+shift+N,进入无痕模式 输入网址:https://www.connectedpapers.com/ 3. 不需要登录(也就是

《offer来了》第二章学习笔记

1.集合 Java四种集合:List、Queue、Set和Map 1.1.List:可重复 有序的Collection ArrayList: 基于数组实现,增删慢,查询快,线程不安全 Vector: 基于数组实现,增删慢,查询快,线程安全 LinkedList: 基于双向链实现,增删快,查询慢,线程不安全 1.2.Queue:队列 ArrayBlockingQueue:

[职场] 公务员的利弊分析 #知识分享#经验分享#其他

公务员的利弊分析     公务员作为一种稳定的职业选择,一直备受人们的关注。然而,就像任何其他职业一样,公务员职位也有其利与弊。本文将对公务员的利弊进行分析,帮助读者更好地了解这一职业的特点。 利: 1. 稳定的职业:公务员职位通常具有较高的稳定性,一旦进入公务员队伍,往往可以享受到稳定的工作环境和薪资待遇。这对于那些追求稳定的人来说,是一个很大的优势。 2. 薪资福利优厚:公务员的薪资和

android 带与不带logo的二维码生成

该代码基于ZXing项目,这个网上能下载得到。 定义的控件以及属性: public static final int SCAN_CODE = 1;private ImageView iv;private EditText et;private Button qr_btn,add_logo;private Bitmap logo,bitmap,bmp; //logo图标private st