射线检测-unity

与最近物体碰撞取得位置:

    private Vector3 GetMousePoint()
    {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;
        bool isCollider = Physics.Raycast(ray, out hit);
        if (isCollider)
        {
            return hit.point;
        }
        return Vector3.zero;
    }

与指定层的物体碰撞:

bool isCollider =Physics.Raycast(ray, out hit, 1000, LayerMask.GetMask("your define"));

另外collider相当于游戏物体了

hit.collider.GetComponent<your script>();
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。