Как стать автором
Обновить

Комментарии 9

ЗакрепленныеЗакреплённые комментарии

я делал так - дизайн для нескольких ключевых по статистике размеров. Межу ними - интерполяционный пересчет координат

И тут вам бы вспомнить (если в курсе, конечно) классические стратегии с 1к юнитов с полосками хп в кадре, которые работали на калькуляторе. И подумать, а как будет работать ваша логика на калькуляторе.

Думаю, если сделать ui элементы, которые должны быть всегда рядом с объектами, дочерними к этим объектам, то городить ваш огород не пришлось бы.

Сбивается отображение кнопок, которые должны быть поверх куба.

а можете пояснть - у себ такого не наблюдаю

Суть в том, что какой-то UI элемент должен отображаться поверх объекта находящегося в самой сцене. И на некоторых экранах Canvas растягивается так, что UI элементы уже не отображаются четко поверх нужного объекта, а съезжают куда попало. Анимации тоже происходят не там где надо.

Думаю лучшее объяснение на скрине в статье.

я делал так - дизайн для нескольких ключевых по статистике размеров. Межу ними - интерполяционный пересчет координат

Оптимальное решение. Сделать по какому-то референсному разрешению и потом от него плясать. Еще есть скрипты типы SafeArea, которые "сами" двигают UI в зависимости от разных чёлок, дырок и тд)

Сами по себе челки и дырки мне не мешают (по крайней мере, пока что).

К сожалению, SafeArea не спасает от того, что вместе с различными размерами экранов в камеру попадает различная, так сказать площадь пространства на сцене.

Все это съезжает из-за того что меняется высота камеры. UI-то растягивается по размеру экрана, но вот только размер и положение объектов уже не соответствуют элементам интерфейса

Это кстати учебный проект, так что спрячьте свои помидоры, я учусь. Следовательно, хоть игра и примитивная, реализовать такой функционал можно.

Почему-то я сразу пытался делать нормально, например, загуглив "как делать UI в unity".

Интересно узнать, как бы вы решили такую задачу?

Стандартными средствами юнити по созданию адаптивного UI. Без всяких костылей типа:

я сделал несколько массивов

Позволю себе дать вам совет - чем чаще встречается ваша проблема, тем выше вероятность, что уже все за вас придумали.

Я прост представил как это будет выглядеть в боевом проекте и пришел в ужас.

Ещё я не понимаю зачем это здесь. Других новичков запутать? Вот если бы Вы в конце написали что-то вроде, "я придумал велосипед, а потом пошел копаться в стандартном функционале юнити. Не делайте как я." То смысл в статье действительно был бв. Но вместо этого:

Это кстати учебный проект, так что спрячьте свои помидоры, я учусь.

В статье описана причина, почему стандартные средства Unity по созданию адаптивного UI мои трудности не решили в полной мере.

Все это съезжает из-за того что меняется высота камеры. UI-то растягивается по размеру экрана, но вот только размер и положение объектов уже не соответствуют элементам интерфейса:

И тут вам бы вспомнить (если в курсе, конечно) классические стратегии с 1к юнитов с полосками хп в кадре, которые работали на калькуляторе. И подумать, а как будет работать ваша логика на калькуляторе.

Думаю, если сделать ui элементы, которые должны быть всегда рядом с объектами, дочерними к этим объектам, то городить ваш огород не пришлось бы.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории