统一检测物体3d

时间:2015-07-23 00:36:16

标签: c# unity3d

我有一个名为pacman的对象,我想知道他左右是否有另一个对象(coockies)。 例如,我的pacman位置是(-55,5,-55),我想知道是否有(-45,5,-55)的cookie,右边10个单位。 我使用了Physics.OverlapSphere,但它给了我pacman周围的所有饼干,我想分别检查一下然后再左。

2 个答案:

答案 0 :(得分:1)

您应该从Collider返回时全程Physics.OverlapSphere,并查看collider.transform.position

答案 1 :(得分:0)

试试这种方式。

public void Detect(GameObject pacman, float radius) {

        Vector3 pacmanPosition = pacman.transform.position;

        var hitColliders = Physics.OverlapSphere(pacmanPosition, radius);

        for (var i = 0; i < hitColliders.Length; i++) {
            if(hitColliders[i].gameObject.transform.position.x == (pacmanPosition.x-10)){
                //TODO
            }
            else if(hitColliders[i].gameObject.transform.position.x == (pacmanPosition.x+10)){
                //TODO
            }
        }
    }