如何找到具有一定距离或半径的游戏对象?

时间:2018-03-06 02:51:39

标签: c# unity3d distance

有谁知道我应该编辑我的代码以找到一定距离内的游戏对象?目前我的代码可以找到名为" points"但它没有一定的限制,它开始找到游戏对象。 我想要的结果是,在一个线渲染器与另一个游戏对象发生碰撞之后,该线的一个点附加/捕捉到标尺的一个点,但是当它靠近"时,需要激活/开始捕捉。点"

继承我目前的代码:

  public Transform GetClosestpoints (Transform[] points)
  {
    bestTarget = null;
    //OppPointOfBestTarget = null;
    float closestDistanceSqr = Mathf.Infinity;
    Vector3 currentPosition = gObjDL.mousePos;
    foreach (Transform potentialTarget in points) 
    {
        Vector3 directionToTarget = potentialTarget.position - currentPosition;
        float dSqrToTarget = directionToTarget.sqrMagnitude;

        if (dSqrToTarget < closestDistanceSqr) 
        {
            if (dSqrToTarget > distance) 
            {
                closestDistanceSqr = dSqrToTarget;
                bestTarget = potentialTarget;
                Debug.Log (bestTarget);
            }
        }

    }
        return bestTarget;
}

0 个答案:

没有答案