Камера

публичный класс Камера

Представляет виртуальную камеру, определяющую перспективу, через которую просматривается сцена.

Если камера является частью ArSceneView , то камера автоматически отслеживает положение камеры из ARCore. Кроме того, следующие методы будут вызывать UnsupportedOperationException при вызове:

  • setParent(NodeParent) - родитель камеры не может быть изменен, это всегда сцена.
  • setLocalPosition(Vector3) — положение камеры изменить нельзя, оно управляется позой камеры ARCore.
  • setLocalRotation(Quaternion) — вращение камеры нельзя изменить, оно управляется позой камеры ARCore.
  • setWorldPosition(Vector3) — положение камеры изменить нельзя, оно управляется позой камеры ARCore.
  • setWorldRotation(Quaternion) — вращение камеры нельзя изменить, оно контролируется позой камеры ARCore.
Все остальные функции в Node поддерживаются. Вы можете получить доступ к положению и вращению камеры, назначить камере форму столкновения или добавить к камере дочерние элементы. Отключение камеры отключает рендеринг.

Публичные методы

плавать
плавать
плавать
getVerticalFovDegrees ()
Получает вертикальное поле зрения для камеры.
Рэй
screenPointToRay (с плавающей запятой x, с плавающей запятой y)
Вычисляет луч в мировом пространстве, идущий от ближней плоскости камеры и проходящий через точку в экранном пространстве.
пустота
setLocalPosition (позиция Vector3 )
Установите положение камеры.
пустота
setLocalRotation (вращение кватерниона )
Установите вращение камеры.
пустота
setParent ( родитель NodeParent )
Неподдерживаемая операция.
пустота
setVerticalFovDegrees (плавающий вертикальныйFov)
Устанавливает вертикальное поле зрения для камеры без AR в градусах.
пустота
setWorldPosition (позиция Vector3 )
Установите положение камеры.
пустота
setWorldRotation (вращение кватерниона )
Установите вращение камеры.
Вектор3
worldToScreenPoint (точка Vector3 )
Преобразование точки из мирового пространства в экранное пространство.

Унаследованные методы

Публичные методы

публичный поплавок getFarClipPlane ()

публичный поплавок getNearClipPlane ()

публичный поплавок getVerticalFovDegrees ()

Получает вертикальное поле зрения для камеры.

Если это камера дополненной реальности, то она рассчитывается на основе информации о камере из ARCore и может варьироваться в зависимости от устройства. Его нельзя вычислить до тех пор, пока не будет возобновлен первый кадр после возобновления сеанса ARCore, и в этом случае выдается исключение IllegalStateException.

В противном случае будет возвращено значение, установленное setVerticalFovDegrees(float) со значением по умолчанию 90 градусов.

Броски
Илегалстатеексцептион если вызывается перед первым кадром после возобновления ARCore

public Ray screenPointToRay (с плавающей запятой x, с плавающей запятой y)

Вычисляет луч в мировом пространстве, идущий от ближней плоскости камеры и проходящий через точку в экранном пространстве. Пространство экрана находится в координатах экрана устройства Android: TopLeft = (0, 0) BottomRight = (Ширина экрана, Высота экрана) На пространство координат устройства не влияет ориентация устройства.

Параметры
Икс Позиция X в координатах экрана устройства.
у Позиция Y в координатах экрана устройства.

public void setLocalPosition (позиция Vector3 )

Установите положение камеры. Камера всегда isTopLevel() , поэтому она ведет себя так же, как setWorldPosition(Vector3) .

Если камера является частью ArSceneView , это неподдерживаемая операция. Положение камеры изменить нельзя, оно контролируется позой камеры ARCore.

Параметры
должность Должность для применения.

public void setLocalRotation (вращение кватернионов )

Установите вращение камеры. Камера всегда isTopLevel() , поэтому она ведет себя так же, как setWorldRotation(Quaternion) .

Если камера является частью ArSceneView , это неподдерживаемая операция. Вращение камеры нельзя изменить, оно контролируется позой камеры ARCore.

Параметры
вращение Применяемый поворот.

public void setParent ( родитель NodeParent )

Неподдерживаемая операция. Родитель камеры не может быть изменен, это всегда сцена.

Параметры
родитель Новый родитель, дочерним элементом которого будет этот узел. Если null, этот узел будет отсоединен от своего родителя.

public void setVerticalFovDegrees (float verticalFov)

Устанавливает вертикальное поле зрения для камеры без AR в градусах. Если это камера с дополненной реальностью, то поле зрения исходит от ARCore и не может быть установлено, поэтому возникает исключение. По умолчанию 90 градусов.

Параметры
вертикальныйFov
Броски
UnsupportedOperationException если это AR камера

public void setWorldPosition (позиция Vector3 )

Установите положение камеры. Камера всегда isTopLevel() , поэтому она ведет себя так же, как setLocalPosition(Vector3) .

Если камера является частью ArSceneView , это неподдерживаемая операция. Положение камеры изменить нельзя, оно контролируется позой камеры ARCore.

Параметры
должность Должность для применения.

public void setWorldRotation (вращение кватерниона )

Установите вращение камеры. Камера всегда isTopLevel() , поэтому она ведет себя так же, как setLocalRotation(Quaternion) .

Если камера является частью ArSceneView , то это неподдерживаемая операция. Поворот камеры изменить нельзя, он управляется позой камеры ARCore.

Параметры
вращение Применяемый поворот.

public Vector3 worldToScreenPoint (точка Vector3 )

Преобразование точки из мирового пространства в экранное пространство.

Значение X отрицательно, когда точка находится слева от окна просмотра, между 0 и шириной SceneView , когда точка находится в окне просмотра, и больше, чем ширина, когда точка находится справа от окна просмотра.

Значение Y отрицательно, когда точка находится ниже окна просмотра, между 0 и высотой SceneView , когда точка находится в окне просмотра, и больше высоты, когда точка находится над окном просмотра.

Значение Z всегда равно 0, так как возвращаемое значение представляет собой 2D-координату.

Параметры
точка точка в мировом пространстве для преобразования
Возвращает
  • новый вектор, представляющий точку в экранном пространстве.