Что такое Camera в Unity C#?
Класс Camera в Unity отвечает за визуализацию сцены и предоставление игроку "глаза", через который он видит игровой мир. Камера — это один из основных компонентов, который используется практически в каждом проекте. Она позволяет настраивать ракурс, управление отображением объектов и различные визуальные эффекты.
Каждая сцена в Unity должна содержать хотя бы одну камеру. Без камеры сцена не будет отображаться в окне Game. Unity автоматически добавляет камеру при создании новой сцены, но разработчик может добавлять и настраивать дополнительные камеры для создания различных эффектов, например, разделения экрана или использования видов от первого и третьего лица.
- Управление видимостью объектов через настройки слоя и области видимости.
- Настройка перспективы: ортографическая (2D) или перспективная (3D) проекция.
- Применение эффектов постобработки: фильтры, изменение цветовой гаммы, размытие и другие.
Пример использования камеры в коде:
using UnityEngine;
public class CameraController : MonoBehaviour
{
public Transform target;
public float smoothSpeed = 0.125f;
public Vector3 offset;
void LateUpdate()
{
// Следим за целевым объектом с заданным смещением
Vector3 desiredPosition = target.position + offset;
Vector3 smoothedPosition = Vector3.Lerp(transform.position, desiredPosition, smoothSpeed);
transform.position = smoothedPosition;
// Поворачиваем камеру в направлении цели
transform.LookAt(target);
}
}
В этом примере камера плавно следует за целевым объектом с заданным смещением. Метод LateUpdate используется, чтобы убедиться, что камера обновляет свое положение после того, как объект завершил свою анимацию или движение на текущем кадре.