ARKit

2017-09-10 19 views
12

में कैमरा फ़ोकस समायोजित करें, मैं बढ़ी हुई वास्तविकता के दौरान डिवाइस के भौतिक कैमरा फ़ोकस को समायोजित करना चाहता हूं। (मैं SCNCamera ऑब्जेक्ट के बारे में बात नहीं कर रहा हूं।)
Apple Dev forum post में, मैंने पढ़ा है कि ऑटोफोकस एआरकेट के ऑब्जेक्ट डिटेक्शन में हस्तक्षेप करेगा, जो मुझे समझ में आता है।ARKit

अब, मैं एक ऐप पर काम कर रहा हूं जहां उपयोगकर्ता उस ऑब्जेक्ट के करीब होंगे जो वे देख रहे हैं। कैमरे के डिफ़ॉल्ट रूप से ध्यान केंद्रित करता है जब ऑब्जेक्ट के करीब 10 सेमी की तुलना में सब कुछ बहुत धुंधला दिखता है।

क्या मैं दृश्य को शुरू करने से पहले कैमरे के फोकस को समायोजित कर सकता हूं, या अधिमानतः दृश्य में रहते हुए?


20.01.2018
जाहिर है, वहाँ अभी भी इस समस्या का कोई समाधान नहीं है। आप निजी एपीआई वर्कअराउंड और अन्य (गैर-सहायता) जानकारी के लिए this reddit post और this developer forum post पर इसके बारे में अधिक पढ़ सकते हैं।


25.01.2018
@AlexanderVasenin एप्पल के प्रलेखन की ओर इशारा करते एक उपयोगी अद्यतन प्रदान की है। यह दिखाता है कि ARKit केवल ध्यान केंद्रित करने में सहायता नहीं करेगा, बल्कि आईओएस 11.3 के रूप में ऑटोफोकसिंग का समर्थन करने में सक्षम होगा।
नीचे मेरा उपयोग नमूना देखें।

+0

क्या आप इस के लिए कोई समाधान ढूंढने में कामयाब रहे हैं? –

+0

नहीं। पद ऊपर उठता रहता है लेकिन अब तक किसी ने भी जवाब नहीं दिया है या यहां तक ​​कि टिप्पणी भी की है, इसलिए मुझे लगता है कि इस बिंदु पर कोई समाधान नहीं है। – LinusGeffarth

+1

अच्छी खबर सभी: https://developer.apple.com/documentation/arkit/arworldtrackingconfiguration/2942262-isautofocusenabled –

उत्तर

2

stated by Alexander के रूप में, आईओएस 11.3 एआरकेट को ऑटोफोकस लाता है।
corresponding documentation site से पता चलता है कि यह कैसे घोषित किया जाता है:

var isAutoFocusEnabled: Bool { get set } 

आप इसे इस तरह से उपयोग कर सकते हैं:

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

हालांकि, के रूप में यह true डिफ़ॉल्ट रूप से है, तो आप भी इसे मैन्युअल रूप से स्थापित करने के लिए नहीं होना चाहिए, जब तक आप ऑप्ट आउट करना चुनते हैं।

1

अद्यतन: आईओएस 11.3 से शुरू करना ARKit ऑटोफोकसिंग का समर्थन करता है, और यह डिफ़ॉल्ट रूप से सक्षम है (more info)। मैन्युअल फोकस अभी भी उपलब्ध नहीं हैं।


आईओएस से पहले 11.3 ARKit ने मैन्युअल फोकस समायोजन और न ही ऑटोफोकसिंग का समर्थन नहीं किया था।

ARKit ऑटोफोकस सक्षम के रूप में यह प्रतिकूल विमान का पता लगाने को प्रभावित कर सकता के साथ नहीं चलता है:

यहाँ विषय (अक्टूबर 2017) पर एप्पल के जवाब है। ऑटोफोकस का समर्थन करने के लिए एक मौजूदा सुविधा अनुरोध है और अतिरिक्त अनुरोधों को दर्ज करने की आवश्यकता नहीं है। किसी भी अन्य फोकस विसंगतियों को बग रिपोर्ट के रूप में दायर किया जाना चाहिए। डिवाइस मॉडल और ओएस संस्करण को शामिल करना सुनिश्चित करें। (source)

वहाँ another thread एप्पल मंचों जहां एक डेवलपर दावा है कि उन्होंने निजीAVCaptureDevice ARKit द्वारा इस्तेमाल किया पर AVCaptureDevice.setFocusModeLocked(lensPosition:completionHandler:) विधि को फोन करके ऑटोफोकस समायोजित करने में सक्षम था पर है और यह यह ट्रैकिंग को प्रभावित करने वाले नहीं है प्रकट होता है। हालांकि the method स्वयं सार्वजनिक है, ARKit का AVCaptureDevice नहीं है, इसलिए उत्पादन में इस हैक का उपयोग करने से अधिकतर ऐप स्टोर अस्वीकृति का परिणाम होगा।

+0

उम्म धन्यवाद? मेरा मतलब है 1) मेरा सवाल ऑटोफोकस के बारे में नहीं है और 2) मैंने पहले से ही उस कामकाज को जोड़ा है। – LinusGeffarth

+0

@LinusGeffarth I ने अन्य निष्कर्षों के लिए इसे आसान बनाने के लिए अपने निष्कर्षों को संक्षेप में संक्षेप में बताया। यदि आप चाहें तो आप इसे स्वयं कर सकते हैं। –

+0

हमें पोस्ट रखने के लिए धन्यवाद! – LinusGeffarth

संबंधित मुद्दे