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

GUItextures и ломающийся OnMouseOver()

СообщениеДобавлено: 06 май 2012, 03:51
gnoblin
Столкнулся с тем, что если перед мышкой есть GUITexture - то не проходят OnMouse() события по коллайдеру на который мы мышку наводим.

Возможно тут вопрос можно решить еще какими-то способами,
но я решил применить старый добрый хак с Execution Order :).

Синтаксис:
Используется csharp
public GameObject crosshair_part1;
    public GameObject crosshair_part2;
    public void ToggleCrossHair_Hack(bool on)
    {
        crosshair_part1.SetActiveRecursively(on);
        crosshair_part2.SetActiveRecursively(on);
    }

    void Update()
    {
        ToggleCrossHair_Hack(true);
    }

    void OnPostRender()
    {
        ToggleCrossHair_Hack(false);
    }


Тут мы отрубаем гуитекстуры после того как отрендерился текущий кадр, в следующем кадре отрабатывают OnMouse() события (т.к. гуитекстуры выключены), в Update() врубаем гуитекстуры - они рендерятся нормально.

Re: GUItextures и ломающийся OnMouseOver()

СообщениеДобавлено: 06 май 2012, 16:53
Neodrop
Раньше (как минимум) ещё и через LensFlare не проходило. Потому что и то и это - физические объекты