Unity3d·射线·射线检测碰撞

做2个Cube,成同意竖直线上
Unity3d·射线·射线检测碰撞_第1张图片

上面的Cube设置刚体RigidBody(会受重力影响掉落)
Unity3d·射线·射线检测碰撞_第2张图片

新建一个C#脚本把它赋给Cube(在上的那个),脚本内的Update方法如下:

    void Update(){
        float distance = 3f;
        Ray ray = new Ray (this.transform.position, Vector3.down);//新建射线
        Debug.DrawRay(ray.origin, ray.direction*distance, Color.green);//画出射线,在Scene窗口里可见,Game窗口里不可见
        RaycastHit hit;
        if (Physics.Raycast (ray, out hit, distance)) {//返回true则表示射线碰撞到物体
            Debug.Log(""+hit.collider.name+","+hit.collider.tag);
            this.GetComponent ().AddForce (Vector3.up * 100f);
        }
    }

运行效果如下:
Unity3d·射线·射线检测碰撞_第3张图片

你可能感兴趣的:(Unity3d)