ios - क्या SKSpriteNode की एक CGPath मिलान की रूपरेखा तैयार करने का कोई तरीका है?



core-image sprite-kit (1)

मेरा लक्ष्य एक CGPath बनाना है जो एक SKSpriteNode की रूपरेखा से मेल खाता है

यह SKSpriteNodes के चमक / रूपरेखाओं के साथ-साथ भौतिकी के लिए पथ बनाने में भी उपयोगी होगा।

एक ने सोचा कि मैंने सोचा था, लेकिन मैंने सीआईएमएज के साथ वास्तव में बहुत कुछ नहीं किया है, इसलिए मुझे नहीं पता कि क्या पिक्सेल स्तर पर चित्रों को एक्सेस / संशोधित करने का एक तरीका है

तो हो सकता है कि मैं इस तरह से उद्देश्य-सी के लिए कुछ बंदरगाह करने में सक्षम हो:

http://www.sakri.net/blog/2009/05/28/detecting-edge-pixels-with-marching-squares-algorithm/

इसके अलावा अन्य तरीकों से भी खुले हैं जो इस प्रक्रिया को स्वचालित बनाता है, क्योंकि मुझे भौतिक विज्ञान या बाह्यरेखा / चमक प्रभावों के लिए हर प्रेत के लिए आकार के पथ बनाने का विरोध किया गया था।


आप जो तलाश कर रहे हैं उसे समोच्च ट्रेसिंग एल्गोरिदम कहा जाता है। मूर पड़ोसी ट्रेसिंग लोकप्रिय है और छवियों और टाइलमैप के लिए अच्छी तरह से काम करता है लेकिन विकल्प की जांच करें क्योंकि वे आपके उद्देश्यों को बेहतर ढंग से फिट कर सकते हैं

एएफएआईक मार्चिंग चौराहों और समोच्च ट्रेसिंग निकटता से संबंधित है, यदि नहीं तो (समान श्रेणी) एल्गोरिदम

टाइलमैप के लिए एक कार्यान्वयन (टाइल से भौतिक आकृति बनाने के लिए) कोबोल्ड किट में शामिल किया गया है। एल्गोरिथ्म का निकाय KKTilemapLayerContourTracer.m के ट्रेसकंटोस विधि में है

यह वास्तव में बहुत जटिल है, दूसरी तरफ इसके चारों ओर अपने सिर को लपेटने में कुछ समय लगता है क्योंकि यह एक "चलना" एल्गोरिथ्म है, जिसका अर्थ है कि पहले के चरणों के परिणाम फैसले लेने के लिए उपयोग किए जाते हैं।

केके कार्यान्वयन में टाइलमैप के लिए विशेष रूप से कुछ मामूली सुधार शामिल हैं (अर्थात् दो या अधिक क्षैतिज या लंबवत जुड़े टाईल्स को लाइन को टाइल-आकार वाले खंडों में विभाजित करने के बजाय एक पंक्ति के रूप में जाना जाता है)। यह एक कस्टम बिंदु सरणी संरचना के साथ भी बनाया गया था, और जब मैंने इसे एसके पर रख दिया था, तो मैंने फैसला किया कि इसके साथ जारी रखना आसान होगा और केवल अंत में ही सीएनजीप ऑब्जेक्ट्स के लिए बिंदु सरणियों को परिवर्तित करें।

आप कुछ अनुकूलन कर सकते हैं यदि आप सुरक्षित रूप से मान सकते हैं कि जिस आकृति को आप ट्रेस करने की कोशिश कर रहे हैं वह सीमाओं को छूने नहीं जा रही है, और कोई भी टाइल नहीं है जो केवल तिरछे से जुड़े हुए हैं यह सब स्पष्ट हो जाता है जब आप वास्तव में अपने स्वयं के प्रयोजनों के लिए एल्गोरिथ्म कार्यान्वित कर रहे हैं।

लेकिन जहां तक ​​तैयार किया गया, फिट-सभी-उद्देश्यों का समाधान हो जाता है: कोई भी नहीं है।