alexsilent | Дата: Четверг, 25 Января 2018, 05:53 | Сообщение # 1 |
почти ветеран
Сейчас нет на сайте
| Пытаюсь разобраться с UI (то есть мне он не нравится, и я всегда использовал Game Object для создания интерфейса игры, я рад был бы вообще его не использовать) но теперь просто хочу все свои объекты интерфейса разместить на UI Canvas, для 3д игр, чтобы интерфейс был всегда поверх 3д графики, например мне нужно вырисовывать инвентарь, поэтому я не хочу использовать стандартные средства UI, да и у меня нет времени их изучать и переписывать весь код под UI, а также все окна меню придется перепиливать под UI объекты и это болезненно, когда все написано под GameObject-ы. Мне нужно отображать 3д игровые объекты, а не отдельные картинки, и в связи с этим пару вопросов:
1) Можно ли перекрыть 3д объекты игры, 3д объектами интерфейса? Чтобы HUD всегда был впереди при любом варианте?
2) Иногда, если находишься рядом с 3д объектом, то коллайдер объекта может перекрывать коллайдер кнопки интерфейса для курсора, и функции OnMouseOver, как с этим бороться не применяя стандартные средства UI? (2D коллайдеры подошли бы хорошо, но я незнаю как будут вести себя они, если повернуть камеру вниз, ведь коллайдер плоский?)
3) Почему UI Canvas настолько огромная? Как вы с этим боретесь? (при Canvas, Render Mode: Screen Space Overlay) очень неудобно редактировать что-либо на таком огромном окне, а потом пытаться найти маленькое пятно, где находится весь игровой уровень и судорожно кликать на какой-то из этих объектов, чтобы приблизить потом с помощью кнопки F)
4) Можно ли отобразить 3д объект используя на Canvas, Render Mode: Screen Space Overlay? А то у меня 3д объект куда-то теряется в таком режиме.
Добавлено (25 Января 2018, 05:53) --------------------------------------------- Короче забил я на юнитовский UI и на Canvas, добавил просто вторую камеру, и убрались все проблемы, которые были вызваны тем что интерфейс находится на одной камере с игрой. Теперь можно делать Zoom какой хочешь, накладывать куча эффектов в игру и они не будут с HUD перекликаться, а также можно камеру крутить под любым углом... Давно надо было так сделать, просто думал две камеры много жрут ресурсов, а еще думал, что из-за этого работы и сложностей будет много, но оказывается не столько сложностей, сколько вызвал юнити UI и Canvas. Также не пришлось много кода менять, всего несколько строк. И не нужно изучать дополнительный материал, связанный с UI, а также подводными камнями.
Сообщение отредактировал alexsilent - Четверг, 25 Января 2018, 05:59 |
|
| |
drcrack | Дата: Четверг, 25 Января 2018, 15:01 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| Цитата Короче забил я на юнитовский UI и на Canvas, добавил просто вторую камеру, и убрались все проблемы, которые были вызваны тем что интерфейс находится на одной камере с игрой. Вообще-то это так и делается всегда Canvas у тебя или нет, для интерфейса все равно нужна отдельная камера, чтобы поменьше гемора ловить
Сообщение отредактировал drcrack - Четверг, 25 Января 2018, 15:02 |
|
| |
alexsilent | Дата: Пятница, 26 Января 2018, 00:07 | Сообщение # 3 |
почти ветеран
Сейчас нет на сайте
| Цитата drcrack ( ) Canvas у тебя или нет, для интерфейса все равно нужна отдельная камера, чтобы поменьше гемора ловить ))) Эхъ, если б я это знал раньше)
|
|
| |