Страница 1 из 1

как блокировать рейкаст при проходе через UI ?

СообщениеДобавлено: 11 авг 2018, 17:12
jimmm
Подскажите, как заблокировать рейкаст если касаешься UI элемента?
! EventSystem.current.IsPointerOverGameObject() не работает

Синтаксис:
Используется csharp
void Update () {

        if (Input.touchCount > 0 ) {
               
                Touch touch00zero = Input.GetTouch (0);

                if (touch00zero.phase == TouchPhase.Began  && ! EventSystem.current.IsPointerOverGameObject()) {
                        Ray r = Camera.main.ScreenPointToRay (touch00zero.position);
                        RaycastHit hit;
                        if (Physics.Raycast (r, out hit, 20f)) {
                                if (hit.collider.tag == "rsp") {
                                        pointScale.position = hit.point;
                                        scelObj.transform.parent = pointScale.transform;

                                }
                        }
                }
        }
}
 

Re: как блокировать рейкаст при проходе через UI ?

СообщениеДобавлено: 11 авг 2018, 22:52
Cr0c
Для первого тача, если тач
Синтаксис:
Используется csharp
    public bool CursorOverUI()
    {
#if (UNITY_ANDROID || UNITY_IOS) && (!UNITY_EDITOR)
        int cursorID = Input.GetTouch(0).fingerId;
        return EventSystem.current.IsPointerOverGameObject(cursorID);
#else
        return EventSystem.current.IsPointerOverGameObject();
#endif
    }