检测3D空间中的对象是否在/触摸UI图像的边界

时间:2018-07-15 14:55:25

标签: c# user-interface unity3d

我在屏幕中间设置了方形瞄准镜,这是一个UI图像。 现在,我想检测敌人(在此由粉红色框显示)是否在该瞄准框中,而且,如果只有一部分敌人在瞄准框中,这非常重要。

  • 到目前为止,我发现我无法使用(如果我 错误):
  • 从中屏播放光线,因为那样您就必须直接瞄准 敌人。
  • Boxcast,因为它仅在目标光线投射点处创建框。
  • 从敌人向屏幕发出光线,以检测屏幕上的物体, 因为射线是从敌人中间投射的。
  • Spherecast,因为它不是盒子,因此不可靠。
  • 在框内使用长度很大的盒子对象(带有对撞机) 屏幕,因为在视觉上它不会保留瞄准箱的大小 图片。

我很坚决地使用从屏幕到世界的多个射线广播,这些目标使用的是瞄准箱图像位置的3、6、9、12点以及UI瞄准箱图像的角点和中点。但这似乎是一个不可靠的解决方案。

这是我要实现的目标的图像。

enter image description here

我需要检测aimbox UI图像内的部分框。

0 个答案:

没有答案