Масштабирование элементов без искажений в Unity UI?

Проблема довольно банальная: если в панель слева добавить информации, получим то, что справа.
380e962847f943d5b3628cb2359c9817.png
Про user-resizable панели уж не говорю. Вроде вопросов подобных много, а общеиспользуемых решений пока найти не удалось. Боль:
$ ls
PanelRectangle_322x242.png
PanelRectangle_500x860.png
PanelRectangle_512x256.png
PanelRectangle_802x102.png
...


К сожалению, приобрести плагины вроде SVGAssets или SVGImporter пока не имею возможности (кроме того, не уверен в беспроблемности их использования в открытом проекте).

Вижу следующие варианты решения:
  • Составная панель из пяти элементов (четыре стороны обводки и заливка). Жуткий костыль.
  • Автогенерация указанных выше файлов из svg. Т.е. организовать автоматизацию изменения размера и экспорта панели каким-нибудь inkscape. Не решает проблему динамического масштабирования в любом случае.
  • Создавать UI элементы как модели в blender и каким-либо образом протащить их в Unity UI. Не уверен на тему хоть какой-нибудь пригодности blender для этой задачи и возможности сделать элемент по типу Sprite, отрисовывающий эти элементы.


Все эти варианты кажутся мне очень кривыми. Нравится, как сделан UI в EVE Online (пример), но пока не очень представляю, как создать подобное в unity.
  • Вопрос задан
  • 677 просмотров
Решения вопроса 1
MrMureno
@MrMureno Куратор тега Unity
VR for all
воу. а для кого сделали 9SliceSprites

"Составная панель из пяти элементов (четыре стороны обводки и заливка). Жуткий костыль."
тот самый жуткий костыль, только не жуткий, а общепринятый.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы