[Doc Unity](https://docs.unity3d.com/ScriptReference/Camera.html) ```csharp public static Camera main ``` Свойство **Camera.main** используется для обращения к главной камере сцены. Главная камера - это та камера, у которой установлен тег "MainCamera". Обычно это основная камера, которую использует игра для отображения всего происходящего на сцене. Однако следует отметить, что использование **Camera.main** может быть затратным в плане производительности, так как вызов этого свойства выполняет поиск по всем камерам в сцене, чтобы найти ту, у которой установлен тег "MainCamera". Если вы часто обращаетесь к главной камере, рекомендуется кэшировать ссылку на нее в переменной и использовать эту переменную вместо повторного вызова **Camera.main**. <br> ```csharp public Ray ScreenPointToRay(Vector3 position) ``` Метод преобразует экранные координаты (пиксели) в луч (ray), который исходит из камеры и проходит через указанную точку на экране. Этот луч можно использовать для определения объектов в 3D-пространстве, с которыми взаимодействует пользователь при клике или наведении указателя мыши. Когда вы передаете вектор 2D или 3D (с координатами x и y, соответствующими позиции на экране, и z обычно равным 0) в качестве аргумента этому методу, он возвращает новый объект типа Ray, который описывает луч, исходящий из камеры и проходящий через указанную точку на экране. Этот метод часто используется в сочетании с физическими системами Unity, такими как коллайдеры и raycast, для определения объектов, над которыми находится указатель мыши, и выполнения определенных действий при взаимодействии с ними. <br> ```csharp public Ray ViewportPointToRay(Vector3 position) ``` Метод преобразует координаты точки в пространстве видового порта (viewport) в луч (ray), который исходит из камеры и проходит через указанную точку в пространстве видового порта. Видовой порт - это нормализованное пространство координат, где значения X и Y находятся в диапазоне от 0 до 1. Нижний левый угол равен (0, 0), верхний правый угол равен (1, 1), а Z-координата обычно равна 0. Отличие от ScreenPointToRay() в том, что ViewportPointToRay() работает с нормализованными координатами, в то время как ScreenPointToRay() использует экранные координаты (пиксели).