大家好,
本人正在开发一个“范围找到”系统,我试图找出真实的最近目标。
背景
我所试图解决的场景是当我们有大量目标,具有大的界限,包含其他更小的目标。
目前,我的逻辑是“哪个变换中心更接近”。这是一个天然的缺陷。
理想情况下,我需要检测哪个目标的“边缘”更接近,即理论上最接近的目标。
问题
我已经考虑使用物理射线检测。然而,我知道它们很昂贵,而在只有目标逻辑在0.25s内执行一次,且以NetworkObjectId进行打散(从而避免在同一时刻发射所有代理的所有射线)的限制的前提下,我还是觉得应该想出更好的方法来解决这个问题。
我之前尝试过的
我尝试使用Physics.ClosestPointInBounds,但它不支持MeshColliders,而我使用MeshColliders来模拟很多物体。虽然你在这里看到的蓝色方块是可视化调试并不是站点或船的碰撞器。
关注点
物理射线检测能做到这一点。但我担心这方法可能不可扩展,因为我有个n(X)问题,即随着目标数目的增加,射线数也将增多。这会潜在的带来大量射线,这是因为我也使用该系统来跟踪导弹目标(可能有数百个目标).
我担心使用物理射线检测的程度有多大?
我考虑过,当某个对象超过一个特定大小时就使用射线检测,因为它更可能会重叠。但我觉得这就是一个hack。
(最后)这段文章实际上被写在GitHub代码中的issue处。
评论 (0)