Unity C#

RectTransform в Unity C# — размер и позиция UI-элементов

RectTransform — специальный компонент Unity для управления положением, размером и якорями объектов интерфейса (UI). Это расширение обычного Transform с дополнительными возможностями для элементов интерфейса.

Главная задача RectTransform — гибко размещать объекты на экране. Благодаря ему интерфейс легко адаптируется под разные разрешения и соотношения сторон.

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

Пример кода

Скрипт задаёт размер и позицию элемента, а в Update анимирует ширину:

using UnityEngine;

public class UIElement : MonoBehaviour
{
    private RectTransform rectTransform;

    void Start()
    {
        // Получение ссылки на RectTransform компонента
        rectTransform = GetComponent<RectTransform>();

        // Установка размера объекта
        rectTransform.sizeDelta = new Vector2(200, 100);

        // Перемещение объекта к центру
        rectTransform.anchoredPosition = Vector2.zero;
    }

    void Update()
    {
        // Динамическое изменение ширины в зависимости от времени
        rectTransform.sizeDelta = new Vector2(200 + Mathf.PingPong(Time.time * 50, 100), 100);
    }
}

Важно помнить про систему координат: позиция и размер задаются относительно родителя. anchoredPosition — смещение относительно якоря, а pivot задаёт точку привязки объекта.