参考官方最新教程:Building Global Scenes with Georeferenced Sublevels – Cesium
- 创建持久关卡(主关卡)
这里一般包含DynamicPawn、CesiumSunSky 和 Cesium World Terrain 全球场景通用的对象。子关卡的创立,官方教程分为了两种 一种将主关卡的内容提取到子关卡上,另一种是创建空的子关卡,往里面添加内容
主关卡部分内容提取到子关卡(第一种方式)
1.选中子关卡包含的对象(这里仿照官方教程选中倾斜摄影的图集,相当于建筑,两个模型)
2.右键将它门打包为关卡实例
3.接受默认设置确定。
4.命名为Danver2.
5.将Daver2的子关卡,通过添加CesiumSubLevel组件,让它变为Cesium的子关卡。
6.CesiumSubLevel组件,它可以设置子关卡原点经纬高,范围半径。在半径内,且有CesiumOriginShift 组件会自动激活子关卡
7.点击“Place Georeference Origin Here”,调整子关卡原点到想去的位置,子关卡将进入“编辑模式”。子关卡外的内容都会变灰。点击Commit Change。将子关卡的改动保存。
三.创建一个空的子关卡往里面添加内容(第二种方式)
1.将Cesium原点放置到想要创建子关卡的经纬度上,这里是伦敦
2.点击CreateSubLevelHere,会自动生成一个子关卡,这里命名为Boston。它自动添加了SubLevel组件
3.点击Edit,对子关卡进行修改。这里同样仿照官方教程加上(倾斜摄影)建筑,加上一些飞机模型。
4.选中子关卡Boston实例,点击Commit。保存修改。
5.子关卡之间移动放置的Actor
- 如果您不小心将对象放置在错误的子关卡中,这将非常有用。
- 要将对象从持久级别移动到子级别,请在持久级别中选择该对象,然后选择“编辑”-“>”剪切“。然后单击子级别的 Level Instance Actor,如果它尚未激活,请将其激活,单击 Edit,然后选择 Edit -> Paste。最后,再次选择 Level Instance Actor,然后单击 Commit 以保存更改。
- 要将对象从子级别移动到永久级别,请选择子级别的 Level Instance Actor,然后单击编辑。选择 Actor,然后选择 Edit -> Cut。再次选择关卡实例 Actor,然后单击提交以保存子关卡。现在,您已返回到持久级别,请选择 Edit -> Paste (粘贴)。
- 在子层之间移动对象有点棘手,因为子层具有不同的坐标系。首先,使用上述过程将对象移动到持久级别。然后,将 CesiumGlobeAnchor 组件添加到 Actor。激活新的子关卡,CesiumGlobeAnchor 组件将保持 Actor 相对于地球的位置。最后,从 Actor 中删除 CesiumGlobeAnchor 组件,并使用上述过程将其移动到新的子级别中。
三.几个新用法的注意事项
- 切换子关卡时,使用眼睛图标激活按钮。修改子关卡,请使用Edit打卡,Commit提交保存。如果用老方法,LeveLs窗口激活修改,很可能导致子关卡无法Commit提交保存。
2. 单击已处于活动状态的子关卡上的“眼睛”图标将停用它。在更改 CesiumGeoreference 之前,请务必停用所有子层级!否则,子关卡中的所有对象都将移动到新位置。
- 此规则的例外情况是 CesiumSubLevel 组件上的“将地理配准原点放置在此处”按钮。此按钮将移动原点,同时保留地球与子关卡中对象之间的关系。