#unity3d #iphone-x #unity-ui
#unity3d #iphone-x #unity-пользовательский интерфейс
Вопрос:
У нас возникла эта странная проблема с игрой, которую мы портируем на мобильные устройства: все элементы пользовательского интерфейса работают нормально, за исключением тех случаев, когда вы запускаете ее на телефоне с вырезами (например, iPhoneX). Когда это происходит, интерфейс масштабируется, чтобы соответствовать безопасной области устройства, что создает две черные полосы на крайних точках (что пока нормально). Затем область, в которой вы должны щелкнуть, чтобы активировать какие-либо кнопки, больше не соответствует графике самих кнопок.
Как будто область обнаружения ввода растянута, чтобы покрыть всю площадь телефона, но графика уменьшена, «смещая» области сенсорного ввода.
На рисунке ниже показана проблема:
Обратите внимание на красные каракули, показывающие область, которая находится за пределами безопасных областей, и зеленый круг, показывающий, куда на самом деле направлялся ввод для кнопки.
Дополнительная информация: для правильной работы уровней мы должны увеличить разрешение экрана до 1080.SetResolution(). Может ли это иметь какое-либо отношение к проблеме?
Комментарии:
1. Можете ли вы опубликовать скриншот инспектора, отображающий настройки RectTransform (привязка и т.д.) Вместе с изображением иерархии
2. У вас есть CanvasScaler для этого, или вы делаете что-то более сложное из кода? Возможно, что бы вы ни делали в своем коде, это мешает работе системы пользовательского интерфейса Unity.
3. @Безнравственность, конечно… imgur.com/a/F8ysuH5