Unity VR和Unity UGUI共用一個事件系統
阿新 • • 發佈:2021-01-13
技術標籤:VR
VR和Unity UGUI共用一個事件系統
VR點選按鈕通常是通過射線檢測的方式實現,但是有時候我們又想既能滑鼠點選又能VR射線點選應該怎樣做呢,下面就簡單的介紹一下Button的操作。
其實我們可以在UGUI 的button上掛上碰撞體,然後檢測到射線點選的時候,去執行UGUI的點選事件,這樣我們只需要新增碰撞體,事件回撥任然用UGUI的事件監聽,下面是示例程式碼能夠做到一個拋磚引玉的作用。
PointerEventData data = new PointerEventData(EventSystem.current);
private void Update( )
{
Ray ray = new Ray(transform.position,transform.forward);
Debug.DrawLine(transform.position, transform.position+ transform.forward*1000,Color.red);
RaycastHit hit;
if (Physics.Raycast(ray,out hit,1000)) {
//Debug.Log("123");
GameObject currentObj = hit.transform.gameObject;
if (currentObj!=null) {
ExecuteEvents.Execute(currentObj,data, ExecuteEvents.pointerClickHandler);
//Debug.Log("zhixing");
}
}
}