练习 - 构建风电场地形

已完成

Unity Prefabs 允许创建、配置和存储 GameObject 作为可重用的项目资产。 动态地形 Prefab 资产是使用 Microsoft 地图 SDK 构建的,并连接到必应地图 3D 服务。 首先,打开我们为你纳入的空白 MainScene,以便在整个学习路径中进行开发

打开 MainScene 场景

  1. 从 GitHub 下载并解压缩压缩文件夹 ,并记下提取项目的文件夹位置。

  2. “项目”面板中,选择 “资源 > 场景 > MainScene”。 任何 保存 操作都会覆盖原始的 MainScene,这是该学习路径的设计目的。

    加载了 3d 场景的 Unity 编辑器的屏幕截图。

    注释

    Assets > Scenes > CompletedScene 中的场景包含指向最终场景的配置、脚本和相关指针。 此场景已提供用于提供表示所有组件和资产的完整场景,但仍需要进一步配置才能使用它(viz.、Maps SDK 和 Azure 服务)。

本模块将探讨静态地图和动态地图的优点。 首先添加静态地形,然后添加地图 SDK 地形。

添加静态地形

  1. 在“项目面板”中,打开 “资产 > 艺术 > 预制件 ”文件夹。

  2. 将名为 “静态地形 ”的地形模型拖到场景编辑器窗口中。

  3. 在左侧的 “层次结构 ”面板中选中“静态地形”对象后,右侧的 检查器 窗口将显示“转换”部分下的 “位置”、“旋转”和“缩放 ”参数。 使用以下 位置 坐标定位地形: X=-1.25Y=-0.59Z=2。 这些坐标在用户启动时将静态地形放在用户前面和左侧。

    Unity 检查器的屏幕截图,其中静态地形预制件已被选择,变换组件显示在视图中。

  4. 使用 “文件 > 保存 ”菜单选项保存场景。

你现在已加载静态地形 Prefab 并可在应用中使用它。 接下来,可以将必应地图动态地形加载到场景中。

创建必应地图帐户

如果尚未创建,则需要 创建必应地图帐户。 你将使用该帐户访问 Microsoft 必应地图开发人员中心,以生成“开发人员密钥”,该密钥是一种用于向地图服务进行身份验证的代码。 生成的应用将使用必应地图帐户连接到该地图服务。

创建开发人员密钥时,请务必选择 “基本 ”作为密钥类型和 Windows 应用程序作为应用程序 类型。

添加动态地形并配置必应地图数据馈送

  1. 在“项目”面板中,选择“资产”>“艺术品”>“Prefab”>“必应地图设计”Prefab,将其拖到“层次结构”面板

  2. “层次结构” 面板中选择 Prefab 的新实例,并在检查器中展开 映射会话 组件。 输入在上一部分中获取的 开发人员密钥

    必应地图设计 Prefab 的屏幕截图,其中选择了地图会话脚本。

    注释

    可能需要在层次结构中选择另一项,然后再次选择 必应地图 进行刷新。

  3. 检查器窗口中展开地图呈现器(脚本)组件,并设置以下位置和地图布局设置:

    资产 价值
    纬度 36.69
    经度 -78.36
    缩放级别 15.5
    资产 价值
    地图形状 圆柱体
    本地地图半径 1
    局部基高度 0.3

    必应地图设计 Prefab 的屏幕截图,其中选择了地图呈现器脚本。

  4. 展开检查器中的转换组件,并使用以下位置坐标验证地图的位置:X=0Y= 0.7Z=2。 这会将两个地图并排放置。

    必应地图设计 Prefab 的屏幕截图,其中选择了转换组件。

  5. 使用 “文件 > 保存 ”菜单选项保存场景。 如果出现提示,请将场景保存在 Scenes 文件夹中。

  6. 在场景中,应同时加载静态和动态地形。 使用鼠标和/或键盘导航场景。

    注释

    在“场景”面板中进行导航时,你可能会发现你关注的资产处于不太合适的位置。 若要返回焦点并缩放到特定资产,请在“层次结构”面板中选择该对象,然后单击“场景”窗口。 接下来,按 Shift+F,场景将居中并放大到所选资产。 通过在“层次结构”面板中双击某个资产,可以实现相同的效果。

  7. 选择 “播放 ”按钮并导航“游戏”面板。

    可以使用 MRTK 输入模拟服务在游戏面板中导航。 尽管可以使用标准键盘和鼠标实现许多导航技术,但滚轮鼠标可以简化导航。

  8. 观察静态地形和动态地形之间的任何差异(例如,必应地图地形中的无限地形和等高线与静态地形中分辨率较高的图像)。

    播放模式下的主场景的屏幕截图,其中静态和必应地图地形并排放置。

删除静态地形

  1. 右键单击“层次结构”面板中的“静态地形”,然后选择“ 删除”。
  2. 使用 “文件 > 保存 ”菜单选项保存场景。 这将覆盖原始场景。