代表虛擬相機,用於判斷觀看場景的視角。
如果相機是 ArSceneView
的一部分,則相機會自動從 ARCore 追蹤相機的姿勢。此外,下列方法會在呼叫時擲回 UnsupportedOperationException
:
setParent(NodeParent)
- 無法變更相機,因為系統一律是場景。setLocalPosition(Vector3)
- 相機的位置無法變更,是由 ARCore 相機姿勢控制。setLocalRotation(Quaternion)
- 相機的旋轉設定無法變更,且是由 ARCore 相機姿勢控制。setWorldPosition(Vector3)
- 相機的位置無法變更,是由 ARCore 相機姿勢控制。setWorldRotation(Quaternion)
- 相機的旋轉設定無法變更,且是由 ARCore 相機姿勢控制。
公用方法
浮點值 | |
浮點值 | |
浮點值 |
getVerticalFovDegrees()
取得相機的垂直視野。
|
Ray |
screenPointToRay(浮點 x、浮點 y)
計算世界空間中從相機近距離觀看到整個光源點的光源。
|
void | |
void | |
void | |
void |
setVerticalFovDegrees (浮點垂直 Fov)
設定非陣列相機的垂直視野 (以度為單位)。
|
void | |
void | |
Vector3 |
沿用的方法
公用方法
public float getFarClipPlane ()
public float getNearClipPlane ()
public float getVerticalFovDegrees ()
取得相機的垂直視野。
如果這是 AR 相機,它是根據 ARCore 的相機資訊計算而得,且可能會因裝置而異。在 ARCore 工作階段恢復後,第一個影格才會重新啟用,因為在這個情況下,系統會擲回 IllegalStateException。
否則,系統會傳回 setVerticalFovDegrees(float)
設定的值,預設值為 90 度。
擲回
IllegalStateException | 在 ARCore 重新啟用前,第一個影格的呼叫開始前 |
---|
publicRayscreenPointToRay(float x、float y)
計算世界空間中從相機近距離觀看到整個光源點的光源。螢幕空間位於 Android 裝置螢幕座標:TopLeft = (0, 0) BottomRight = (Screen Width, Screen Height) 裝置座標空間不受裝置的方向影響。
參數
x | 裝置螢幕座標中的 X 位置。 |
---|---|
年 | 裝置螢幕座標中的 Y 位置。 |
public setLocalPosition (Vector3 位置)
設定相機的位置。相機一律為 isTopLevel()
,因此其行為與 setWorldPosition(Vector3)
相同。
如果相機是 ArSceneView
的一部分,系統不支援這項操作。無法變更相機的位置,由 ARCore 相機姿勢控制。
參數
position | 要套用的位置。 |
---|
public void setLocalRotation (Quaternion 輪替)
設定相機的旋轉角度。相機一律為 isTopLevel()
,因此其行為與 setWorldRotation(Quaternion)
相同。
如果相機是 ArSceneView
的一部分,系統不支援這項操作。無法變更相機的旋轉角度,可由 ARCore 相機的姿勢控制。
參數
輪替 | 要套用的旋轉效果。 |
---|
public setVerticalFovDegrees (float verticalFov)
設定非陣列相機的垂直視野 (以度為單位)。如果這是 AR 相機,則焦點來自 ARCore,而且無法設定,因此系統會擲回例外狀況。預設值為 90 度。
參數
verticalFov |
---|
擲回
SupportedOperationException | 如果是 AR 相機 |
---|
public setWorldPosition (Vector3 位置)
設定相機的位置。相機一律為 isTopLevel()
,因此其行為與 setLocalPosition(Vector3)
相同。
如果相機是 ArSceneView
的一部分,系統不支援這項操作。無法變更相機的位置,由 ARCore 相機姿勢控制。
參數
position | 要套用的位置。 |
---|
public setWorldRotation (Quaternion 輪替)
設定相機的旋轉角度。相機一律為 isTopLevel()
,因此其行為與 setLocalRotation(Quaternion)
相同。
如果相機是 ArSceneView
的一部分,系統不支援這項操作。無法變更相機的旋轉角度,可由 ARCore 相機的姿勢控制。
參數
輪替 | 要套用的旋轉效果。 |
---|