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

Попадание в GUI Rect после трансформации

СообщениеДобавлено: 12 янв 2020, 22:05
Equinty
Есть некоторое GUI матрицу которого я трансформировал

Синтаксис:
Используется csharp
        void OnGUI (){
                GUI.matrix = Matrix4x4.TRS (pos, Quaternion.identity, new Vector3 (zoom, zoom, 1.0f));
                .....
}
 




Как определить попадание мышкой в произвольно заданный Rect(x,y,w,h) после трансформации?
Только ручками? Или может есть какая-нибудь функция типа GUI.matrix.hittorect ? В API что-то не нашел.

Re: Попадание в GUI Rect после трансформации

СообщениеДобавлено: 13 янв 2020, 08:20
IDoNotExist
Координаты мыши нужно перемножить с матрицей "Matrix4x4.MultiplyPoint3x4()"

Re: Попадание в GUI Rect после трансформации

СообщениеДобавлено: 14 янв 2020, 01:55
Equinty
Да идея интересная, возможно пригодиться для слайдера, не знал про это. Интересный способ, но на счет попадания в принципе в моем случаем можно и кнопкой обойтись...

Синтаксис:
Используется csharp
if(GUI.Button(new Rect(x,y,w,h),emptytex)){
     // попали мышкой
}