结合四叉树与基于目标的vector场,在Java?

前言

如果您对设置不感兴趣,请跳至问题本身

我正在研究一个“基于瓦片”(复杂的)自上而下的地牢爬行器

我已经实现了迷宫迷宫系统(比方形更圆,出口是迷宫的中心而不是边缘等),其读取像大型细胞/块,当玩家在相邻细胞时由反应扩散产生的特定房间细节这是可访问的,每当玩家进入范围意义时,都会这样做,探索的房间可以改变。

然后,我实现了一个Barnes-hut四叉树,用于检测实体和可破坏环境

我也有一个以玩家为中心的基于目标的vector场,有数百个小实体使用。 中,小型敌方单位在每个单元格范围外产生的视野范围内,只在当前单元格内产生。 除此之外,boss单位也会产生额外的敌方单位,并且可以在普通视图中这样做,boss单位在地图周围产生,现在我使用D * Litealgorithm来寻find当前玩家单元的path,虽然我以前实现了一个HPA *方法,我仍然有代码。 然后在随机环境的范围内交给vector场。

问题

我想,我的vector场比较庞大,需要缩小

Java中,我可以实现我的vector字段作为我的四叉树的子公司,所以它只生成信息的单位在他们的地区? 如果是这样,一般意义上的情况如何? (或具体如果你真的觉得它)

增编/澄清

反应扩散产生的地形是可破坏的和变化的,迷宫的初始形态不变,不可破坏,大多数初级迷宫中只有9个细胞随时被记忆。 生成的地形被认为是对敌方单位的障碍物,因此vector场在所述区域被破坏之前不会产生所述区域的信息。 我试图在我的四叉树的叶子下面实现类似这样的事情(就像向量场一样,它只覆盖了玩家单元格),我也试过这个作为子节点的一部分。

到目前为止,我还没有能够正确地开展工作,我甚至不确定是否应该这样做,如果它是一个好主意,或者甚至是现实可能的话。 我的下一个猜测是尝试使用四叉树的更新方法来通知实体的向量字段,但我仍然不能完全弄清楚我该怎么做,只是这种模糊的感觉应该工作的具体情况。