1. 程式人生 > 其它 >Unity VR和Unity UGUI共用一個事件系統

Unity VR和Unity UGUI共用一個事件系統

技術標籤: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"); } } }