【发布时间】:2017-12-04 08:49:24
【问题描述】:
我想从 BoxCollider 边界内的向量(原点)投射光线/球体,并限制其 maxDistance 以使其不会超出边界区域,并且仅使用 layerMask 命中此边界内的对象。如何做到这一点?
另外,如果我将其投射为 sphereCast 并且多个对象被击中,我怎么能只获得最接近 sphereCast 中心的对象?找了好久,还是没找到。
编辑#1
虽然我感谢您之前的回答,但我更新了此编辑以更好地阐述我真正想要实现的目标。
当我问你最初的问题时,我仍然不清楚如何解决丢失的 rayCast / sphereCast,我不希望它们最终会丢失,具体取决于目标 / sphereCast 半径的大小。
最终目标是通过定向输入来选择游戏对象并且不会错过。我已经有这个边界框在列表中收集游戏对象的变换,如果我输入说游戏手柄模拟棒给出标准化方向,我想选择那个大方向的那个。但是,我知道如果我只在 rayCast / sphereCast 中执行此操作,我必须对每个输入进行多次转换,以确保不会丢失我认为是不必要的代码块的目标。理想的情况是:如果归一化输入 dir: vector2(1,0, 0),则将选择距原点 2 点钟位置的紫色目标。
【问题讨论】:
标签: unity3d raycasting