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);
}
}