Unity C#

Color в Unity C# — создание и работа с цветами

Класс Color в Unity нужен для работы с цветами. Он задаёт цвета для материалов, света, интерфейсов и других элементов. Цвет описывается компонентами RGB (красный, зелёный, синий) и опциональным альфа-каналом (прозрачностью).

Color — это структура, где каждый компонент принимает значение от 0 до 1. Например, чисто красный — это (1, 0, 0), а белый — (1, 1, 1). Есть и готовые цвета: Color.red, Color.green, Color.blue и другие.

Что умеет Color

  • Простая настройка цвета через компоненты RGB и альфа-канал.
  • Доступ к предустановленным цветам для удобства.
  • Методы для интерполяции, преобразования и других операций с цветами.

Пример кода

Объект стартует с оранжевого цвета, а затем плавно меняет красную составляющую с помощью Mathf.PingPong:

using UnityEngine;

public class ColorExample : MonoBehaviour
{
    private Renderer objectRenderer;

    void Start()
    {
        // Получаем компонент Renderer объекта
        objectRenderer = GetComponent<Renderer>();

        // Устанавливаем начальный цвет объекта
        objectRenderer.material.color = new Color(1f, 0.5f, 0f, 1f); // Оранжевый цвет
    }

    void Update()
    {
        // Изменяем цвет объекта постепенно
        float r = Mathf.PingPong(Time.time, 1f); // Колебания значения от 0 до 1
        objectRenderer.material.color = new Color(r, 0.5f, 0f, 1f);
    }
}