Unity C#

Canvas в Unity C# — создание пользовательского интерфейса (UI)

Canvas в Unity — это компонент, на котором отрисовывается пользовательский интерфейс (UI). Он служит основой для всех элементов: кнопок, текста, изображений и других интерактивных деталей. Без Canvas UI-элементы просто не появятся на экране.

Canvas автоматически масштабируется под настройки экрана, поэтому интерфейс адаптируется к разным разрешениям. Это делает его удобным инструментом для кроссплатформенных проектов.

Режимы рендера

У Canvas три основных режима:

  • Screen Space — Overlay: фиксирует интерфейс поверх экрана.
  • Screen Space — Camera: привязывает Canvas к камере.
  • World Space: размещает элементы интерфейса как трёхмерные объекты прямо в сцене.

Настройки позволяют гибко управлять масштабом, порядком слоёв и эффектами. За позицию и размеры дочерних элементов отвечает RectTransform.

Пример кода

Простой счётчик очков: по нажатию пробела значение растёт, а текст на Canvas обновляется:

using UnityEngine;
using UnityEngine.UI;

public class CanvasExample : MonoBehaviour
{
    public Text scoreText;
    private int score;

    void Start()
    {
        score = 0;
        UpdateScore();
    }

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            score += 10;
            UpdateScore();
        }
    }

    void UpdateScore()
    {
        scoreText.text = "Счёт: " + score.ToString();
    }
}