2017-08-20 11 views
12

मैं एक ARSCNSceneView दृश्य में एकाधिक पारदर्शी SCNShape ऑब्जेक्ट्स जोड़ रहा हूं।क्या मैं एकाधिक पारदर्शी एससीएनशिप ऑब्जेक्ट्स को यूनियन कर सकता हूं?

  • ये आकार उपयोगकर्ता इनपुट पर आधारित हैं और ओवरलैप होना चाहिए।
  • वे सभी फ्लैट में एक ही विमान
  • आकृतियाँ पारदर्शी हो गया है पर UIBezierPath के साथ बनाया आकार हैं, तो उपयोगकर्ता देख सकते हैं के पीछे
समस्या

कैमरा इनपुट है कि ओवरलैपिंग आकार बहुत दिखाई दे रहे हैं, और मैं इसे एक आकार के रूप में दिखाना चाहता हूं - सभी आकारों का संघ।

विफल दृष्टिकोण:

  • ही नोड और उपयोग माता पिता अस्पष्टता के तहत यह लाना।
  • UIBezier पथ विलय करना।
  • ब्लेंड मोड
  • पारदर्शिता मोड
  • आदिम त्रिकोण का उपयोग कर ड्राइंग के बजाय UIBezierPath

Wanted vs current results

+1

सटीक डुप्लिकेट नहीं, लेकिन बहुत करीब है। यहां एक आलेख संदर्भ है जो आपकी मदद कर सकता है। https://stackoverflow.com/questions/19178360/creating-a-union-of-2-bezier-paths –

उत्तर

3

आप VectorBoolean पर एक नज़र जो की तरह बूलियन संचालन से निपटने के लिए एक तेज पुस्तकालय है हो सकता था संघ जिसे आप ढूंढ रहे हैं। मैंने खुद कोशिश नहीं की है लेकिन इसके बारे में कुछ अच्छी बातें सुनी हैं।

+1

बहुत बढ़िया। संघ अपेक्षा के अनुसार काम करता है और इसका उपयोग करना बहुत आसान है। आप किसी भी ओवरलैपिंग के साथ विलय करने के लिए बस 'path.fb_union (अन्य)' को कॉल करते हैं। देशी 'path.append (अन्य)' व्यवहार के विपरीत। मैं अनुरोध खींचूंगा कि podspec जोड़ने के लिए repo। – avishic

+1

पुल अनुरोध को मंजूरी मिलने तक, आप मेरे फोर्क 'पॉड' वेक्टरबोलियन 'से पॉड का उपयोग कर सकते हैं,: git =>' https: // github.com/avishic/स्विफ्ट-वेक्टर Boolean.git'' – avishic

+0

वेक्टरबोलियन के साथ कुछ समस्याएं - ऑन कुछ मामलों में यह पूरे पथ को हटा देता है/संघ में अवांछित छेद बना देता है। – avishic

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

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