ARKit फ्रेमवर्क Apple का संवर्धित वास्तविकता प्लेटफॉर्म है जो डेवलपर्स को कंप्यूटर विज़न के गहन ज्ञान के बिना iOS के लिए AR ऐप्लिकेशन बनाने की अनुमति देता है। Apple ARKit Documentation, 2025 के अनुसार, फ्रेमवर्क बिना बाहरी मार्करों के अंतरिक्ष में डिवाइस की स्थिति की सटीक ट्रैकिंग के लिए Visual-Inertial Odometry का उपयोग करता है। दृश्य की सिमैंटिक समझ क्षैतिज और ऊर्ध्वाधर समतलों को पहचानने, प्रकाश निर्धारित करने और वास्तविक वातावरण में आभासी वस्तुएं रखने की अनुमति देती है।
मुख्य बिंदु
ARKit Apple का संवर्धित वास्तविकता फ्रेमवर्क है, जिसे WWDC 2017 में iOS 11 के साथ घोषित किया गया था। यह विशेष हार्डवेयर की आवश्यकता के बिना एक immersive AR अनुभव प्रदान करने के लिए कैमरा क्षमताओं, M-श्रृंखला मोशन कोप्रोसेसर और A-चिप्स के न्यूरल इंजन को जोड़ता है — बस एक iPhone या iPad।
ARKit Visual-Inertial Odometry (VIO) का उपयोग करता है, जो अंतरिक्ष में डिवाइस की गति को सटीक रूप से ट्रैक करने के लिए कैमरा और Core Motion इनर्शियल सेंसर से डेटा को जोड़ता है। VIO फ्रेमवर्क को GPS या बाहरी मार्करों के उपयोग के बिना यह समझने की अनुमति देता है कि डिवाइस अपने वातावरण के सापेक्ष कहां है।
Apple WWDC 2024 के अनुसार, ARKit 6 A12 चिप और नए वाले डिवाइसों पर समर्थित है (iPhone XS, iPad Pro 2018+)। App Store में AR ऐप्स की संख्या 15,000 से अधिक हो गई है, और सभी AR सत्रों में पहचाने गए समतलों का कुल क्षेत्रफल 100 अरब वर्ग मीटर से अधिक है।
छह संस्करणों में, ARKit को महत्वपूर्ण सुधार मिले: ARKit 1.0 (iOS 11) — बुनियादी ट्रैकिंग और समतल पहचान; ARKit 2.0 — ARWorldMap के माध्यम से साझा AR सत्र और 3D ऑब्जेक्ट डिटेक्शन; ARKit 3.0 — मानव शरीर ट्रैकिंग, लोगों का विभाजन, और एक साथ आगे और पीछे के कैमरे।
ARKit 4.0 ने तत्काल गहराई और ऑब्जेक्ट ऑक्लूज़न निर्धारण के लिए LiDAR स्कैनर पेश किया, साथ ही AR सामग्री को GPS निर्देशांक से जोड़ने के लिए Location Anchor भी। ARKit 6 ने HDR के साथ 4K वीडियो, LiDAR का उपयोग करके Plane Estimation, और बेहतर ऑक्लूज़न हैंडलिंग जोड़ी।
import ARKit
let configuration = ARWorldTrackingConfiguration()
configuration.planeDetection = [.horizontal, .vertical]
configuration.environmentTexturing = .automatic
let arView = ARSCNView(frame: view.bounds)
arView.session.run(configuration)
arView.debugOptions = [.showFeaturePoints]
view.addSubview(arView)
ARKit एक AR सत्र लूप के माध्यम से काम करता है, जो एक कॉन्फ़िगरेशन के साथ शुरू होता है और कैमरे से वीडियो स्ट्रीम का लगातार विश्लेषण करता है। प्रत्येक फ्रेम में, फ्रेमवर्क डिवाइस की स्थिति (6 डिग्री ऑफ फ्रीडम) की गणना करता है, पहचाने गए समतलों का नक्शा अपडेट करता है, और आभासी वस्तुओं की स्थिति को समायोजित करता है — यह सब 60 फ्रेम प्रति सेकंड पर।
VIO प्रक्रिया में दो समानांतर पाइपलाइन हैं: विज़ुअल ओडोमेट्री एल्गोरिदम फ्रेमों के बीच फीचर पॉइंट्स की गति को ट्रैक करता है, जबकि Core Motion इनर्शियल सेंसर कम अंतराल पर गति की भविष्यवाणी करते हैं जब कैमरा तेज़ी से चलता है या छवि धुंधली होती है। दोनों विधियों के संयोजन से 1 सेंटीमीटर तक की ट्रैकिंग सटीकता मिलती है।
Apple के अनुसार, ARKit प्रति फ्रेम 500 फीचर पॉइंट तक प्रोसेस करता है, और पर्यावरण मानचित्र (ARWorldMap) का व्यास 100 मीटर तक हो सकता है। पर्यावरण को स्कैन करने और मानचित्र बनाने में सत्र शुरू होने के बाद लगभग 2–3 सेकंड लगते हैं — इस दौरान ARKit कैमरे और सेंसर से डेटा जमा करता है।
ARAnchor सामग्री रखने के लिए एक मुख्य ऑब्जेक्ट है। जब ARKit एक समतल को पहचानता है, तो यह सतह की स्थिति, आकार और अभिविन्यास निर्दिष्ट करते हुए एक ARPlaneAnchor बनाता है। डेवलपर डेलिगेट session(_:didAdd:) पर प्रतिक्रिया देता है और SceneKit या RealityKit का उपयोग करके पहचाने गए समतल स्थान पर 3D ऑब्जेक्ट रखता है।
ऑब्जेक्ट ड्रैगिंग को लागू करने के लिए, ARHitTestResult का उपयोग किया जाता है: जब स्क्रीन को छुआ जाता है, तो ARKit फ्रेम के माध्यम से एक हिट-टेस्ट किया जाता है, जो पहचाने गए समतलों के साथ किरण के प्रतिच्छेदन बिंदु को लौटाता है। मिले बिंदु को ARAnchor में बदल दिया जाता है, और ऑब्जेक्ट उस स्थिति में स्थिर हो जाता है।
func renderer(
_ renderer: SCNSceneRenderer,
didAdd node: SCNNode,
for anchor: ARAnchor
) {
guard let planeAnchor = anchor
as? ARPlaneAnchor else { return }
let boxNode = SCNNode(
geometry: SCNBox(
width: planeAnchor.extent.x,
height: 0.01,
length: planeAnchor.extent.z,
chamferRadius: 0
)
)
node.addChildNode(boxNode)
}
ARKit प्रौद्योगिकियों का एक सेट प्रदान करता है जो संवर्धित वास्तविकता को यथार्थवादी और कार्यात्मक बनाता है: 6 डिग्री ऑफ फ्रीडम के साथ गति ट्रैकिंग, समतलों और सीमाओं की पहचान के माध्यम से दृश्य समझ, उचित छाया प्रस्तुतिकरण के लिए प्रकाश अनुमान, लोगों का ऑक्लूज़न, और पर्यावरण मानचित्रों पर आधारित परावर्तक सतहें।
मोशन कैप्चर (ARKit 3+) — कैमरे के माध्यम से रीयल-टाइम में मानव शरीर को ट्रैक करने की तकनीक। बाहरी सेंसर के बिना उपयोगकर्ता की गतिविधियों से पात्रों को एनिमेट करने की अनुमति देता है: 60 Hz पर 18 जोड़ों को पहचाना जाता है। फिटनेस ऐप्स और एनिमेशन प्रोटोटाइपिंग में उपयोग किया जाता है।
साझा AR सत्र (ARKit 2+) कई डिवाइसों को एक साझा स्थान में समान आभासी वस्तुएं देखने की अनुमति देते हैं। ARWorldMap पर्यावरण मानचित्र को सहेजता है, जो नेटवर्क पर अन्य डिवाइसों को प्रेषित होता है। Apple एक सिंक्रनाइज़ेशन सटीकता उदाहरण देता है: एक ही कमरे में दो iPhone 12 Pro ऑब्जेक्ट को 2 सेंटीमीटर से अधिक के विचलन के साथ देखते हैं।
iPhone 12 Pro और नए में निर्मित LiDAR स्कैनर, ARKit की क्षमताओं को नाटकीय रूप से बदल देता है। छवि विश्लेषण के माध्यम से सॉफ़्टवेयर-आधारित गहराई निर्धारण के बजाय, LiDAR 5 मीटर तक की सीमा में 3 सेंटीमीटर तक की सटीकता के साथ तुरंत गहराई का नक्शा प्रदान करता है। यह ARKit को कैमरे के प्रारंभिक स्कैनिंग के बिना तुरंत समतलों को पहचानने की अनुमति देता है।
LiDAR के साथ, ARKit ऑब्जेक्ट ऑक्लूज़न निर्धारित कर सकता है: एक आभासी वस्तु वास्तविक कुर्सी या मेज के पीछे छिप सकती है। इसके अतिरिक्त, Scene Reconstruction रीयल-टाइम में पर्यावरण का 3D मेश बनाती है — प्रति कमरा 10 मिलियन पॉलीगॉन तक, जिसका उपयोग टक्कर भौतिकी सिमुलेशन और यथार्थवादी प्रकाश व्यवस्था के लिए किया जाता है।
// LiDAR कॉन्फ़िगरेशन
let lidarConfig = ARWorldTrackingConfiguration()
lidarConfig.planeDetection = [.horizontal]
lidarConfig.sceneReconstruction = .mesh
arView.session.run(lidarConfig)
// प्लेन टैप डिटेक्शन
override func touchesBegan(
_ touches: Set<UITouch>,
with event: UIEvent?
) {
let location = touches.first?.location(in: arView)
guard let hitPoint = location else { return }
let results = arView
.raycastQuery(
from: hitPoint,
allowing: .existingPlaneInfinite,
alignment: .horizontal
)
}
ARKit एकीकरण न्यूनतम आवश्यकताओं से शुरू होता है: Xcode 15+, iOS 17 SDK, A12 Bionic चिप या नए वाला डिवाइस। Info.plist में NSCameraUsageDescription कुंजी जोड़नी होगी — ARKit ट्रैकिंग और AR दृश्य प्रदर्शित करने के लिए कैमरे का उपयोग करता है। इस कुंजी के बिना, AR सत्र शुरू करने पर ऐप क्रैश हो जाएगा।
सामग्री प्रस्तुत करने के लिए, iOS तीन फ्रेमवर्क प्रदान करता है: मध्यम जटिलता के 3D ग्राफिक्स के लिए SceneKit, PBR सामग्रियों के साथ फोटोरियलिस्टिक रेंडरिंग के लिए RealityKit, और अधिकतम प्रदर्शन के लिए Metal। RealityKit नए प्रोजेक्ट्स के लिए अनुशंसित विकल्प है क्योंकि इसमें ARKit सुविधाओं, एनिमेशन और भौतिकी के लिए अंतर्निहित समर्थन शामिल है।
Apple के अनुसार, मौजूदा ऐप में बुनियादी AR स्क्रीन को एकीकृत करने का औसत समय एक अनुभवी iOS डेवलपर के लिए लगभग 2 घंटे है। मुख्य कठिनाइयां AR दृश्य पर UI तत्व ओवरले के साथ काम करने और AR सत्र में रुकावटों को संभालने पर उत्पन्न होती हैं — कॉल, ऐप स्विचिंग, या कम रोशनी में ट्रैकिंग हानि।
ARKit कई स्थितियों में ट्रैकिंग खो सकता है: अपर्याप्त प्रकाश (100 लक्स से कम), फीचर पॉइंट्स की कमी (मोनोक्रोम दीवारें), तेज़ कैमरा हरकतें, या लेंस रुकावट। ARSessionDelegate इन स्थितियों को संभालने के तरीके प्रदान करता है — उपयोगकर्ता को संकेत दिखाने की अनुशंसा की जाती है: “डिवाइस को धीरे-धीरे घुमाएं” या “लाइट चालू करें।”
विफलता के बाद पुनर्प्राप्ति के लिए, ARKit स्वचालित रूप से रिलोकलाइज़ेशन शुरू करता है — यह सहेजे गए पर्यावरण मानचित्र के साथ वर्तमान वीडियो स्ट्रीम को मैच करने का प्रयास करता है। यदि रिलोकलाइज़ेशन संभव नहीं है, तो सत्र एक नए कॉन्फ़िगरेशन के साथ पुनरारंभ होता है। वापसी पर त्वरित AR दृश्य बहाली के लिए ऐप से बाहर निकलने पर ARWorldMap को सहेजने की अनुशंसा की जाती है।
class ARViewController: UIViewController {
let arView = ARSCNView()
override func viewDidLoad() {
super.viewDidLoad()
arView.session.delegate = self
let config = ARWorldTrackingConfiguration()
config.planeDetection = [.horizontal]
config.frameSemantics = .personSegmentation
arView.session.run(config)
}
func sessionWasInterrupted(
_ session: ARSession
) {
showAlert("सत्र बाधित")
}
}
अक्सर पूछे जाने वाले प्रश्न
ARKit A12 Bionic चिप और नए वाले Apple डिवाइसों पर काम करता है: iPhone XS, XR, 11, 12, 13, 14, 15, 16 और SE (दूसरी और तीसरी पीढ़ी), iPad Pro 2018+, iPad Air 2020+, iPad mini 2021+। LiDAR सुविधाओं के लिए iPhone 12 Pro/Pro Max, iPhone 13 Pro/Pro Max, iPhone 14 Pro/Pro Max, iPhone 15 Pro/Pro Max और iPad Pro 2020+ की आवश्यकता है।
हां, ARKit को सीधे Metal के साथ उपयोग किया जा सकता है, लेकिन इसके लिए कस्टम शेडर और रेंडरिंग लिखने की आवश्यकता होती है। SceneKit और RealityKit फ्रेमवर्क स्तर पर ARKit एकीकरण के साथ तैयार समाधान प्रदान करते हैं। शुरुआती लोगों के लिए, RealityKit सर्वोत्तम विकल्प है क्योंकि यह स्वचालित रूप से ARKit कार्यों को संभालता है।
ARKit स्वचालित रूप से कैमरे के माध्यम से दृश्य प्रकाश का मूल्यांकन करता है और AREnvironmentProbeAnchor के माध्यम से प्रकाश स्रोत की दिशा, तीव्रता और रंग तापमान पर डेटा प्रदान करता है। यह आभासी वस्तुओं को सही ढंग से छाया डालने और पर्यावरण को प्रतिबिंबित करने की अनुमति देता है, जिससे वास्तविक दुनिया के साथ एक यथार्थवादी सम्मिलन बनता है।
ARKit केवल iOS पर काम करता है और ट्रैकिंग के लिए Visual-Inertial Odometry का उपयोग करता है, जबकि Google का ARCore Android पर काम करता है और IMU और कैमरे पर आधारित अपने स्वयं के Motion Tracking का उपयोग करता है। ARKit को Apple चिप्स के साथ हार्डवेयर एकीकरण के माध्यम से लाभ है, जबकि ARCore Cloud Anchors के माध्यम से क्रॉस-प्लेटफ़ॉर्म क्षमता प्रदान करता है।
हां, ARKit AR गेम्स के लिए आदर्श है। SceneKit और RealityKit भौतिकी (SCNPhysicsBody, PhysicsSimulation), एनिमेशन, ध्वनि और कणों का समर्थन करते हैं। ज्ञात उदाहरणों में Pokémon GO (ARKit के साथ अपने स्वयं के इंजन का उपयोग करता है), Angry Birds AR और Lego AR Studio शामिल हैं। ARKit ARWorldMap के माध्यम से मल्टीप्लेयर सत्रों का भी समर्थन करता है।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें