Skip to content

多目标组合追踪

TargetTrackCollectionTargetTrackConeEffectTargetTrackPyramidEffect 的组合用法,不提供重复的集合管理类。装备仍由 viewer.createEntity() 创建和管理,两个 Effect 只负责把不同形状的追踪体绑定到已有装备。

组合原则

ts
const radar = viewer.createEntity(radarScenarioEntity)
const vehicle = viewer.createEntity(vehicleScenarioEntity)
const fighter = viewer.createEntity(fighterScenarioEntity)

const vehicleTrack = new TargetTrackConeEffect({
  source: radar,
  target: vehicle,
})

const fighterTrack = new TargetTrackPyramidEffect({
  source: radar,
  target: fighter,
})

vehicleTrack.on(viewer)
fighterTrack.on(viewer)

当多个目标需要同步运动时,推荐由业务场景统一配置 Clock 和目标的 SampledPositionProperty,不要给每个 Effect 分别传入 route。Effect 会读取装备的实时位置,因此可以共享同一条时间轴并同时追踪。

案例内容

  • 固定追踪站、地面车辆和 J16 均通过 viewer.createEntity() 创建。
  • 地面车辆沿低空闭合航路运动,红色圆锥持续追踪车辆。
  • J16 沿高空闭合航路运动,青色四棱锥持续追踪飞机。
  • 两件目标装备通过 TrajectoryComponent 显示各自航迹。
  • Viewer 销毁时分别销毁两个 Effect,再由 EntityManager 回收装备。

TargetTrackConeEffectTargetTrackPyramidEffect 的完整参数分别参见对应 API 文档。