Cập nhật: Chúc mừng người nộp đơn feature requests! Trong iOS 11.3 (còn gọi là "ARKit 1.5"), bạn có thể kiểm soát ít nhất một số cài đặt chụp. Và bây giờ bạn có được 1080p với tính năng tự động lấy nét được bật theo mặc định.
Kiểm tra ARWorldTrackingConfiguration.supportedVideoFormats
để biết danh sách các đối tượng ARConfiguration.VideoFormat
, mỗi đối tượng xác định độ phân giải và tỷ lệ khung hình. Đầu tiên trong danh sách là tùy chọn mặc định (và tốt nhất) được hỗ trợ trên thiết bị hiện tại của bạn, vì vậy nếu bạn chỉ muốn độ phân giải/tốc độ khung hình tốt nhất có sẵn, bạn không phải làm gì cả. (Và nếu bạn muốn từ chối vì lý do hiệu suất bằng cách đặt videoFormat
, có thể tốt hơn để làm điều đó dựa trên thứ tự mảng thay vì kích thước mã hóa.)
Tự động lấy nét được bật theo mặc định trong iOS 11.3, vì vậy, ví dụ của bạn (với một chủ thể tương đối gần với máy ảnh) nên đi ra tốt hơn nhiều. Nếu vì một lý do nào đó bạn cần tắt nó, there's a switch for that.
Vẫn không có API để thay đổi cài đặt máy ảnh cho phiên chụp cơ bản được ARKit sử dụng.
Theo các kỹ sư quay lại WWDC, ARKit sử dụng một tập hợp con hạn chế khả năng chụp ảnh để đảm bảo tốc độ khung hình cao với tác động tối thiểu đến việc sử dụng CPU và GPU. Có một số chi phí chế biến để sản xuất video trực tiếp chất lượng cao hơn, nhưng cũng có một số chi phí xử lý cho hệ thống tích hợp cảm biến chuyển động và thị giác máy tính khiến ARKit hoạt động - tăng chi phí quá nhiều và bạn bắt đầu thêm độ trễ. Và đối với một công nghệ có nghĩa vụ cho người dùng xem "sống" tăng cường của thế giới của họ, bạn không muốn phần "được tăng cường" để chuyển động quay phim chậm bởi nhiều khung hình. (Ngoài ra, trên tất cả những điều đó, bạn có thể muốn một số thời gian CPU/GPU còn sót lại để ứng dụng của bạn hiển thị nội dung 3D có chiều ngang ở phía trên chế độ xem máy ảnh.)
Tình trạng này giống nhau giữa các thiết bị iPhone và iPad, nhưng bạn nhận thấy nó nhiều hơn trên iPad chỉ vì màn hình lớn hơn rất nhiều - video 720p không quá tệ trên màn hình 4-5 ", nhưng có vẻ khủng khiếp kéo dài để lấp đầy màn hình 10-13". (May mắn là bạn nhận được 1080p theo mặc định trong iOS 11.3, có vẻ tốt hơn.)
Hệ thống AVCapture cung cấp khả năng chụp ảnh có chất lượng cao hơn với độ phân giải cao hơn trong khi quay video, nhưng ARKit không hiển thị phiên chụp nội bộ của nó trong bất kỳ cách nào, vì vậy bạn không thể sử dụng AVCapturePhotoOutput
cùng với nó.(Chụp ảnh tĩnh có độ phân giải cao trong một phiên có thể vẫn tốt feature request.)
Bạn đã tìm được giải pháp chưa? Tôi đang gặp rắc rối tương tự với camera phía trước True-Depth trên iPhone X với phiên ARFaceTracking, tôi muốn lấy lại độ phân giải cao để đặt hình ảnh tĩnh từ phiên. Bạn có thể chuyển sang một AVCaptureSession bình thường không? Tạm dừng giữa công tắc là gì? Thực sự muốn biết các tùy chọn ở đây ... –