|
2D/GUI Вопросы на тему 2D графики и интерфейсов |
06.10.2015, 18:35
|
#1
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Вопросы по UI
Всем привет. Есть несколько вопросов по новому UI.
1. Как правильно создавать префабы кнопок и создавать их через скрипт?
2. Есть возможность использовать трехмерные объекты на canvas (например в инвентаре), но методами "из коробки"? Если только "ручками" делать, то все понятно (такие штуки и на блице делал, переписать под юнити не запарит).
3. Это скорее вопрос здравого смысла - нужно ли юзать новое UI? Оно прикольное, но доков по нему пока толком нет, собственно что и напрягает.
|
(Offline)
|
|
06.10.2015, 20:09
|
#2
|
ТЫ ЧООО?
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений (для 7,192 пользователей)
|
Ответ: Вопросы по UI
Есть возможность использовать трехмерные объекты на canvas (например в инвентаре), но методами "из коробки"? Если только "ручками" делать, то все понятно (такие штуки и на блице делал, переписать под юнити не запарит).
|
Недавно делал такую штуку:
На канвасе создаёшь элемент RawImage, в проджектфолдере создаёшь RenderTexture
Запихивашь эту рендертекстуру в рав имейдж.
Гденить в сторонке создаёшь камеру, а перед камерой крутящийся 3д объект. В таргет текстуру камеры засовываешь RenderTexture.
Получается что твой 3д объект рендерится в гуй без геометрических искажений.
Можно и чистые 3д объекты туда засовывать, но точно не помню что надо сделать. Возможно поменять RenderMode: ScreenSpace - Camera. Сам объект засунуть в канвас и добавить ему RectTransform компонент.
Сообщение от Gector
3. Это скорее вопрос здравого смысла - нужно ли юзать новое UI? Оно прикольное, но доков по нему пока толком нет, собственно что и напрягает.
|
Конечно! Если в игре менюшка совсем простенькая то даже кодить почти ничего не нужно. Можно юзать EventTrigger для запиливания навигации
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо ARA за это полезное сообщение:
|
|
07.10.2015, 13:01
|
#3
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Вопросы по UI
А по поводу префабов что-нибудь известно? Я делал префаб, но загрузить из ресурсов не получилось.
|
(Offline)
|
|
07.10.2015, 19:45
|
#4
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы по UI
Вероятнее всего ты просто не правильно присоединил свой префаб к канвасу или к какому-то другому UI элементу внутри канваса.
var button = (GameObject)Instantiate(prefab); button.GetComponent<RectTransform>().SetParent(canvasTransfrom, false);
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
07.10.2015, 23:05
|
#5
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Вопросы по UI
Сообщение от pax
Вероятнее всего ты просто не правильно присоединил свой префаб к канвасу или к какому-то другому UI элементу внутри канваса.
var button = (GameObject)Instantiate(prefab);
button.GetComponent<RectTransform>().SetParent(canvasTransfrom, false);
|
Заработало! Не учел RectTransform.
|
(Offline)
|
|
16.07.2016, 23:22
|
#6
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопросы по UI
Фантомные эвенты для UI это норма?
Порой клик срабатывает 2 раза.
У меня по клику выплывает меню, и в момент фейда кнопка закрыть находится над кнопкой открыть, и она срабатывает порой. Причем если мышкой не шевельнуть - не срабатывает.. БЕСИТ!!!
В билде так же срабатывает.
|
(Offline)
|
|
16.07.2016, 23:41
|
#7
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопросы по UI
Не совсем понял проблему, но вероятно raycast при клике лупит сразу по всем элементам в позиции. Попробуй скрывать лишний элемент или менять слой у него или еще что либо.
|
(Offline)
|
|
17.07.2016, 08:49
|
#8
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопросы по UI
Сообщение от Nex
Не совсем понял проблему, но вероятно raycast при клике лупит сразу по всем элементам в позиции. Попробуй скрывать лишний элемент или менять слой у него или еще что либо.
|
У UI свой рейкаст, под название eventTrigger. У него разные эветы, два из которых onPointerDown, onPointerRelease, onClick = onPointerDown. По хорошему, он должен срабатывать раз, при нажатии. А он срабатывает продолжительно, ибо пока розовая кнопка доблывет до курсора, то пройдет мсек 20, что дооолго для события onClick.
eventTrigger лупит только по верхнему.
|
(Offline)
|
|
18.12.2016, 12:40
|
#9
|
Разработчик
Регистрация: 20.01.2007
Сообщений: 485
Написано 182 полезных сообщений (для 412 пользователей)
|
Ответ: Вопросы по UI
|
(Offline)
|
|
18.12.2016, 13:05
|
#10
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопросы по UI
Сообщение от Антихрист
|
У тебя он шлет состояние? у меня всегда там что в параметре инспектора.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:24.
|