微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Unity中射线的几种

    //只能触发到一个Collider
    Ray ray_One = Camera.main.ScreenPointToRay(Input.mousePosition);
    RaycastHit hit;
    if (Physics.Raycast(ray_One, out (hit)))
    {
        Debug.Log("得到物体" + hit.collider.gameObject.name);
    }
    //能触发到射线碰到的所有物体
    Ray ray_More = Camera.main.ScreenPointToRay(Input.mousePosition);
    RaycastHit[] hitArray = Physics.RaycastAll(ray_More);
    for (int i = 0; i < hitArray.Length; i++)
    {
        Debug.Log("得到物体" + hitArray[i].collider.gameObject.name);
    }
    //以某个点发射球形射线,得到射线碰到的所有物体
    Collider[] ray_circle = Physics.OverlapSphere(transform.position, 3);
    if (ray_circle.Length > 0)
    {
        for (int i = 0; i < ray_circle.Length; i++)
        {
            Debug.Log("得到物体" + ray_circle[i].gameObject.name);
        }
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐