【教程】使用Geographic Imager和Adobe Photoshop 3D渲染三维地形场景

在地图制作领域,山体阴影是指一种视觉技术,可以在原本平坦的地图上产生三维地形的错觉。制图人员使用山体阴影将观众的注意力吸引到突出的地形特征上,如山脉、山谷和峡谷。使用虚构的光源和数字高程数据在地图上投射定向光,制图人员可以制造深度错觉,将阴影投射到山谷和低地,并突出山脊线和山峰,就像沐浴在阳光下一样。

以前,这项技术完全是手工完成的,费时费力。现在,借助现代图形软件和数字绘图技术,可以直接在计算机桌面上完成山体阴影和着色。

今天,我们将介绍使用 Geographic Imager 插件在Photoshop中快速生成山体阴影,并进一步介绍如何使用Photoshop 3D创建影像与DEM叠加的3D场景,使影像具有三维效果,同时对场景、环境和光源进行设置,创建具有透视效果的3D地图。

Geographic Imager是基于Adobe Photoshop的一整套强大的工具集,使您在Photoshop中对栅格数据执行打开、编辑、转换、保存等操作时维护其地理空间属性。

除了自动维护栅格数据的空间属性,Geographic Imager还提供了一些Adobe Photoshop原生图像编辑功能之外的专门的空间操作功能,如镶嵌、分块、DEM晕渲、波段管理、高级导入、矢量数据导入导出、脚本批处理等。

首先我们使用Geographic Imager打开DEM数据,借助高级导入工具,我们可以将多个DEM镶嵌到一起,跟影像一样,也可以在导入DEM时执行重采样、投影转换、裁切、DEM拉伸等操作。

高级导入

DEM拉伸方案,我们一般使用自动拉伸的方式:

DEM拉伸方式设置

导入后的DEM显示为16位灰度图像,如下所示:

DEM导入为16位灰度影像

对于普通的二维地图,山体阴影往往作为背景图层,使地图具有三维的视觉效果,这种情况下,我们可以使用Geographic Imager提供的地形晕渲工具,使用虚拟的光源与DEM数据,一键式快速生成山体阴影。

Geogrpahic Imager的地形晕渲工具

使用 Geographic Imager 的最大好处之一是我们保留了 GIS 的所有图像处理和空间参考功能,同时仍然可以访问 Photoshop 提供的大量强大的图像编辑工具。这使我们能够通过结合 Photoshop 3D 的高级 3D 渲染和照明工具,将山体阴影技术应用到新的高度,即生产具有透视效果、叠加影像的3D地图场景。

首先,在执行3D渲染之前,确保使影像与DEM具有相同的地理范围,这里我们可以使用Geographic Imager提供的地理裁切工具,根据DEM(或图像)的地理范围来裁切另一个影像(或DEM)。

裁切到另一个文档范围

然后,执行以下步骤:

1、对DEM生成3D Mesh,具体做法是在Photoshop中选择“从图层新建网格——深度映射到——平面”

从DEM新建3D Mesh

这样,将生成一个3D图层,得到如下所示的效果,需要注意的是,转成3D图层后,数据将不会再有地理信息了。

2、使用photoshop提供的3D相机操作工具,沿Z轴进行缩放可以修改高程夸张,也可以对3D场景进行旋转、平移操作,这样可以制作正射或斜视的地图场景。

调整高程缩放比例
沿X、Y、Z轴对3D模型进行旋转、平移和缩放

3、调整了高程缩放以后,我们可以配置表面属性并将影像叠加应用于我们的3D模型,在Photoshop 3D材质属性面板中,单击基础颜色右侧的下拉列表并选中“替换纹理”,选择与DEM地理范围相同的影像进行叠加。

叠加影像纹理

4、然后在图层面板中,隐藏DEM图层:

隐藏DEM图层

5、最终结果如下所示:

我们还可以设置光源的方向、角度,以控制阴影的方位,也可以添加多个光源:

下面是用这种方法制作的另一个实例,使用USGS生产的Grand Teton国家公园的的一张19世纪地形图和DEM叠加渲染的3D效果图,让老地图焕发出新的活力。

One thought on “【教程】使用Geographic Imager和Adobe Photoshop 3D渲染三维地形场景”

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

您正在使用您的 WordPress.com 账号评论。 注销 /  更改 )

Google photo

您正在使用您的 Google 账号评论。 注销 /  更改 )

Twitter picture

您正在使用您的 Twitter 账号评论。 注销 /  更改 )

Facebook photo

您正在使用您的 Facebook 账号评论。 注销 /  更改 )

Connecting to %s