练习 - 放置风力涡轮机资产
你的第一个任务是打开从 GitHub 下载的 Unity 项目。 然后,有两个选项可以开始本模块中的练习:
如果在未完成“在 Unity 中构建混合现实的 3D 场景”模块的情况下开始此模块,或者想要放弃创建场景之前所做的工作:
- 在“项目”面板中,打开“资产”>“场景”>“支持场景”>“ModuleStartScenes”文件夹
- 选择“场景”并将其拖动到“层次结构”面板。 对于本模块,请找到并选择“1_Build3DScenes”。 如果使用此场景,则它包含“Bing Maps.prefab”Prefab。
- 根据之前“在 Unity 中构建混合现实的 3D 场景”模块中的定义配置所需的服务参数(即 Maps SDK)。
如果在完成“在 Unity 中构建混合现实的 3D 场景”模块后开始此模块,并且想要继续使用场景:
- 如果以前构建的场景尚未打开,请选择“文件”>“打开场景”
- 浏览到保存场景的文件夹。 通常,这是根项目文件夹结构中的“资产”>“场景”文件夹。 如果遵循上一模块中的指导,则场景将称为“MainScene”。
注意
“资产”>“场景”>“CompletedScene”包含最终生成的配置、脚本和相关指针。 若要使用它,需要根据“在 Unity 中构建混合现实的 3D 场景”和“使用 Azure 数字孪生和 Unity 将 IoT 数据连接到 Mixed Reality”模块中的步骤配置场景参数(即,Maps SDK 和 Azure 服务)。
将 Prefab 涡轮机资产放置在场景中可实现与资产的交互。
在“静态地形”上放置和配置 prefab 风力涡轮机
在“项目”窗口中打开“资产”>“艺术品”>“Prefab”文件夹。
如果场景中已有地图,请在“层次结构”面板中右键单击该资产,然后选择“删除”来删除资产。 不用担心,这只会将其从场景中删除,而不会从 Unity 项目中删除 Prefab。
将“Static Terrain.prefab”Prefab 拖到“层次结构”面板中以添加此 Prefab。
将名为“Wind Turbine Static Map.prefab”的 Prefab 拖到“场景”窗口中。
在“层次结构”窗口中的“静态地形资产”下对“风力涡轮机的静态地图”进行嵌套,使其成为“静态地形”的子元素。 请确保将其拖到子列表的底部,否则你将收到一条表示“无法重构 Prefab 实例”的消息。 如果收到此消息,请选择“取消”,并将 Prefab 放置在“静态地形”下的子列表的底部。
注意
Unity 使用父子层次结构的概念,或使用父子层次结构对“GameObject/资产”进行分组。 对象可包含继承 GameObject 属性的其他 GameObject。 可以将 GameObject 链接在一起,以帮助移动、缩放或转换 GameObject 的集合。 移动顶级对象或父级 GameObject 时,还会移动所有子级 GameObject。
还可以创建嵌套的父子 GameObject。 所有嵌套的对象仍是原始父 GameObject 或根 GameObject 的后代。 子 Gameobject 继承父 GameObject 的移动和旋转功能。
在风力涡轮机的“检查器”面板中,将“转换”组件中的规模设置为“(0.003, 0.003, 0.003)”,使其大约与地形规模相匹配。
选择“编辑”菜单项下的“移动工具”,并选择“风力涡轮机”(如果尚未选择)。 使用屏幕上的绿色-红-蓝箭头(或中心框)将涡轮机防止在地形的中央。
在涡轮仍然被选中的情况下,选择“编辑”菜单项下的“旋转工具”,并尝试旋转涡轮机。
重复步骤 3 到 8 以在横向上放置更多涡轮机。
使用“文件”>“保存”菜单选项保存场景。
启用 Gizmos
Gizmos 是一种与场景中的 GameObject 相关联的图形覆盖,并显示在场景视图中。 移动工具等内置场景工具是 Gizmos,可以使用纹理或脚本创建自定义 Gizmos。 某些 Gizmo 仅在选择 GameObject 时绘制,而编辑器会绘制其他 Gizmo 且无需考虑选择哪个 GameObject。 需要调整场景的 Gizmo 大小,使场景不会因过大图标/对象而过载。
在“动态地形”上放置和配置 prefab 风力涡轮机
创建必应地图帐户:
- 如果你尚未创建必应地图帐户,则需要创建一个。 你将使用该帐户访问 Microsoft 必应地图开发人员中心,以生成“开发人员密钥”,该密钥是一种用于向地图服务进行身份验证的代码。 为混合现实构建的应用会使用必应地图帐户连接到该地图服务。
创建开发人员密钥时,请务必选择“基本”作为密钥类型,选择“Windows 应用程序”作为“应用程序类型”。
在“项目”窗口中打开“资产”>“艺术品”>“Prefab”文件夹。
如果场景中已有地图,请在“层次结构”面板中右键单击该资产,然后选择“删除”来删除资产。 不用担心,这只会将其从场景中删除,而不会从 Unity 项目中删除 Prefab。
将“Bing Maps Design.prefab”Prefab 拖到“层次结构”面板中以添加此 Prefab。 如有必要,请添加必应地图。
将名为“Wind Turbine Design.prefab”的 Prefab 拖到“场景”窗口中。
在“层次结构”窗口中的“必应地图设计”下对“风力涡轮机设计”进行嵌套,使其成为“必应地图设计”的子元素。 请确保将其拖到子列表的底部,否则你将收到一条表示“无法重构 Prefab 实例”的消息。 如果收到此消息,请选择“取消”,并将 Prefab 放置在“必应地图设计”下的子列表的底部。
在风力涡轮机的“检查器”中,将“转换”组件中的规模设置为“(0.005, 0.005, 0.005)”,使其大约与地形规模相匹配。
选择“编辑”菜单项下的“移动工具”,并选择“风力涡轮机”(如果尚未选择)。 使用屏幕上的绿色-红-蓝箭头(或中心框)将涡轮机防止在地形的中央。
在涡轮仍然被选中的情况下,选择“编辑”菜单项下的“旋转工具”,并尝试旋转涡轮机。
重复步骤 3 到 8 以在横向上放置更多涡轮机。
使用“文件”>“保存”菜单选项保存场景。