在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 通过鼠标点击与射线检测实现与物体交互