Kamera

public class Camera

Eine virtuelle Kamera, die die Perspektive bestimmt, aus der die Szene angesehen wird

Wenn die Kamera zu einem ArSceneView gehört, zeichnet die Kamera die Kameraposition von ARCore automatisch auf. Außerdem wird bei folgenden Methoden UnsupportedOperationException ausgelöst:

  • setParent(NodeParent): Das übergeordnete Element der Kamera kann nicht geändert werden, sondern immer das Ambiente.
  • setLocalPosition(Vector3) – Die Position der Kamera kann nicht geändert werden. Sie wird durch die ARCore-Kamerastellung gesteuert.
  • setLocalRotation(Quaternion): Die Drehung der Kamera kann nicht geändert werden. Sie wird über die ARCore-Kamerastellung gesteuert.
  • setWorldPosition(Vector3) – Die Position der Kamera kann nicht geändert werden. Sie wird durch die ARCore-Kamerastellung gesteuert.
  • setWorldRotation(Quaternion): Die Drehung der Kamera kann nicht geändert werden. Sie wird über die ARCore-Kamerastellung gesteuert.
Alle anderen Funktionen in Node.js werden unterstützt. Sie können auf die Position und Drehung der Kamera zugreifen, ihr eine Kollisionsform zuweisen oder der Kamera untergeordnete Elemente hinzufügen. Wenn du die Kamera deaktivierst, wird das Rendering deaktiviert.

Public Methods

float
float
float
getVerticalFovDedegrees
Ruft das vertikale Sichtfeld für die Kamera ab.
Ray
screenPointToRay(Gleitkommazahl x, Gleitkommazahl y)
Berechnet einen Strahl im Weltall, der von der Kamera in der Nähe des Flugzeugs zu einem Punkt im Bildschirm führt.
Ungültig
setLocalPosition(Vector3-Position)
Position der Kamera festlegen.
Ungültig
setLocalRotation(Quaternion)
Legen Sie die Kameradrehung fest.
Ungültig
setParent(NodeParent übergeordneter Element)
Nicht unterstützter Vorgang.
Ungültig
setVerticalFovDedegrees(float verticalFov)
Legt das vertikale Sichtfeld für die Nicht-Arche-Kamera in Grad fest.
Ungültig
setWorldPosition(Vector3-Position)
Position der Kamera festlegen.
Ungültig
setWorldRotation(Quaternion-Rotation)
Legen Sie die Kameradrehung fest.
Vektor3
worldToScreenPoint(Vector3-Punkt)
Damit lässt sich ein Punkt aus dem Weltall in einen Bildschirmbereich umwandeln.

Übernommene Methoden

Public Methods

öffentlichen Gleitkomma getFarClipPlane ()

öffentlichen Gleitkomma getNearClipPlane ()

public float getVerticalFovDedegrees ()

Ruft das vertikale Sichtfeld für die Kamera ab.

Wenn dies eine AR-Kamera ist, wird sie basierend auf den Kamerainformationen von ARCore berechnet und kann je nach Gerät variieren. Sie kann erst berechnet werden, wenn der erste Frame nach dem Fortsetzen der ARCore-Sitzung fortgesetzt wurde. In diesem Fall wird eine IllegalStateException ausgelöst.

Andernfalls wird der von setVerticalFovDegrees(float) festgelegte Wert mit einem Standardwert von 90 Grad zurückgegeben.

Throws
IllegalStateException Bei Aufruf vor dem ersten Frame nach Fortsetzen von ARCore

öffentlich Ray screenPointToRay (Gleitkommazahl x, Gleitkommazahl y)

Berechnet einen Strahl im Weltall, der von der Kamera in der Nähe des Flugzeugs zu einem Punkt im Bildschirm führt. Der Bildschirmbereich wird in Bildschirmkoordinaten des Android-Geräts angegeben: Oben links = (0, 0) BottomRight = (Bildschirmbreite, Bildschirmhöhe) Der Gerätekoordinatenraum ist von der Geräteausrichtung nicht betroffen.

Parameter
x X-Position in Bildschirmkoordinaten des Geräts.
y Y-Position in Bildschirmkoordinaten des Geräts

public void setLocalPosition (Vector3-Position)

Position der Kamera festlegen. Die Kamera isTopLevel() ist immer gleich und verhält sich daher genauso wie setWorldPosition(Vector3).

Wenn die Kamera Teil eines ArSceneView ist, wird dieser Vorgang nicht unterstützt. Die Position der Kamera kann nicht geändert werden. Sie wird durch die ARCore-Kamerastellung gesteuert.

Parameter
position Die anzuwendende Position.

public void setLocalRotation (Quaternion-Rotation)

Legen Sie die Kameradrehung fest. Die Kamera isTopLevel() ist immer gleich und verhält sich daher genauso wie setWorldRotation(Quaternion).

Wenn die Kamera Teil eines ArSceneView ist, wird dieser Vorgang nicht unterstützt. Die Kameradrehung kann nicht geändert werden. Sie wird über die ARCore-Kamerastellung gesteuert.

Parameter
Rotation Die anzuwendende Rotation.

public void setParent (NodeParent übergeordnetes Element)

Nicht unterstützter Vorgang. Das übergeordnete Element der Kamera kann nicht geändert werden, es ist immer die Szene.

Parameter
Übergeordnetes Element Das neue übergeordnete Element, dem dieser Knoten untergeordnet sein wird. Bei null wird dieser Knoten von seinem übergeordneten Element getrennt.

public void setVerticalFovDedegrees (float verticalFov)

Legt das vertikale Sichtfeld für die Nicht-Arche-Kamera in Grad fest. Wenn dies eine AR-Kamera ist, stammt der Fov von ARCore und kann nicht festgelegt werden, sodass eine Ausnahme ausgelöst wird. Der Standardwert ist 90 Grad.

Parameter
Vertikal
Throws
Nicht unterstützteOperationAusnahme wenn es sich um eine AR-Kamera handelt

public void setWorldPosition (Vector3-Position)

Position der Kamera festlegen. Die Kamera isTopLevel() ist immer gleich und verhält sich daher genauso wie setLocalPosition(Vector3).

Wenn die Kamera Teil eines ArSceneView ist, wird dieser Vorgang nicht unterstützt. Die Position der Kamera kann nicht geändert werden. Sie wird durch die ARCore-Kamerastellung gesteuert.

Parameter
position Die anzuwendende Position.

public void setWorldRotation (Quaternion-Rotation)

Legen Sie die Kameradrehung fest. Die Kamera isTopLevel() ist immer gleich und verhält sich daher genauso wie setLocalRotation(Quaternion).

Wenn die Kamera Teil eines ArSceneView ist, wird dieser Vorgang nicht unterstützt. Die Kameradrehung kann nicht geändert werden. Sie wird über die ARCore-Kamerastellung gesteuert.

Parameter
Rotation Die anzuwendende Rotation.

public Vector3 worldToScreenPoint (Vector3 Punkt)

Damit lässt sich ein Punkt aus dem Weltall in einen Bildschirmbereich umwandeln.

Der X-Wert ist negativ, wenn der Punkt links vom Darstellungsbereich liegt, zwischen 0 und der Breite von SceneView, wenn sich der Punkt innerhalb des Darstellungsbereichs befindet, und größer als die Breite, wenn sich der Punkt rechts vom Darstellungsbereich befindet.

Der Y-Wert ist negativ, wenn der Punkt unterhalb des Darstellungsbereichs liegt, zwischen 0 und der Höhe von SceneView, wenn sich der Punkt innerhalb des Darstellungsbereichs befindet, und größer als die Höhe, wenn der Punkt über dem Darstellungsbereich liegt.

Der Z-Wert ist immer 0, da der Rückgabewert eine 2D-Koordinate ist.

Parameter
point der Welt, aus der
Rückgabe:
  • ein neuer Vektor, der den Punkt im Bildschirmbereich darstellt