Máy ảnh

lớp công khai Máy ảnh

Tượng trưng cho máy ảnh ảo, giúp xác định góc nhìn của cảnh đó.

Nếu máy ảnh thuộc ArSceneView, thì máy ảnh sẽ tự động theo dõi tư thế máy ảnh từ ARCore. Ngoài ra, các phương thức sau sẽ gửi UnsupportedOperationException khi được gọi:

  • setParent(NodeParent) – Không thể thay đổi chế độ cài đặt của cha mẹ vì camera luôn là cảnh.
  • setLocalPosition(Vector3) – Vị trí của máy ảnh không thể thay đổi do máy ảnh ARCore kiểm soát.
  • setLocalRotation(Quaternion) – Bạn không thể thay đổi chế độ xoay của máy ảnh. Chế độ này chịu sự kiểm soát của tư thế máy ảnh ARCore.
  • setWorldPosition(Vector3) – Vị trí của máy ảnh không thể thay đổi do máy ảnh ARCore kiểm soát.
  • setWorldRotation(Quaternion) – Bạn không thể thay đổi chế độ xoay của máy ảnh. Chế độ này chịu sự kiểm soát của tư thế máy ảnh ARCore.
Mọi chức năng khác trong Node đều được hỗ trợ. Bạn có thể truy cập vào vị trí và chế độ xoay của máy ảnh, chỉ định hình dạng xung đột cho máy ảnh hoặc thêm trẻ em vào máy ảnh. Khi bạn tắt máy ảnh, tính năng kết xuất sẽ bị tắt.

Phương thức công khai

số thực dấu phẩy động
số thực dấu phẩy động
số thực dấu phẩy động
getVerticalFovdegrees()
Lấy trường nhìn dọc của máy ảnh.
Ray
screenPointToRay(float x, float y)
Tính toán một tia trong không gian thế giới đi từ mặt phẳng gần của máy ảnh và đi qua một điểm trong không gian màn hình.
void
setLocalPosition(vị trí Vector3)
Đặt vị trí của máy ảnh.
void
setLocalRotation(Xoay Quaternion)
Đặt chế độ xoay của máy ảnh.
void
setParent(Phần tử mẹ của NodeParent)
Hoạt động không được hỗ trợ.
void
setVerticalFovDegrees(float verticalFov)
Đặt trường nhìn dọc cho máy ảnh không phải máy ảnh theo độ.
void
setWorldPosition(Vị trí vectơ3)
Đặt vị trí của máy ảnh.
void
setWorldRotation(Quaternion xoay)
Đặt chế độ xoay của máy ảnh.
Vector3
worldToScreenPoint(Điểm vectơ 3)
Chuyển đổi một điểm từ không gian thế giới thành không gian màn hình.

Các phương thức kế thừa

Phương thức công khai

float nổi getFarClipPlane ()

float float getNearClipPlane ()

công khai nổi getVerticalFovDegrees ()

Lấy trường nhìn dọc của máy ảnh.

Nếu đây là máy ảnh thực tế tăng cường, thì máy ảnh được tính dựa trên thông tin máy ảnh từ ARCore và có thể khác nhau giữa các thiết bị. Nó không thể được tính cho đến khi khung đầu tiên sau khi phiên ARCore được tiếp tục, trong trường hợp đó là IllegalStateException được gửi.

Nếu không, giá trị này sẽ trả về giá trị do setVerticalFovDegrees(float) đặt, theo mặc định là 90 độ.

Gửi
IllegalStateException nếu được gọi trước khung đầu tiên sau khi ARCore được tiếp tục

công khai Ray screenPointToRay (float x, float y)

Tính toán một tia trong không gian thế giới đi từ mặt phẳng gần của máy ảnh và đi qua một điểm trong không gian màn hình. Không gian màn hình ở toạ độ màn hình thiết bị Android: TopLeft = (0, 0) BottomRight = (Screen Width, Screen Height) Không gian toạ độ của thiết bị không bị ảnh hưởng bởi hướng của thiết bị.

Các tham số
lần Vị trí x trong toạ độ màn hình thiết bị.
y Vị trí Y trong tọa độ màn hình của thiết bị.

public void setLocalPosition (Vị trí vectơ 3)

Đặt vị trí của máy ảnh. Máy ảnh luôn isTopLevel(), do đó tính năng này hoạt động giống như setWorldPosition(Vector3).

Nếu máy ảnh này thuộc ArSceneView, thì đây là thao tác không được hỗ trợ. Vị trí máy ảnh không thể thay đổi được, nó bị kiểm soát bởi tư thế máy ảnh ARCore.

Các tham số
position Vị trí đăng ký.

public void setLocalRotation (Quaternion xoay)

Đặt chế độ xoay của máy ảnh. Máy ảnh luôn isTopLevel(), do đó tính năng này hoạt động giống như setWorldRotation(Quaternion).

Nếu máy ảnh này thuộc ArSceneView, thì đây là thao tác không được hỗ trợ. Bạn không thể thay đổi chế độ xoay của máy ảnh. Chế độ này chịu sự kiểm soát của tư thế máy ảnh ARCore.

Các tham số
xoay Xoay vòng để áp dụng.

public void setParent (NodeParent mẹ)

Hoạt động không được hỗ trợ. Cha mẹ của máy ảnh không thể thay đổi được, nó luôn là cảnh.

Các tham số
mẹ Cha mẹ mới mà nút này sẽ là con của. Nếu giá trị rỗng, nút này sẽ được tách khỏi nút mẹ.

public void setVerticalFovdegrees (floatverticalFov)

Đặt trường nhìn dọc cho máy ảnh không phải máy ảnh theo độ. Nếu đây là máy ảnh thực tế tăng cường (AR), thì phần mềm sẽ đến từ ARCore và không thể thiết lập ngoại lệ. Giá trị mặc định là 90 độ.

Các tham số
dọc
Gửi
Trường hợp ngoại lệ không được hỗ trợ nếu đây là máy ảnh thực tế tăng cường

public void setWorldPosition (Vector3 vị trí)

Đặt vị trí của máy ảnh. Máy ảnh luôn isTopLevel(), do đó tính năng này hoạt động giống như setLocalPosition(Vector3).

Nếu máy ảnh này thuộc ArSceneView, thì đây là thao tác không được hỗ trợ. Vị trí máy ảnh không thể thay đổi được, nó bị kiểm soát bởi tư thế máy ảnh ARCore.

Các tham số
position Vị trí đăng ký.

public void setWorldRotation (Quaternion xoay)

Đặt chế độ xoay của máy ảnh. Máy ảnh luôn isTopLevel(), do đó tính năng này hoạt động giống như setLocalRotation(Quaternion).

Nếu máy ảnh này thuộc ArSceneView, thì đây là thao tác không được hỗ trợ. Bạn không thể thay đổi chế độ xoay của máy ảnh. Chế độ này chịu sự kiểm soát của tư thế máy ảnh ARCore.

Các tham số
xoay Xoay vòng để áp dụng.

công khai Vector3 worldToScreenPoint (Vector3 điểm)

Chuyển đổi một điểm từ không gian thế giới thành không gian màn hình.

Giá trị X là số âm khi điểm nằm bên trái khung nhìn, trong khoảng từ 0 đến chiều rộng của SceneView khi điểm đó nằm trong khung nhìn và lớn hơn chiều rộng khi điểm này ở bên phải của khung nhìn.

Giá trị Y là số âm khi điểm nằm dưới khung nhìn, từ 0 đến chiều cao của SceneView khi điểm đó nằm trong khung nhìn và lớn hơn chiều cao khi điểm này nằm trên khung nhìn.

Giá trị Z luôn bằng 0 vì giá trị trả về là một tọa độ 2D.

Các tham số
điểm điểm trong không gian thế giới để chuyển đổi
Trả về
  • một vectơ mới biểu thị điểm trong không gian màn hình.