2017-09-10 43 views
12

Tôi muốn điều chỉnh máy ảnh vật lý của thiết bị tập trung trong khi tăng cường thực tế. (Tôi không nói về đối tượng SCNCamera.)
Trong một Apple Dev forum post, tôi đã đọc tự động lấy nét sẽ can thiệp vào phát hiện đối tượng của ARKit, điều này có ý nghĩa với tôi.Điều chỉnh tiêu cự của máy ảnh ở ARKit

Bây giờ, tôi đang làm việc trên một ứng dụng mà người dùng sẽ ở gần đối tượng mà họ đang xem. Tiêu điểm của máy ảnh theo mặc định làm cho mọi thứ trông rất mờ khi gần với vật thể hơn 10cm.

Tôi có thể điều chỉnh tiêu cự của máy ảnh trước khi khởi chạy cảnh hoặc tốt nhất là khi ở trong cảnh không?


20.01.2018
Rõ ràng, vẫn còn không có giải pháp cho vấn đề này. Bạn có thể đọc thêm về điều này tại this reddit postthis developer forum post để biết các giải pháp API riêng tư và thông tin khác (không hỗ trợ).


25.01.2018
@AlexanderVasenin cung cấp một bản cập nhật hữu ích trỏ đến tài liệu hướng dẫn của Apple. Nó cho thấy rằng ARKit sẽ có thể hỗ trợ không chỉ tập trung, mà còn tự động lấy nét tự động lấy nét như của iOS 11.3.
Xem mẫu sử dụng của tôi bên dưới.

+0

bạn đã quản lý để tìm bất kỳ giải pháp nào cho vấn đề này không? –

+0

Không. Các bài viết tiếp tục được upvoted nhưng không ai đã trả lời hoặc thậm chí bình luận cho đến nay vì vậy tôi đoán không có giải pháp vào thời điểm này. – LinusGeffarth

+1

Tin tốt cho mọi người: https://developer.apple.com/documentation/arkit/arworldtrackingconfiguration/2942262-isautofocusenabled –

Trả lời

2

stated by Alexander, iOS 11.3 tự động lấy nét cho ARKit.
Các corresponding documentation site cho thấy làm thế nào nó được khai báo:

var isAutoFocusEnabled: Bool { get set } 

Bạn có thể truy cập vào nó theo cách này:

var configuration = ARWorldTrackingConfiguration() 
configuration.isAutoFocusEnabled = true // or false 

Tuy nhiên, vì nó là true theo mặc định, bạn thậm chí không cần phải cài đặt nó bằng tay, trừ khi bạn chọn không tham gia.

1

CẬP NHẬT: Bắt đầu từ iOS 11.3 ARKit hỗ trợ tự động lấy nét và được bật theo mặc định (more info). Lấy nét thủ công vẫn không có sẵn.


Trước khi iOS 11.3 ARKit không hỗ trợ điều chỉnh tiêu cự thủ công hay tự động lấy nét.

Dưới đây là trả lời của Apple về vấn đề (Tháng 10 năm 2017):

ARKIT không chạy tự động lấy nét với kích hoạt vì nó có thể ảnh hưởng xấu đến phát hiện máy bay. Có một yêu cầu tính năng hiện có để hỗ trợ lấy nét tự động và không cần phải gửi yêu cầu bổ sung. Bất kỳ sự khác biệt trọng tâm nào khác cũng phải được gửi dưới dạng báo cáo lỗi. Đảm bảo bao gồm kiểu thiết bị và phiên bản hệ điều hành. (source)

another thread trên các diễn đàn của Apple, nơi một nhà phát triển tuyên bố ông đã có thể điều chỉnh tự động lấy nét bằng cách gọi AVCaptureDevice.setFocusModeLocked(lensPosition:completionHandler:) phương pháp trên tinAVCaptureDevice sử dụng bởi ARKIT và nó xuất hiện nó không ảnh hưởng đến theo dõi. Mặc dù the method chính nó là công khai, nhưng AVCaptureDevice của ARKit thì không, do đó, việc sử dụng bản hack này trong sản xuất rất có thể sẽ dẫn đến việc từ chối App Store.

+0

Cảm ơn bạn? Tôi có nghĩa là 1) câu hỏi của tôi không phải là về tự động lấy nét và 2) Tôi đã liên kết cách giải quyết đó. – LinusGeffarth

+0

@LinusGeffarth Tôi chỉ tóm tắt những phát hiện của bạn trong một câu trả lời để giúp các nhà phát triển khác dễ dàng hơn. Bạn có thể tự mình làm nếu muốn. –

+0

Cảm ơn bạn đã giữ cho chúng tôi được đăng! – LinusGeffarth

Các vấn đề liên quan