में क्षेत्र के लिए अत्यधिक उच्च रिज़ॉल्यूशन मैपिंग मेरे आईओएस ऐप में, मेरे पास ग्रह मानचित्रों का एक सेट है, जो कि 14k रिज़ॉल्यूशन जितना बड़ा है। मैं SceneKit में ग्रहों के मॉडल बनाने के लिए गोलाकार संस्करणों को गोलाकारों में लागू कर सकता हूं। हालांकि, मैं चाहता हूं कि उपयोगकर्ता पूर्ण रिज़ॉल्यूशन छवियों पर विवरण देखने के लिए ज़ूम इन कर सकें। मैं भी अपने ऐप को मेमोरी से बाहर चलाए बिना ऐसा करने में सक्षम होना चाहता हूं। क्या Google मानचित्र की तरह किसी क्षेत्र में स्वचालित रूप से टाइल बनावट करने का कोई तरीका है, और जब आवश्यक हो तो केवल भागों और संकल्प लोड करें?SceneKit
SceneKit
उत्तर
बहुत अनुकूल प्रोग्रामिंग प्रयासों का उपयोग करके आप आवेदन कर सकते हैं दो ऑप्टिमाइज़ेशन तकनीकें मिपमैप्स और विस्तार के स्तर हैं।
यदि आप mipFilter
SCNMaterial
की संपत्ति को अपने ग्रह मानचित्र का प्रतिनिधित्व करते हैं, तो आपको स्वचालित रूप से जेनरेट किया गया मिपमैप मिल जाएगा।
यदि आप अपने ग्रह के SCNGeometry
के लिए कुछ SCNLevelOfDetail
उदाहरण प्रदान करते हैं, तो आपको अत्यधिक कम पॉलीगॉन गणना वाले संस्करण मिलेंगे जो स्मृति को बचाएंगे।
ये दोनों 2013 डब्ल्यूडब्ल्यूडीसी सीनकेट टॉक में उल्लिखित हैं। SCNLevelOfDetail
का 2014 में फिर से उल्लेख किया गया है। 2014 नमूना कोड में दोनों के उदाहरण हैं: एएपीएल प्रस्तुतीकरण व्यू कंट्रोलर में एमआईपीएमएपी पीढ़ी, और स्लाइड 58 में एलओडी।
आपको क्या करना है, बनावट को छोटे टुकड़ों में विभाजित करना और विभिन्न आकारों के आधार पर प्रदान करना है विस्तार के स्तर पर। जब आपका कैमरा पर्याप्त गहराई से ज़ूम किया जाता है तो आप उच्चतम रिज़ॉल्यूशन वाले बनावट का उपयोग कर सकते हैं, लेकिन आपको दिखने के लिए बनावट की संख्या को प्रतिबंधित करने की भी आवश्यकता होगी। जब आप स्क्रीन पर केवल एक छोटे टुकड़े में ज़ूम किए गए ग्रह की सतह दिखाते हैं, तो स्क्रीन पर देखा जा सकता है, लेकिन पूरी सामने की सतह को ज़ूम आउट किया गया है। तो अपने बनावट को छोटे टुकड़ों में विभाजित करें और अन्य ज़ूम स्तरों के लिए निचले रिज़ॉल्यूशन के बनावट भी उत्पन्न करें। आपको कस्टम ज्यामिति बनाने और उस पर छोटे उच्च रिज़ॉल्यूशन बनावट के टुकड़े भी निर्दिष्ट करने की आवश्यकता होगी। आखिरकार आपको यह तय करने की आवश्यकता होगी कि कौन सी बनावट ज्यामिति दिखाना है जिसके लिए कैमरा दृश्य दूरी या कोण कोण के आधार पर दिखता है। दृश्य निराशा का उपयोग करके आपको यह भी तय करना होगा कि वर्तमान दृश्य में कौन से हिस्से देखे गए हैं। मैं वर्तमान में एक ही मुद्दे का सामना कर रहा हूँ। मैंने पहले से ही सभी सब मैसेज और एससीएनएनोड का उपयोग कर सभी छोटे बनावट बनाए हैं (यहां बनावट लोड न करें - उन्हें केवल मांग पर लोड होने की आवश्यकता है!), हालांकि मेरे पास परीक्षण के लिए एक समाधान समाधान नहीं है जो उप नोड्स हैं दिखाई। दृश्य की निराशाजनक विधि के अंदर दृश्यमान यहां मदद नहीं करता है, क्योंकि यह केवल बाध्यकारी बॉक्स परीक्षण करता है और बाध्यकारी बक्से बड़े होते हैं, उनमें से अधिकतर आंशिक रूप से दृश्यमान रूप से आंशिक रूप से आंशिक रूप से आते हैं (इसलिए मैं वर्तमान में अपना कार्यान्वित करने की कोशिश कर रहा हूं अपने परीक्षण)। और कैमरे की दिशा में सतह के सामने इशारा करते हुए परीक्षण करने के लिए आपको कुछ सतह मानदंडों की भी आवश्यकता होगी। दुर्भाग्यवश, क्योंकि मेरे पास अभी भी कोई कामकाजी समाधान नहीं है, मैं यहां कोई कोड पोस्ट नहीं कर सकता - मैं केवल अपनी "कोडिंग योजना" का वर्णन कर सकता हूं जो काम करेगा (कम से कम ओपनजीएल का उपयोग करके मैंने पहले से ही ऐसी चीजों को लागू किया है)। शायद समाधान के पीछे मूल विचार आपके लिए पहले से ही सहायक है? अन्यथा, शायद हम बाकी को एकसाथ मिल सकते हैं ... :-)
- 1. SceneKit
- 2. SceneKit
- 3. SceneKit
- 4. SceneKit
- 5. SceneKit
- 6. SceneKit
- 7. SceneKit
- 8. SceneKit (स्विफ्ट)
- 9. Scenekit - मैं
- 10. कैमरा Scenekit
- 11. कैसे SceneKit के माध्यम से SceneKit और मॉडल आई/ओ
- 12. नरम छाया, SceneKit
- 13. ARKit SceneKit बनाम निर्देशांक
- 14. SceneKit चिकनी कैमरा आंदोलन
- 15. SceneKit जब एक नोड
- 16. आईएसओ कस्टम ज्यामिति SceneKit
- 17. गोलाकार सतह SceneKit पर पाठ लिखें?
- 18. Scenekit स्नैपशॉट() में कैमरा एक्सपोजर सेटिंग्स शामिल नहीं हैं
- 19. SceneKit में, क्या SCNLightTypeAmbient प्रकार का SCNLight श्रेणी बिटमैस्क पैरामीटर को अनदेखा करता है?
- 20. SceneKit - एक अलग SCNRenderer का उपयोग किए बिना एक MTLTexture के रूप में एक SCNView से गाया दृश्य जाओ
- 21. गहराई मूल्य के बिना SceneKit के unprojectPoint का उपयोग करके 2 डी बिंदु से 3 डी को कैसे परिवर्तित करें?
- 22. एनीमेशन के लिए वैकल्पिक (केके :) (अब बहिष्कृत)?
- 23. SCNAction.playAudio क्रैश का कारण बनता है जब नोड्स को
- 24. एसकेवीडियो नोड (एसकेएससीन में एम्बेडेड) दृश्य किट नोड के लिए बनावट के लिए बनावट के रूप में
- 25. आप सीनियरकिट में काम करने के लिए स्थितित्मक ऑडियो कैसे प्राप्त करते हैं?
- 26. ARKit - दृश्य
- 27. एआरकेट में दृष्टि ढांचे समन्वय प्रणाली को कैसे परिवर्तित करें?
- 28. मैं स्प्राइटकिट संपादक के माध्यम से बनाए गए किसी आइटम का SKSpriteNode कैसे प्राप्त करूं?
- 29. आईओएस 10
- 30. कस्टम शेडर एससीएनप्रोग्राम आईओएस 9 सीनेट
मिपफ़िल्टर के साथ अपने अवैज्ञानिक परीक्षणों से, यह लगता है कि ज़ूम स्तर पर आधारित चूना स्मृति उपयोग स्थिर रहता है। ऑब्जेक्ट पर एक 8k बनावट ~ 400 एमबी मेमोरी को हॉगिंग कर रही है इससे कोई फर्क नहीं पड़ता कि ऑब्जेक्ट बहुत छोटा और दूर या करीब है। मैं रैखिक फ़िल्टर मोड का उपयोग कर रहा हूँ। क्या इसके लिए मुझे कुछ और लागू करना है? – Timestretch