Вы ищете функции преобразования позиции, такие как Camera.ScreenToWorldPoint()
.Их можно найти в документации по классу камеры Unity здесь: https://docs.unity3d.com/ScriptReference/Camera.html
Если, например, вы хотите разместить Sprite в верхнем левом углу, независимо от размера экрана, вы бы использовали экран илисмотровое пространство.Положение спрайта должно быть переведено из этого пространства экрана / области просмотра в мировое пространство.Вы можете использовать Camera.ScreenToWorldPoint()
для этого.
Тем не менее, Unity использует три пространства просмотра: экран, мир и область просмотра.Вы должны прочитать все три, так как ваша проблема проистекает из того факта, что вы пытаетесь использовать мировые координаты (transform.position), чтобы установить положение элементов пользовательского интерфейса (которые используют экран или мировое пространство; это зависит от родителя).Настройки холста)