Интерактив сквозь окно-панель

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Интерактив сквозь окно-панель

Сообщение Ozbend 08 дек 2016, 00:09

Посоветуйте что-нибудь полезное. Имеется сцена с интеррактивом-тач, то есть, что-то можно двигать, трогать и т.д. Иногда появляется информационное окошко с кнопкой ОК. Так вот, когда это окно активно, сквозь него по-прежнему можно взаимодействовать с геймплеем, что плохо. Что в таких случаях делать?
Ozbend
UNIт
 
Сообщения: 147
Зарегистрирован: 26 авг 2016, 20:37

Re: Интерактив сквозь окно-панель

Сообщение Pollux 08 дек 2016, 00:16

Было похожее с UI элементами. Поищите галочку Raycast Target в компонентах.
Изображение
Аватара пользователя
Pollux
UNITрон
 
Сообщения: 276
Зарегистрирован: 01 сен 2016, 22:31

Re: Интерактив сквозь окно-панель

Сообщение Ozbend 08 дек 2016, 00:40

Да, у меня UI. Ни фига, всё равно контактирует, и с галочкой и без.
Ozbend
UNIт
 
Сообщения: 147
Зарегистрирован: 26 авг 2016, 20:37

Re: Интерактив сквозь окно-панель

Сообщение samana 08 дек 2016, 11:15

Уточните как сделана ваша игра? Она полностью на UI? Или это 2d/3d?
Если всё сделано на UI, то во время появления окошка с ОК, можно подложить под него во весь экран прозрачное изображение/кнопку, чтобы клики не действовали на объекты игры.
Если у вас другой случай, то возможно поможет один из трёх вариантов показанных тут https://www.youtube.com/watch?v=EVZiv7DLU6E
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Интерактив сквозь окно-панель

Сообщение Ozbend 08 дек 2016, 13:00

Да, вчера наткнулся на это видео, вечером попробую. У меня 2D. UI только это окно, остальное нет, это платформер.
Ozbend
UNIт
 
Сообщения: 147
Зарегистрирован: 26 авг 2016, 20:37

Re: Интерактив сквозь окно-панель

Сообщение Ozbend 09 дек 2016, 19:01

Блин, видео не помогло. Или всё перестаёт кликаться, или всё кликается. Кто-то ещё сталкивался с этим? По идее многие должны были.
Ozbend
UNIт
 
Сообщения: 147
Зарегистрирован: 26 авг 2016, 20:37

Re: Интерактив сквозь окно-панель

Сообщение JTProjects 09 дек 2016, 22:07

Ни один из способов не сработал? В какие скрипты вы добавляли проверку Event System? (первый способ)
Случайно не добавили в скрипт, обрабатывающий кнопку OK?
Аватара пользователя
JTProjects
UNIт
 
Сообщения: 97
Зарегистрирован: 04 ноя 2016, 14:31

Re: Интерактив сквозь окно-панель

Сообщение Ozbend 10 дек 2016, 02:47

JTProjects писал(а):Ни один из способов не сработал? В какие скрипты вы добавляли проверку Event System? (первый способ)
Случайно не добавили в скрипт, обрабатывающий кнопку OK?


Нет, не добавлял к ОК. Кнопка ОК появляется с полупрозрачным фоном. Так вот добавил на фон, чтобы ОК работала, а всё под фоном нет. В результате ОК не работает, и вообще ничего не работает. То есть, или всё или ничего. Проверил, отодвинув фон на половину. На открытом месте всё реагирует, на закрытом фоном нет.
Ozbend
UNIт
 
Сообщения: 147
Зарегистрирован: 26 авг 2016, 20:37

Re: Интерактив сквозь окно-панель

Сообщение samana 10 дек 2016, 11:19

Почему бы не показать скриншот вашей иерархии в Canvas с этой кнопкой, дать понять какие скрипты где назначены и тп? А то приходится фантазировать то, как там всё устроено у вас.
Может вы просто прозрачный фон положили ПЕРЕД, а не ЗА кнопкой? То-есть он получился НАД кнопкой и поэтому блокирует всё ПОД собой в том числе и саму кнопку.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Интерактив сквозь окно-панель

Сообщение Ozbend 10 дек 2016, 12:41

Кнопка ОК (в иерархии Yes и NO, это не важно), полупрозрачный фон, и элемент Ring под ним. Ринг реагирует во всех трёх случаях, показанных на видео.

Изображение
Ozbend
UNIт
 
Сообщения: 147
Зарегистрирован: 26 авг 2016, 20:37

Re: Интерактив сквозь окно-панель

Сообщение samana 10 дек 2016, 13:25

Дело в том, что в окне иерархии для Canvas порядок сортировки объектов следующий: верхний объект (в иерархии) перекрывается объектом, который ниже (в иерархии). То-есть чем ниже объект визуально в дереве иерархии, тем "выше" он в сортировке, то-есть рисуется НАД теми, что лежат перед ним (перед - выше в окне иерархии).
Выходит, что ваш ring сейчас самый последний, то-есть находится НАД всеми другими элементами UI и конечно он будет реагировать на мышь, ведь кнопка с прозрачным фоном находится ПОД ним.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Интерактив сквозь окно-панель

Сообщение Ozbend 10 дек 2016, 13:30

Так ринг в этот канвас вообще не входит, этот отдельный объект.
Ozbend
UNIт
 
Сообщения: 147
Зарегистрирован: 26 авг 2016, 20:37

Re: Интерактив сквозь окно-панель

Сообщение samana 10 дек 2016, 13:50

Тогда лучше скиньте пакет с вашим нерабочим вариантом, потому что уже не хватает фантазии просчитать возможную причину этой проблемы.

Вот я создал UI кнопку, под кнопку (в иерархии визуально НАД) положил прозрачное UI image с включенной галочкой Raycast target (то-есть это изображение реагирует на клики).
Затем создал на сцене (не в Canvas) спрайт с коллайдером и повесил на него скрипт с методом ловящий клик:

Синтаксис:
Используется csharp
using UnityEngine.EventSystems;
private void OnMouseDown()
{
    if (!EventSystem.current.IsPointerOverGameObject())// в начале знак !
    {
        Debug.Log("click");
    }
}


Теперь если нажимаю на спрайт, то выводится сообщение. Если над спрайтом находится кнопка с прозрачным фоном на весь экран, то клики до спрайта уже не доходят. Всё работает.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Интерактив сквозь окно-панель

Сообщение Ozbend 10 дек 2016, 14:23

Можно ваш пакет тогда? Это будет проще, чем мой, который весит очень много. Я там уже разберусь, если пример на руках будет.
Ozbend
UNIт
 
Сообщения: 147
Зарегистрирован: 26 авг 2016, 20:37

Re: Интерактив сквозь окно-панель

Сообщение samana 10 дек 2016, 14:33

Ozbend писал(а):Можно ваш пакет тогда? Это будет проще, чем мой, который весит очень много.

А ведь совершенно не сложно временно удалить из сцены всё лишнее и оставить только проблемную часть, либо просто воссоздать отдельно проблемный момент. Да и в экспорт пакета необязательно включать все файлы проекта, которые не имею отношения к проблеме...
Пожалуйста http://dropmefiles.com/jEpRU
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

След.

Вернуться в Почемучка

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

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