地理原点及GeoreferenceScript脚本的使用

本页面提供Georeference Script脚本使用方法,以及该组件如何结合地理原点使用。基于Georeference Script脚本,可以将Unity对象移动到指定经纬度和指定高度处。

地理原点及GeoreferenceScript脚本的使用

在现实中,重力方向是指向球心的,但在Unity场景中,重力方向为-y。因此,通过设置将球面会进行旋转,使得该经纬度位置的垂直方向同Unity y轴方向平行,用于保证在该经纬度局部区域可以正常使用Unity对象、天气效果、编辑模式相机操作等。GeoreferenceScript脚本作用是放置对象到指定的经纬度坐标位置。

注意:是否设置地理原点都不会影响GeoreferenceScript脚本放置对象。当放置的对象带有重力的时候,考虑到Unity重力方向为-y,所以需要结合地理原点使用,这样放置的对象会有正确的重力效果。

获取经纬度及设置地理原点

  1. 选择球面场景后,会显示“经度、纬度、高度”设置,输入对应的经纬度值后,进行地理原点设置。
  2. 如数据某个位置作为主要观察位置,需要在区域内拾取经纬度坐标用于设置地理原点。首先加载数据并运行场景,之后使用坐标查询功能,查询数据某位置的经纬度,将查询到坐标值保存。
  3. 停止运行,然后将获取到的经纬度值填写到控件面板的经纬度位置。
  4. 再次运行后,发现调整Unity的光照后,不仅调整更加方便,效果也有了提升。

输入经纬度放置对象

注意:

  • 是否设置地理原点都不会影响GeoreferenceScript脚本放置对象。当放置的对象带有重力的时候,考虑到Unity重力方向为-y,所以需要结合地理原点使用,这样放置的对象会有正确的重力效果。
  1. 首先创建一个对象到场景中,之后在其属性面板中点击Add Component,搜索GeoreferenceScript脚本,之后选择添加该脚本。
  2. 添加完成后,将之前获取到的经纬度输入GeoreferenceScript脚本框中,点击更新位置。
  3. 之后点击运行并定位到该图层,可看到对象已经成功放置到指定的经纬度位置。

拖放对象到场景

除了给定经纬度放置对象,也可以拖放对象到场景,通过GeoreferenceScript脚本自动获取经纬度。

  1. 首先也需要设置地理原点。之后打开编辑模式并定位到图层。
  2. 创建一个对象到场景中,并在其属性面板中点击Add Component,搜索GeoreferenceScript脚本,之后选择添加该脚本。
  3. 添加完脚本后可以看到放置的对象已经自动填充经纬度位置,之后可以将对象移动位置,且位置信息会实时更新。运行后,可以看到对象在指定位置。

场景应用

在实际应用过程中,同一个区域可能会载很多个对象,且每个存在不同的缩放、旋转等情况,那此种情况如何更高效使用GeoreferenceScript脚本呢?

可以在场景创建一个空对象,并关联GeoreferenceScript脚本,放置到指定位置;之后将模型对象挂到空对象中,模型对象单独设置位置、角度、缩放;完成上述步骤后运行场景,可以查看到模型都在场景中,之后根据显示结果再进行模型位置微调等。