楼层切换后设备找不到,数字孪生怎样处理隐藏、筛选与定位
定位成功不等于用户看得到设备。应处理权限、楼层、筛选、遮挡和镜头的顺序,并允许结束定位后恢复原阅读状态。
阅读目录5 个章节
点击告警后提示定位成功,设备却看不见,通常需要检查定位链路,而不是再加一次镜头飞行。对象可能位于被隐藏的楼层、被筛选排除、被外壳遮挡,或尚未加载。先确认用户有权访问该对象,再决定怎样显露它。
把定位拆成能判断的步骤
建议按“解析对象—检查权限—加载所在区域—处理楼层与筛选—设置镜头—选中详情”执行。任何一步失败都应说明当前结果,例如对象未映射、区域未加载、权限受限,而不是统一返回“定位成功”。
定位不必总是强制清空筛选。若当前只看一层,目标在二层,可以临时切到目标楼层并说明已变化;若用户锁定某个分析范围,则可先提供目标所在位置,再由用户选择跳转。两种方案应按任务选择,不在不同入口随机使用。
区分隐藏、遮挡与不存在
| 状态 | 可采取的动作 | 不能声称 |
|---|---|---|
| 被楼层或父级隐藏 | 临时显示必要层级 | 仅开子节点就一定可见 |
| 被当前筛选排除 | 临时显露或明确提示 | 对象不在系统中 |
| 被建筑外壳遮挡 | 约定剖切、透明或合适视角 | 坐标正确就已完成任务 |
| 未匹配模型 | 保留列表与位置说明 | 定位到相似名称的设备 |
Cesium Entity 文档说明 show 受父级显示状态影响,isShowing 会考虑祖先实体。这个 API 结果仍不保证模型在视口中或没有遮挡;实际项目还需要画面与点选验证。
列表与场景要指向同一对象
使用稳定对象编号关联选中状态。列表选中设备后,三维高亮、名称、所在楼层和详情必须属于同一设备;从场景点回列表时,也应能找到当前项。若多个设备名称相同,不能只靠名称匹配。
当前事件与设备状态可能不同,定位只回答“去看哪个对象”,不能因为成功找到模型就把告警标成已处理。没有数据权限时,临时显露操作也不能把被禁止访问的详情带出来。
结束定位后怎样回到原任务
进入定位前可保存楼层、筛选、镜头、列表选中项及阅读位置。用户主动返回时恢复这些状态,而不是始终回园区总览。若数据或模型在期间更新,无法恢复的部分应采用合理默认并说明,不恢复已经失效的对象关联。
连续点击两个告警时,第二次目标应成为当前任务;前一次仍在加载的区域或镜头动画不能随后抢回画面。用户手动旋转时,是否取消自动定位也要明确,避免镜头反复被系统拉回。
用被隐藏的目标做验收
准备其他楼层、筛选外、壳体内、同名、未映射和无权限六类目标。逐一检查列表进入、场景进入、取消、重复定位及返回。记录是否真正看见和点到目标,而不只记录坐标或成功提示。
基本验收范围见 数字孪生项目怎么验收,空间与界面协同见 大屏UI设计和三维建模如何协同。数字孪生开发服务 可把定位步骤与恢复规则写为操作脚本,并在目标手机、桌面和实际模型上执行;空场景中的演示不能证明复杂楼层也能找到对象。