练习 - 构建风电场地形
可使用 Unity Prefab 创建、配置 GameObject,并将其存储为可重复使用的项目资产。 动态地形 Prefab 资产使用 Microsoft Maps SDK 生成并连接到并应地图 3D 服务。 首先,打开我们为你纳入的空白 MainScene,以便在整个学习路径中进行开发。
打开 MainScene 场景
从 GitHub 下载并解压缩压缩文件夹,并记下提取项目的文件夹位置。
在“项目”面板中,选择“资产”>“场景”>“MainScene”。 任何“保存”操作都将覆盖原始“MainScene”,这是此学习路径的目的所在。
注意
“资产”>“场景”>“CompletedScene”中的场景包含最终场景的配置、脚本和相关指针。 提供此场景以提供表示所有组件和资产的完整场景,但它仍然需要进一步配置,然后才能使用(viz、Maps SDK 和 Azure 服务)。
我们将在此模块中探讨静态地图和动态地图的优点。 首先添加静态地形,然后添加地图 SDK 地形。
添加静态地形
在“项目”面板中,打开“资产”>“艺术品”>“Prefab”文件夹。
将名为“静态地形”的地形模型拖到场景编辑器窗口中。
在左侧的“层次结构”面板中选择“静态地形”对象后,右侧的“检查器”窗口将显示“转换”部分下的“位置”、“旋转”和“缩放”参数。 使用以下“位置”坐标定位地形:X=-1.25,Y=-0.59,Z=2。 这些坐标在启动时将“静态地形”置于用户的左前方。
使用“文件”>“保存”菜单选项保存场景。
你现在已加载静态地形 Prefab 并可在应用中使用它。 接下来,可以将必应地图动态地形加载到场景中。
创建必应地图帐户
如果你尚未创建必应地图帐户,则需要创建一个。 你将使用该帐户访问 Microsoft 必应地图开发人员中心,以生成“开发人员密钥”,该密钥是一种用于向地图服务进行身份验证的代码。 构建的应用会使用你的必应地图帐户连接到该地图服务。
创建开发人员密钥时,请务必选择“基本”作为密钥类型,选择“Windows 应用程序”作为“应用程序类型”。
添加动态地形并配置必应地图数据馈送
在“项目”面板中,选择“资产”>“艺术品”>“Prefab”>“必应地图设计”Prefab,将其拖到“层次结构”面板。
在“层次结构”面板中选择 Prefab 的新实例,然后展开“检查器”中的“地图会话”组件。 输入在上一部分中获得的“开发人员密钥”。
注意
可能需要选择层次结构中的另一项,然后再次选择“必应地图”才能刷新。
在“检查器”窗口中展开“地图呈现器(脚本)”组件,然后设置以下“位置”和“地图布局”设置:
属性 值 纬度 36.69 经度 -78.36 缩放级别 15.5 属性 值 地图形状 柱状 局部地图半径 1 局部基高度 0.3 在“检查器”中展开“转换”组件,然后使用以下“位置”坐标验证地图的位置:X=0,Y= 0.7,Z=2。 这会并排放置两个地图。
使用“文件”>“保存”菜单选项保存场景。 如果系统提示,请将场景保存到“Scenes”文件夹中。
在场景中,应同时加载静态和动态地形。 使用鼠标和/或键盘在场景中导航。
注意
在“场景”面板中导航时,你可能会发现你感兴趣的资产设置在难以处理的位置。 若要返回焦点并缩放到特定资产,请在“层次结构”面板中选择对象,然后单击“场景”窗口。 接下来,按 Shift+F,场景将居中并放大所选资产。 可以通过双击“层次结构”面板中的资产来实现相同的效果。
选择“播放”按钮并导航到“游戏”面板。
可以使用 MRTK 输入模拟服务在“游戏”面板中导航。 尽管可以使用标准键盘和鼠标实现许多导航技术,但使用滚轮鼠标进行导航更简单。
观察静态地形和动态地形之间的任何差异(例如,必应地图地形中的无限地形和等高线与静态地形中分辨率较高的图像)。
删除静态地形
- 右键单击“层次结构”面板中的静态地形,然后选择“删除”。
- 使用“文件”>“保存”菜单选项保存场景。 这将覆盖原始场景。