Що таке 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 використовується, щоб переконатися, що камера оновлює своє положення після того, як об'єкт завершив свою анімацію чи рух на поточному кадрі.