我想要检查两点之间的线段是否落在特定区域或一组向量坐标内?

注意:我在Unity中编程,使用C#脚本。我不能使用射线检测来触发碰撞检测,因为在目标和源之间有很多触发碰撞体,它们会检测到触碰等情况。因此,射线在到达目标之前就已经击中了其他触发器,这是不希望看到的。

我基本上想要实现的是,如果一条向量线段穿过或与特定的一组向量坐标或区域相交,则返回一个布尔值。例如:检测激光在射击目标时是否进入了路径中的雾气。雾气是一个基于触发碰撞体的游戏对象。

编辑:另一个例子是检查一条线是否穿过二维图表中的一个二维方框区域。请记住,我在这里不能使用碰撞检测或射线检测。

不需要代码,只需解释如何实现这个概念的原理。当然,代码片段也是受欢迎的。谢谢!


回答:

[…] 因此,射线在到达目标之前就已经击中了其他触发器,这是不希望看到的。

将它们放置在不同的层上怎么样?你可以为射线指定层掩码。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注