Комментарии 9
я делал так - дизайн для нескольких ключевых по статистике размеров. Межу ними - интерполяционный пересчет координат
И тут вам бы вспомнить (если в курсе, конечно) классические стратегии с 1к юнитов с полосками хп в кадре, которые работали на калькуляторе. И подумать, а как будет работать ваша логика на калькуляторе.
Думаю, если сделать ui элементы, которые должны быть всегда рядом с объектами, дочерними к этим объектам, то городить ваш огород не пришлось бы.
Сбивается отображение кнопок, которые должны быть поверх куба.
а можете пояснть - у себ такого не наблюдаю
Суть в том, что какой-то UI элемент должен отображаться поверх объекта находящегося в самой сцене. И на некоторых экранах Canvas растягивается так, что UI элементы уже не отображаются четко поверх нужного объекта, а съезжают куда попало. Анимации тоже происходят не там где надо.
Думаю лучшее объяснение на скрине в статье.
я делал так - дизайн для нескольких ключевых по статистике размеров. Межу ними - интерполяционный пересчет координат
Оптимальное решение. Сделать по какому-то референсному разрешению и потом от него плясать. Еще есть скрипты типы SafeArea, которые "сами" двигают UI в зависимости от разных чёлок, дырок и тд)
Сами по себе челки и дырки мне не мешают (по крайней мере, пока что).
К сожалению, SafeArea не спасает от того, что вместе с различными размерами экранов в камеру попадает различная, так сказать площадь пространства на сцене.
Все это съезжает из-за того что меняется высота камеры. UI-то растягивается по размеру экрана, но вот только размер и положение объектов уже не соответствуют элементам интерфейса
Это кстати учебный проект, так что спрячьте свои помидоры, я учусь. Следовательно, хоть игра и примитивная, реализовать такой функционал можно.
Почему-то я сразу пытался делать нормально, например, загуглив "как делать UI в unity".
Интересно узнать, как бы вы решили такую задачу?
Стандартными средствами юнити по созданию адаптивного UI. Без всяких костылей типа:
я сделал несколько массивов
Позволю себе дать вам совет - чем чаще встречается ваша проблема, тем выше вероятность, что уже все за вас придумали.
Я прост представил как это будет выглядеть в боевом проекте и пришел в ужас.
Ещё я не понимаю зачем это здесь. Других новичков запутать? Вот если бы Вы в конце написали что-то вроде, "я придумал велосипед, а потом пошел копаться в стандартном функционале юнити. Не делайте как я." То смысл в статье действительно был бв. Но вместо этого:
Это кстати учебный проект, так что спрячьте свои помидоры, я учусь.
В статье описана причина, почему стандартные средства Unity по созданию адаптивного UI мои трудности не решили в полной мере.
Все это съезжает из-за того что меняется высота камеры. UI-то растягивается по размеру экрана, но вот только размер и положение объектов уже не соответствуют элементам интерфейса:
И тут вам бы вспомнить (если в курсе, конечно) классические стратегии с 1к юнитов с полосками хп в кадре, которые работали на калькуляторе. И подумать, а как будет работать ваша логика на калькуляторе.
Думаю, если сделать ui элементы, которые должны быть всегда рядом с объектами, дочерними к этим объектам, то городить ваш огород не пришлось бы.
Окей
Как я адаптировал игру к экранам мобильных устройств