カメラ

パブリック クラス カメラ

シーンが表示される視点を決定する仮想カメラを表します。

カメラが ArSceneView の一部である場合、カメラは ARCore からカメラのポーズを自動的に追跡します。また、以下のメソッドは、呼び出されると UnsupportedOperationException をスローします。

  • setParent(NodeParent) - カメラの親は変更できず、常にシーンになります。
  • setLocalPosition(Vector3) - カメラの位置は変更できません。ARCore のカメラ ポーズによって制御されます。
  • setLocalRotation(Quaternion) - カメラの回転は変更できません。ARCore のカメラのポーズによって制御されます。
  • setWorldPosition(Vector3) - カメラの位置は変更できません。ARCore のカメラ ポーズによって制御されます。
  • setWorldRotation(Quaternion) - カメラの回転は変更できません。ARCore のカメラのポーズによって制御されます。
Node の他のすべての機能がサポートされています。カメラの位置と回転にアクセスしたり、カメラに衝突シェイプを割り当てたり、カメラに子を追加したりできます。カメラを無効にすると、レンダリングはオフになります。

パブリック メソッド

浮動小数点数
浮動小数点数
浮動小数点数
getVerticalFovDegrees()
カメラの垂直視野を取得します。
Ray
screenPointToRay(浮動小数点数 x、浮動小数点数 y)
カメラのほぼ平面から、画面空間の特定のポイントを経由するワールド空間の光線を計算します。
void
setLocalPosition(Vector3 position)
カメラの位置を設定します。
void
setLocalRotationQuaternion ローテーション)
カメラの回転を設定します。
void
setParentNodeParent の親)
サポートされていない操作です。
void
setVerticalFovDegrees(float verticalFov)
非 AR カメラの垂直視野を度数で設定します。
void
setWorldPositionVector3 の位置)
カメラの位置を設定します。
void
setWorldRotationQuaternion ローテーション)
カメラの回転を設定します。
Vector3
worldToScreenPointVector3 ポイント)
ポイントをワールド空間からスクリーン空間に変換します。

継承されるメソッド

パブリック メソッド

public float getFarClipPlane ()

public float getNearClipPlane ()

public float getVerticalFovDegrees ()

カメラの垂直画角を取得します。

これが AR カメラの場合、ARCore のカメラ情報に基づいて計算され、デバイスによって異なる場合があります。ARCore セッションが再開された後の最初のフレームまで計算できません。この場合、違法状態例外がスローされます。

それ以外の場合は、setVerticalFovDegrees(float) によって設定された値を返します。デフォルトは 90 度です。

スロー値
IllegalStateException ARCore が再開したら、最初のフレームの前に呼び出された場合

public Ray screenPointToRay (float x, float y)

カメラのほぼ平面から、画面空間の特定のポイントを経由するワールド空間の光線を計算します。画面スペースは Android デバイスの画面座標です。TopLeft = (0, 0) BottomRight = (Screen Width, Screen Height) デバイスの座標空間はデバイスの向きの影響を受けません。

パラメータ
x デバイスの画面座標における X 座標。
y デバイスの画面座標の Y 位置。

public void setLocalPosition (Vector3 の位置)

カメラの位置を設定します。カメラは常に isTopLevel() であるため、これは setWorldPosition(Vector3) と同じように動作します。

カメラが ArSceneView の一部である場合、これはサポートされていない操作です。 カメラの位置は変更できず、ARCore のカメラ ポーズで制御されます。

パラメータ
position 適用する位置。

public void setLocalRotation (Quaternion ローテーション)

カメラの回転を設定します。カメラは常に isTopLevel() であるため、これは setWorldRotation(Quaternion) と同じように動作します。

カメラが ArSceneView の一部である場合、これはサポートされていない操作です。 カメラの回転は ARCore カメラのポーズによって制御され、変更できません。

パラメータ
回転 適用するローテーション。

public void setParent (NodeParent の親)

サポートされていない操作です。カメラの親は変更できず、常にシーンです。

パラメータ
このノードが子になる新しい親。null の場合、このノードはその親から切り離されます。

public void setVerticalFovDegrees (float verticalFov)

非 AR カメラの垂直視野を度数で設定します。AR カメラの場合、fov は ARCore から発生し、設定できないため、例外がスローされます。デフォルトは 90 度です。

パラメータ
VerticalFov
スロー値
UnsupportedOperationException AR カメラの場合

public void setWorldPosition (Vector3 の位置)

カメラの位置を設定します。カメラは常に isTopLevel() であるため、これは setLocalPosition(Vector3) と同じように動作します。

カメラが ArSceneView の一部である場合、これはサポートされていない操作です。 カメラの位置は変更できず、ARCore のカメラ ポーズで制御されます。

パラメータ
position 適用する位置。

public void setWorldRotation 四元数の回転)

カメラの回転を設定します。カメラは常に isTopLevel() であるため、これは setLocalRotation(Quaternion) と同じように動作します。

カメラが ArSceneView の一部である場合、これはサポートされていない操作です。 カメラの回転は ARCore カメラのポーズによって制御され、変更できません。

パラメータ
回転 適用するローテーション。

public Vector3 worldToScreenPoint (Vector3 ポイント)

ポイントをワールド空間から画面スペースに変換します。

X の値は、ポイントがビューポートの左側にあり、0 から SceneView の幅(ビューポート内にある場合)または SceneView の幅(ポイントがビューポートの右側にある場合)の負の値になります。

点がビューポートの下にある場合、Y 値は負であり、0 から SceneView の高さは(ポイントがビューポート内にある場合)、その位置がビューポートより上にある場合の高さよりも大きくなります。

戻り値は 2D 座標であるため、Z 値は常に 0 です。

パラメータ
point コンバージョンを達成する地点
戻り値
  • 画面空間の点を表す新しいベクトル。