表示虚拟摄像头,用于确定通过哪个视角查看场景。
如果摄像头属于 ArSceneView
,它会自动跟踪来自 ARCore 的摄像头姿势。此外,以下方法会在调用时抛出 UnsupportedOperationException
:
setParent(NodeParent)
- 相机的父级无法更改,始终是场景。setLocalPosition(Vector3)
- 相机的位置无法更改,它由 ARCore 相机姿势控制。setLocalRotation(Quaternion)
- 相机的旋转角度无法更改,由 ARCore 相机姿势控制。setWorldPosition(Vector3)
- 相机的位置无法更改,它由 ARCore 相机姿势控制。setWorldRotation(Quaternion)
- 相机的旋转角度无法更改,由 ARCore 相机姿势控制。
公共方法
浮点数 | |
浮点数 | |
浮点数 |
getVerticalFovDegrees()
获取相机的垂直视野范围。
|
射线 |
screenPointToRay(浮点数 x、浮点数 y)
计算从相机近平面进入屏幕空间点的一条光线。
|
无效 | |
无效 | |
无效 | |
无效 |
setVerticalFovDegrees(浮点数行业 Fov)
设置非 ar 摄像头的垂直视野范围(以度为单位)。
|
无效 | |
无效 | |
Vector3 |
继承的方法
公共方法
public float getFarClipPlane ()
public float getNearClipPlane ()
public float getVerticalFovDegrees ()
获取相机的垂直视野范围。
如果这是 AR 相机,则它根据 ARCore 中的相机信息计算,并且可能因设备而异。直到 ARCore 会话恢复后的第一帧才会恢复,在这种情况下,系统会抛出 IllegalStateException。
否则,将返回由 setVerticalFovDegrees(float)
设置的值,默认值为 90 度。
抛出
IllegalStateException | 如果在 ARCore 恢复后的第一帧之前调用, |
---|
public Ray screenPointToRay (float x, float y)
计算从相机近平面进入屏幕空间点的一条光线。屏幕空间采用 Android 设备屏幕坐标:TopLeft = (0, 0) BottomRight =(屏幕宽度、屏幕高度)设备坐标空间不受设备的屏幕方向影响。
参数
x | 设备屏幕坐标中的 X 轴位置。 |
---|---|
y | 设备屏幕坐标中的 Y 轴位置。 |
public void setLocalPosition (Vector3 position)
设置相机的位置。相机始终为 isTopLevel()
,因此它的行为与 setWorldPosition(Vector3)
相同。
如果相机是 ArSceneView
的一部分,则此操作不受支持。相机的位置无法更改,它由 ARCore 相机姿势控制。
参数
position | 要应用的职位。 |
---|
public void setLocalRotation (Quaternionrot)
设置相机的旋转角度。相机始终为 isTopLevel()
,因此它的行为与 setWorldRotation(Quaternion)
相同。
如果相机是 ArSceneView
的一部分,则此操作不受支持。无法更改相机的旋转角度,旋转角度由 ARCore 相机姿势控制。
参数
旋转 | 要应用的旋转角度。 |
---|
public void setParent (NodeParent parent)
操作不受支持。无法更改摄像头的父项,它始终是场景。
参数
父级 | 此节点将作为其子节点的新父节点。如果为 null,此节点将与父节点分离。 |
---|
public void setVerticalFovDegrees (float verticalFov)
设置非 ar 摄像头的垂直视野范围(以度为单位)。如果这是 AR 相机,则 fov 来自 ARCore 且无法设置,因此会抛出异常。默认值为 90 度。
参数
verticalFov |
---|
抛出
UnsupportedOperationException | 如果这是 AR 相机 |
---|
public void setWorldPosition (Vector3 position)
设置相机的位置。相机始终为 isTopLevel()
,因此它的行为与 setLocalPosition(Vector3)
相同。
如果相机是 ArSceneView
的一部分,则此操作不受支持。相机的位置无法更改,它由 ARCore 相机姿势控制。
参数
position | 要应用的职位。 |
---|
public void setWorldRotation (Quaternion 旋转)
设置相机的旋转角度。相机始终为 isTopLevel()
,因此它的行为与 setLocalRotation(Quaternion)
相同。
如果相机是 ArSceneView
的一部分,则此操作不受支持。无法更改相机的旋转角度,旋转角度由 ARCore 相机姿势控制。
参数
旋转 | 要应用的旋转角度。 |
---|