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

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

Сообщение gnoblin 06 май 2012, 03:51

Столкнулся с тем, что если перед мышкой есть 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() врубаем гуитекстуры - они рендерятся нормально.
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

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

Сообщение Neodrop 06 май 2012, 16:53

Раньше (как минимум) ещё и через LensFlare не проходило. Потому что и то и это - физические объекты
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт


Вернуться в Tips & Tricks

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2