2016-12-29 26 views
0

我正在努力学习一个我心目中的小项目DIS。CreateEntity PDU如何工作?

基本上我已经运行的场景的过程中,它可以用于创建和删除实体接收外部命令。

我有另一个进程,地图,可以发送命令到方案过程中,我也分两种情况:

  • 地图过程创建一个新的实体发送命令,该方案过程接收它并创建新的实体。
  • 地图进程可以创建一个没有外部命令一个新的实体(即,由内部场景逻辑触发)。这个新实体应该在DIS中通知。

DIS CreateEntity PDU有以下字段:

  • OriginatingEntityID
  • ReceivingEntityID

哪些数据应该在这里插入由地图过程中,以发送CreteEntity命令?我如何指定我想创建哪种球员(F15,士兵)?

在第二种情况下,我怎么能通知一个新的球员在没有外部命令产生的?

第二种情况

回答

1

这一切都取决于您的模拟设计。

一个SM(模拟经理 - 你必须创建)将创建EntityIDs,你会在你的CreateEntity PDU使用这些ID。您也可以对它们进行硬编码或创建自己的自定义算法来生成它们。 DIS本身并没有定义一个EntityIDs生成机制,但它确实要求每个EntityID都是唯一的。

话虽这么说,DIS要求所有实体为每5秒(没有太大的DIS V7真因为这延迟,现在每个实体进行管理)至少更新一次。

大多数我知道监控EntityState PDU来检测新对象的DIS兼容的软件。如果一个物体没有被看到超过5秒,你可以认为它已经被破坏。

希望这会有所帮助。