Unity 通过鼠标点击与射线检测实现与物体交互

在Unity中,我们可以通过鼠标点击发送射线,然后检测碰撞信息,从而达到与物体交互的功能。

比如我要实现鼠标点击到某个物体时,激发隐藏任务,具体可以这样写:

  public GameObject HideTasks1;

    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit))
            {
                // 射线与物体相交,处理鼠标点击事件
                GameObject clickedObject = hit.collider.gameObject;
                if(clickedObject.tag =="HideTasks1")
                {
                    HideTasks1.SetActive(true);
                }               
            }
        }
    }

效果如下:

Unity 通过鼠标点击与射线检测实现与物体交互

你可能感兴趣的:(unity,交互,游戏引擎,c#)