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.
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 | |
Ungültig | |
Ungültig | |
Ungültig |
setVerticalFovDedegrees(float verticalFov)
Legt das vertikale Sichtfeld für die Nicht-Arche-Kamera in Grad fest.
|
Ungültig | |
Ungültig | |
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