Unity RayCasting无效

时间:2014-06-14 12:43:22

标签: c# unity3d game-physics raycasting

我先解释一下我的场景。所以我有一个角色由用户在2D场景中控制,附加了以下组件,它们是RigidBody2D,BoxCollider2D和脚附近的圆形碰撞器。现在我有另一个类似(相同的组件)字符我正在尝试编程AI所以我使用以下代码来这样做

void Update(){
   eyeRay();
}
bool eyeRay ()
{
    Ray eye = new Ray (Head.transform.position, transform.localScale.x == 1 ? Vector3.right : -1 * Vector3.right);
    RaycastHit Hit;
    Debug.Log ("0");
    if (Physics.Raycast (eye, out Hit, Mathf.Infinity)) {
        Debug.Log ("1");
        if (Hit.collider.gameObject.tag == "Player") {
            Debug.Log ("2");
            transform.position = Vector3.Lerp (transform.position, Hit.collider.transform.position, 0.5f);
            return true;
        }
        return false;
    }
    return false;
}

它甚至不是印刷" 1"仅在控制台中" 0" 我也试过

RaycastHit2D Hit = Physics2D.RayCast(new Vector2(Head.transform.position.x, Head.transform.position.y), transform.localScale.x == 1 ? Vector2.right : -1 * Vector2.right, Screen.width/2f);
if(Hit.Collider.tag == "Player"){
    //Do Something
}

但是什么都没发生

0 个答案:

没有答案