Chế độ xem ArScene

lớp công khai ArSceneView

Một SurfaceView tích hợp với ARCore và hiển thị một cảnh.

Hằng số kế thừa

Các trường kế thừa

Xây dựng công cộng

ArSceneView(ngữ cảnh Context)
Tạo một đối tượng ArSceneView và liên kết đối tượng đó với một Ngữ cảnh Android.
ArSceneView(ngữ cảnh Context, AttributesSet)
Tạo một đối tượng ArSceneView và liên kết đối tượng đó với một Ngữ cảnh Android.

Phương thức công khai

Khung
getArFrame()
Trả về Khung ARCore gần đây nhất nếu có.
int
getCameraStreamRenderPreferences()
Nhận mức độ ưu tiên kết xuất kiểm soát thứ tự kết xuất luồng máy ảnh.
Trình kết xuất phẳng
getPlaneRenderer()
Trả về PlaneRenderer, dùng để kiểm soát tính năng trực quan hóa mặt phẳng.
Phiên hoạt động
getSession()
Trả về Phiên ARCore mà chế độ xem này sử dụng.
boolean
isEnvironmentalHdrLightingAvailable()
Trả về true nếu máy ảnh ARCore được định cấu hình bằng Config.LightEstimationMode.ENVIRONMENTAL_HDR.
boolean
isLightDirectionUpdateEnabled()
Kiểm tra xem ánh sáng mặt trời có đang được cập nhật từng khung hình hay không dựa trên số liệu ước tính về ánh sáng của công nghệ HDR của môi trường.
boolean
void
pause()
Tạm dừng luồng kết xuất và phiên ARCore.
CompletableFuture<Void>
pauseAsync(Trình thực thi thực thi)
Lệnh gọi không chặn để tạm dừng luồng kết xuất và phiên ARCore.
void
resume()
Tiếp tục luồng kết xuất và phiên ARCore.
CompletableFuture<Void>
resumeAsync(Trình thực thi Trình thực thi)
Lệnh gọi không chặn để tiếp tục luồng kết xuất và phiên ARCore trong nền

Lệnh này phải được gọi từ onResume().

void
setCameraStreamRenderpriority(mức độ ưu tiên của mạng int)
Đặt mức độ ưu tiên kết xuất để kiểm soát thứ tự kết xuất luồng máy ảnh.
void
setLightDirectionUpdateEnabled(boolean isLightDirectionUpdateEnabled)
Đặt hướng của ánh sáng mặt trời được tạo ra từ hệ thống chiếu sáng môi trường HDR có nên được cập nhật hay không trên mọi khung hình.
void
setLightEstimationEnabled(bật boolean)
Bật tính năng Ước tính ánh sáng dựa trên nguồn cấp dữ liệu máy ảnh.
void
setupSession(phiên hoạt động Session)
Thiết lập chế độ xem bằng Phiên thực tế tăng cường.

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

Xây dựng công cộng

công khai ArSceneView (Ngữ cảnh ngữ cảnh)

Tạo một đối tượng ArSceneView và liên kết đối tượng đó với một Ngữ cảnh Android.

Để có thể hoạt động chính xác, bạn phải gọi setupSession(Session).

Các tham số
bối cảnh ngữ cảnh Android cần sử dụng

công khai ArSceneView (Ngữ cảnh Ngữ cảnh, AttributesSet)

Tạo một đối tượng ArSceneView và liên kết đối tượng đó với một Ngữ cảnh Android.

Để có thể hoạt động chính xác, bạn phải gọi setupSession(Session).

Các tham số
bối cảnh ngữ cảnh Android cần sử dụng
thuộc tính Bộ thuộc tính Android liên kết với

Phương thức công khai

công khai Khung getArFrame ()

Trả về Khung ARCore gần đây nhất nếu có. Khung này được cập nhật ở đầu mỗi khung vẽ. Các lệnh gọi của phương thức này không được giữ lại tham chiếu đến giá trị trả về vì sẽ không hợp lệ khi sử dụng khung ARCore bắt đầu từ khung tiếp theo.

public int getCameraStreamRender sản phẩm ()

Nhận mức độ ưu tiên kết xuất kiểm soát thứ tự kết xuất luồng máy ảnh. Mức độ ưu tiên nằm trong khoảng từ 0 (hiển thị đầu tiên) đến 7 (hiển thị cuối cùng).

Giá trị mặc định là 7, bắt buộc luồng máy ảnh hiển thị cuối cùng. Cách này hiệu quả nhất để ngăn chặn tình trạng vẽ nhiều lần. Tuy nhiên, khi sử dụng một chất liệu làm lớp phủ (ví dụ: trong mẫu khuôn mặt tăng cường), bạn nên thay đổi kích thước này. Nếu không, trình bao phủ sẽ chiếm dụng luồng máy ảnh và sẽ có màu đen xuất hiện.

công khai PlaneRenderer getPlaneRenderer ()

Trả về PlaneRenderer, dùng để kiểm soát tính năng trực quan hóa mặt phẳng.

công khai Phiên getSession ()

Trả về Phiên ARCore mà chế độ xem này sử dụng.

boolean công khai isEnvironmentalHdrLightingAvailable ()

Trả về true nếu máy ảnh ARCore được định cấu hình bằng Config.LightEstimationMode.ENVIRONMENTAL_HDR. Khi bạn bật chế độ chiếu sáng HDR trong môi trường, kết quả ước tính ánh sáng kết quả sẽ được áp dụng cho Scene Scene Scene.

Trả về
  • true nếu tính năng chiếu sáng HDR được bật trong Sceneform vì tính năng ước tính ánh sáng ARCore HDR đang bật.

boolean công khai isLightDirectionUpdateEnabled ()

Kiểm tra xem ánh sáng mặt trời có đang được cập nhật từng khung hình hay không dựa trên số liệu ước tính về ánh sáng của công nghệ HDR của môi trường.

Trả về
  • true nếu hướng của ánh sáng mặt trời được cập nhật trong mọi khung hình, false nếu không được cập nhật.

boolean công khai isLightEstimationEnabled ()

Trả về
  • trả về true nếu ước tính ánh sáng được bật.

công khai khoảng trống pause ()

Tạm dừng luồng kết xuất và phiên ARCore.

Lệnh gọi này phải được gọi từ onPause().

public CompletableFuture<Void> pauseAsync (Trình thực thi)

Lệnh gọi không chặn để tạm dừng luồng kết xuất và phiên ARCore.

Lệnh này sẽ được gọi từ onPause().

Nếu pauseAsync được gọi trong khi đang tạm dừng hoặc tiếp tục, thì quá trình tạm dừng sẽ được thêm vào hàng đợi và xảy ra sau khi thao tác hiện tại hoàn tất.

Các tham số
người thi hành
Trả về
  • CompletableFuture đã hoàn tất trên chuỗi chính trong thời gian tạm dừng đã hoàn tất. Di chúc trong tương lai sẽ được hoàn tất đặc biệt nếu không thể tiếp tục.

công khai khoảng trống tiếp tục ()

Tiếp tục luồng kết xuất và phiên ARCore.

Lệnh này phải được gọi từ onResume().

Gửi
Ngoại lệ máy ảnh không khả dụng nếu không thể mở máy ảnh

public CompletableFuture<Void> resumeAsync (Bộ thực thi)

Lệnh gọi không chặn để tiếp tục luồng kết xuất và phiên ARCore trong nền

Lệnh này phải được gọi từ onResume().

Nếu được gọi trong khi đang tạm dừng hoặc tiếp tục, thì quá trình tiếp tục sẽ được đưa vào hàng đợi và xảy ra sau khi thao tác hiện tại hoàn tất.

Các tham số
người thi hành
Trả về
  • CompletableFuture đã hoàn thành trên chuỗi chính sau khi tiếp tục hoàn tất. Bạn sẽ hoàn thành trong tương lai nếu không thể tiếp tục.

public void setCameraStreamRenderpriority (mức độ ưu tiên của inint)

Đặt mức độ ưu tiên kết xuất để kiểm soát thứ tự kết xuất luồng máy ảnh. Mức độ ưu tiên nằm trong khoảng từ 0 (hiển thị đầu tiên) đến 7 (hiển thị cuối cùng).

Giá trị mặc định là 7, bắt buộc luồng máy ảnh hiển thị cuối cùng. Cách này hiệu quả nhất để ngăn chặn tình trạng vẽ nhiều lần. Tuy nhiên, khi sử dụng một chất liệu làm lớp phủ (ví dụ: trong mẫu khuôn mặt tăng cường), bạn nên thay đổi kích thước này. Nếu không, trình bao phủ sẽ chiếm dụng luồng máy ảnh và sẽ có màu đen xuất hiện.

Các tham số
tuyển sinh ưu tiên

public void setLightDirectionUpdateEnabled (boolean isLightDirectionUpdateEnabled)

Đặt hướng của ánh sáng mặt trời được tạo ra từ hệ thống chiếu sáng môi trường HDR có nên được cập nhật hay không trên mọi khung hình. Nếu bạn tắt, hướng sáng sẽ được cập nhật một lần và sau đó không còn thay đổi.

Bạn có thể sử dụng tính năng này để tắt tính năng cập nhật hướng bóng khi các nội dung này gây mất tập trung hoặc không mong muốn.

Trạng thái mặc định là true, với hướng ánh sáng mặt trời được cập nhật trong mọi khung hình.

Các tham số
isLightDirectionUpdateEnabled

public void setLightEstimationEnabled (bật tính năng boolean)

Bật tính năng Ước tính ánh sáng dựa trên nguồn cấp dữ liệu máy ảnh. Màu sắc và cường độ của ánh sáng mặt trời gián tiếp sẽ được điều chỉnh theo các giá trị do công cụ ước tính ánh sáng của ARCore cung cấp. Các đối tượng Lint trong cảnh sẽ bị ảnh hưởng.

Các tham số
bật đặt thành true để bật tính năng Ước tính ánh sáng hoặc false để sử dụng số liệu ước tính mặc định, tức là cường độ pixel là 1.0 và giá trị chỉnh màu của màu trắng (1.0, 1.0, 1.0).

public void setupSession (Phiên))

Thiết lập chế độ xem bằng Phiên thực tế tăng cường. Phương thức này phải được gọi một lần để cung cấp phiên ARCore. Phiên cần phải có để quá trình kết xuất xảy ra.

Theo dự kiến, phiên họp sẽ được định cấu hình với chế độ cập nhật là MOST_CAMERA_IMAGE. Nếu không có cấu hình này, việc cập nhật phiên ARCore có thể chặn Luồng giao diện người dùng gây ra trải nghiệm giao diện người dùng kém.

Các tham số
phiên hoạt động phiên ARCore sử dụng cho chế độ xem này