Проделки размера GUI
Сделал GUI а Canvas.
У последнего выставлено UI Scale Mode: Scale With Screen Size На нём расположено некоторое количество элементов (пара кнопок, тексты, картинка). Но у меня также есть префабы кнопок, из которых я создаю GameObject'ы вот так: PHP код:
Те элементы, которые я разместил в редакторе — с ними нормально всё. Когда компилю и запускаю на мобилке, кодом созданныя кнопки становятся меньше чем надо, раза в три. Конечно, это связано с тем, что у меня окошко Game маленькое, а телефон FullHD. Но, блин, какого хрена не срабатывает UI Scale Mode: Scale With Screen Size у канваса? И почему если я на нём в редакторе размещу элементы GUI, то они норм скейлятся? А вручную заинстансенные ведут себя вот так? Как с этим бороться? Можно, конечно, при инстансинге сразу же выставлять Scale, но что-то мне кажется, что есть штатное решение, или я что-то делаю не так. Количество и расположение кнопок зависит от происходящего в игре, поэтому я не могу разместить их все заранее. Гуглить это сложно по той причине, что новый GUI появился в Юнити сравнительно недавно, и теперь в результатах поиска неразбериха, постоянно попадаю на инфу о Legacy GUI. Ответ дан в посте №3 |
Ответ: Проделки размера GUI
Цитата:
UPD: http://docs.unity3d.com/ScriptRefere...vasScaler.html Попробуй вызывать Update или: Код:
var scale = canvasScaler.scaleFactor; |
Ответ: Проделки размера GUI
Я бы попробовал просто добавить параметр worldPositionStays = false функции SetParent:
PHP код:
|
Ответ: Проделки размера GUI
Цитата:
Я не думаю, что для UI наоборот все. |
Ответ: Проделки размера GUI
По умолчанию true
UPD: Это разовая функция, т.е. влияет только в момент смены родителя. Если хочется оставить объект на месте в момент привязки к паренту то true, если хочется оставить неизменными локальные координаты - false. В данном случае - не наследовать масштаб родителя - GUI. |
Ответ: Проделки размера GUI
Цитата:
|
Часовой пояс GMT +4, время: 03:03. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot