Unity中给3D物体加Button不响应

我知道的解决方案有两种:

第一种
1.给摄像机加代码

void Update ()
 {
       
        RaycastHit hit = new RaycastHit();
        for (int i = 0; i < Input.touchCount; ++i) 
        {
            if (Input.GetTouch(i).phase.Equals(TouchPhase.Began)) 
            {
            Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(i).position);
            if (Physics.Raycast(ray, out hit)) 
           	 {
                hit.transform.gameObject.SendMessage("OnMouseDown");
           	 }
           }
       }
    }

2.然后给要点击的物体加个脚本并添加OnMouse函数;

void OnMouseDown(){
		DoSomething();
	}
	

第二种
这种算是我知道最简单的方法了。

直接给摄像机添加 Physics Raycaster 组件,然后点击3D物体,此时3D物体的Button点击事件就有响应了。
我的Unity版本是2017,其他版本的我不知道有没有这个组件。

你可能感兴趣的:(Unity)