हाल ही में, Apple ने Vision Pro जारी किया, और मैं इसका गौरवशाली मालिक बनने के लिए भाग्यशाली था। तब से, मैं अपने एप्लिकेशन को विकसित करने और Vision Pro ऐप स्टोर के भीतर विभिन्न ऐप्स और रुझानों की खोज करने में गहराई से लगा हुआ हूँ।
एक बात जिसने मेरा ध्यान खींचा, वह यह है कि हर दिन नए ऐप आ रहे हैं, लेकिन उनमें से कुछ ही इमर्सिव वर्चुअल रियलिटी अनुभव के साथ अच्छी तरह से फिट होते हैं। मुझे लगता है कि कई डेवलपर्स विज़न प्रो सुविधाओं के लिए दस्तावेज़ और उदाहरण खोजने के लिए संघर्ष करते हैं। हालाँकि, विज़न प्रो की क्षमताओं का उपयोग करके आप अपने एप्लिकेशन को अलग बना सकते हैं और उपयोगकर्ताओं को बेहतर अनुभव प्रदान कर सकते हैं।
इस लेख में, मैं कुछ टिप्स और ट्रिक्स साझा करूँगा जो मैंने अपने एप्लिकेशन को तैयार करते समय खोजे हैं। ये टिप्स न केवल आपके एप्लिकेशन को अलग दिखने में मदद करेंगे बल्कि VisionOS के भीतर इसके सहज एकीकरण और मूल अनुभव को भी सुनिश्चित करेंगे।
मुझे यकीन है कि आपने देखा होगा कि वीडियो या फोटो देखते समय, विंडो के पीछे की पृष्ठभूमि काली हो जाती है, सेटिंग्स में इसे "ऑटो-डिमिंग" कहा जाता है। इसी प्रभाव को पाने के लिए आपको अपने व्यू पर .preferredSurroundingsEffect(.systemDark)
का उपयोग करना होगा और फिर उपयोगकर्ता के आस-पास का स्थान काला हो जाएगा और आपकी विंडो उज्ज्वल रहेगी, इससे सामग्री पर ध्यान केंद्रित करने में मदद मिलेगी।
वीडियो या कंटेंट देखते समय, आप चाहते हैं कि यूजर का ध्यान भटके नहीं और हवा में तैरती खिड़की जैसा प्रभाव पैदा हो, इसके लिए Apple ने हमें विंडो के निचले बार को छिपाने की सुविधा दी है जिसका उपयोग वर्तमान विंडो को हिलाने या बंद करने के लिए किया जाता है। .persistentSystemOverlays(.hidden)
के साथ आप अपनी विंडो पर इस कंट्रोल बार को छिपा सकते हैं, यह डिफ़ॉल्ट एनीमेशन के साथ गायब हो जाएगा और केवल तभी दिखाई देगा जब यूजर विंडो के साथ इंटरैक्ट करेगा।
यदि आप मानक Apple TV एप्लिकेशन खोलते हैं और मूवी चालू करते हैं, तो आप देखेंगे कि मूवी विंडो में एक प्रतिबिंब है जो प्रत्येक फ्रेम के साथ बदलता है, जिससे अधिक इमर्सिव प्रभाव मिलता है। अपने वीडियो के चारों ओर चमक प्रभाव पाने के लिए, आपको VideoPlayerComponent
का उपयोग करना होगा और isPassthroughTintingEnabled
सक्षम करना होगा, फिर प्रभाव Apple TV या HBO Max जैसा ही होगा। यहाँ दस्तावेज़ में क्या लिखा है:
यह वीडियो प्लेबैक के दौरान पासथ्रू टिंटिंग को सक्षम करने के लिए है, जो वीडियो के चारों ओर दिखाई देता है, फ्रेम का औसत रंग लेता है और वीडियो पर जोर देने के लिए पासथ्रू को उस रंग से रंग देता है।
आप उपयोगकर्ता को विंडो का आकार बदलने से रोकना चाह सकते हैं, ऐसा करने का एक तरीका है:
onAppear { guard let windowScene = UIApplication.shared.connectedScenes.first as?UIWindowScene else { return } windowScene.requestGeometryUpdate(.Vision(resizingRestrictions: UIWindowScene.ResizingRestrictions.none)) }
आप इस विधि में अतिरिक्त आकार सेटिंग भी निर्दिष्ट कर सकते हैं। विधि का पूर्ण हस्ताक्षर इस प्रकार दिखता है:
windowScene.requestGeometryUpdate(.Vision(size:, minimumSize:, maximumSize:, resizingRestrictions:))
यदि आपका एप्लिकेशन इमर्सिव स्पेस का उपयोग करता है और आप नहीं चाहते कि उपयोगकर्ता अपने हाथ देखें, या आप उन्हें वर्चुअल हाथों से बदलना चाहते हैं, जैसा कि AmazeVR में किया जाता है, तो आपको .upperLimbVisibility(.hidden)
का उपयोग करना होगा।
मुझे यकीन है कि आपने VisionOS अनुप्रयोगों में साइडबार देखे होंगे जो TabBars
की तरह दिखते हैं। Apple ने VisionOS के लिए एक नया View
तरीका पेश किया है जो आपको विंडो को "विस्तारित" करने और इसके दोनों ओर आभूषण जोड़ने की अनुमति देता है।
.ornament( visibility: .visible, attachmentAnchor: .scene(.bottom), contentAlignment: .center ) { HStack { Button("Play", systemImage: "play.fill") { } Button("Stop", systemImage: "stop.fill") { } } .labelStyle(.iconOnly) .padding(.all) .glassBackgroundEffect() }
एक दिलचस्प तथ्य जिसे मैं प्रयोगात्मक रूप से सत्यापित करने में सक्षम था, वह यह है कि CMMotionManager की विधियां केवल इमर्सिव स्पेस में ही काम करती हैं, सामान्य विंडो दृश्य में नहीं।
VisionOS इमर्सिव एप्लिकेशन बनाने के लिए कई उपकरण प्रदान करता है जो उपयोगकर्ताओं को आभासी दुनिया में लाते हैं और उन्हें इसका हिस्सा महसूस कराते हैं। जबकि Vision Pro के लिए अधिक से अधिक एप्लिकेशन जारी किए जा रहे हैं, केवल कुछ ही इसकी सभी सुविधाओं का उपयोग करते हैं। यहीं पर आपको अलग दिखने का मौका मिलता है - उनका उपयोग करें और लाभ उठाएँ। दुर्भाग्य से, डेवलपर्स को आसानी से सुलभ दस्तावेज़ और उदाहरण खोजने में कठिनाई होती है। इसलिए मैं यह लेख लिख रहा हूँ। मुझे उम्मीद है कि मेरी युक्तियाँ आपको अपना एप्लिकेशन बेहतर बनाने में मदद करेंगी।