bla*_*ole 2 c# collision-detection unity-game-engine collider
public static bool BoxCast(Vector3 center,
Vector3 halfExtents,
Vector3 direction,
Quaternion orientation = Quaternion.identity,
float maxDistance = Mathf.Infinity,
...);
Run Code Online (Sandbox Code Playgroud)
这些是 Unity3D 中盒播的参数。我对参数的用途感到困惑,maxDistance
因为我们已经用参数绘制了方框halfExtents
。如果我不想移动盒子怎么办?即,我想画一个盒子并获取有关其内部内容的信息。我不想移动盒子。使用maxDistance = 0
似乎没有任何作用,因为它没有记录任何点击。使用maxDistance > 0
会移动盒子,我希望避免这种情况。
如何使用 BoxCast(),避免移动盒子?
有Physics.OverlapBox
,也许这更适合您的需求?
public static Collider[] OverlapBox(Vector3 center, Vector3 halfExtents,
Quaternion orientation = Quaternion.identity,
int layerMask = AllLayers,
QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);
Run Code Online (Sandbox Code Playgroud)
https://docs.unity3d.com/ScriptReference/Physics.OverlapBox.html
或者即使Physics.CheckBox
你不关心盒子里到底有什么。
https://docs.unity3d.com/ScriptReference/Physics.CheckBox.html