इस प्रोजेक्ट के बारे में

Particle Effect For UGUI (जिसे UI Particle भी कहा जाता है) mob-sakai द्वारा बनाया गया एक Unity पैकेज है जो ParticleSystem प्रभावों को Unity UI (uGUI) पदानुक्रम के हिस्से के रूप में प्रस्तुत करने की अनुमति देता है। इसे UI मास्क के अंदर कण प्रभाव प्रदर्शित करने और उन्हें अन्य UI तत्वों के साथ सही ढंग से सॉर्ट करने की लंबे समय से चली आ रही समस्या को हल करने के लिए बनाया गया था। पैकेज Unity के `MeshBake` और `MeshTrailBake` APIs (Unity 2018.2 से उपलब्ध) का उपयोग करके कण डेटा को मेश ज्यामिति में परिवर्तित करता है जिसे CanvasRenderer सीधे प्रदर्शित कर सकता है। यह पारंपरिक वर्कअराउंड की आवश्यकता को समाप्त करता है जिसमें अलग कैमरे, RenderTextures, या अतिरिक्त Canvases की आवश्यकता होती थी, जो अक्सर प्रदर्शन ओवरहेड और दृश्य कलाकृतियों का कारण बनते थे। मुख्य विशेषताओं में शामिल हैं: - **मास्क समर्थन**: संगत शेडर्स के साथ उपयोग किए जाने पर `Mask` और `RectMask2D` दोनों घटकों के साथ काम करता है। - **सॉर्ट करने योग्य**: कण अन्य UI तत्वों के साथ सिबलिंग इंडेक्स क्रम का सम्मान करते हैं। - **ट्रेल मॉड्यूल समर्थन**: ParticleSystem ट्रेल मॉड्यूल के साथ पूर्ण संगतता। - **CanvasGroup अल्फा**: CanvasGroup पारदर्शिता सेटिंग्स के साथ एकीकृत होता है। - **कोई आवंटन नहीं**: प्रति फ्रेम कचरा संग्रह ओवरहेड से बचने के लिए डिज़ाइन किया गया। - **कोई भी कैनवास रेंडर मोड**: Overlay, World Space, और Camera Space रेंडर मोड के साथ संगत। - **रेंडर पाइपलाइन समर्थन**: बिल्ट-इन, Universal Render Pipeline (URP), और High Definition Render Pipeline (HDRP) के साथ काम करता है। - **मेश साझाकरण**: कई समान प्रभाव सिमुलेशन परिणाम साझा कर सकते हैं, जिससे कई समान कण प्रदर्शित करते समय प्रदर्शन लागत काफी कम हो जाती है। - **अनुकूली स्केलिंग**: स्क्रीन रिज़ॉल्यूशन के कारण Canvas स्केल बदलने पर स्वचालित स्केल समायोजन। - **उत्सर्जन स्थिति मोड**: निरपेक्ष (विश्व स्थान) या सापेक्ष (स्थानीय स्केल किया गया) उत्सर्जन स्थितियों के बीच चयन करें। - **UIParticleAttractor**: एक घटक जो कणों को लक्ष्य स्थिति की ओर खींचता है, कॉन्फ़िगर करने योग्य गति प्रकार और वक्रों के साथ। - **ParticleSystemPreviewer**: सीन दृश्य में कण प्रभावों का पूर्वावलोकन करने के लिए केवल संपादक-घटक। पैकेज तीन मुख्य घटक प्रदान करता है: 1. **UIParticle** — मुख्य घटक। इसे एक GameObject से संलग्न करें जिसमें ParticleSystem है या होगा। यह कणों को uGUI पाइपलाइन में बेकिंग और प्रस्तुत करने का प्रबंधन करता है। AnimationClip के माध्यम से सामग्री संपत्ति एनीमेशन, कई सामग्री, और समय स्केल गुणकों का समर्थन करता है। 2. **UIParticleAttractor** — एक वैकल्पिक घटक जो निर्दिष्ट ParticleSystem से कणों को गंतव्य बिंदु की ओर आकर्षित करता है, कॉन्फ़िगर करने योग्य गति, गति प्रकार (रैखिक, चिकनी, या गोलाकार), और पूर्णता घटनाओं के साथ। 3. **ParticleSystemPreviewer** — केवल संपादक सहायक जो सीन दृश्य में GameObject चयनित होने पर पूर्वावलोकन के लिए एक अस्थायी ParticleSystem उत्पन्न करता है। बिल्ड में शामिल नहीं है। स्थापना OpenUPM (`openupm add com.coffee.ui-particle`), git URL से UPM, या एम्बेडेड पैकेज के रूप में समर्थित है। पैकेज को Unity 2018.3 या बाद के संस्करण की आवश्यकता है। शेडर सीमाएं: पैकेज `UI/Default` को छोड़कर अधिकांश बिल्ट-इन शेडर्स का समर्थन नहीं करता है। कस्टम शेडर्स में मास्किंग के लिए स्टेंसिल समर्थन शामिल होना चाहिए, और Unity 2018–2019 में, UV zw घटकों को हटा दिया जाता है, जो कुछ शेडर्स को प्रभावित कर सकता है। अनुशंसित दृष्टिकोण बिल्ट-इन `UI/Additive` या `UI/Default` शेडर्स का उपयोग करना है, या दस्तावेज़ीकरण में प्रदान किए गए स्टेंसिल-आधारित टेम्पलेट का पालन करके एक कस्टम शेडर बनाना है। प्रदर्शन के लिए, एक ही प्रभाव की कई प्रतियां प्रदर्शित करने से मेश साझाकरण सुविधा से बहुत लाभ होता है, जो सिमुलेशन को डीडुप्लिकेट करता है और ड्रॉ कॉल कम करता है। मेश साझाकरण के बिना, UIParticle UI स्थान में कच्चे ParticleSystems की तुलना में कम ऑब्जेक्ट का उपयोग करता है लेकिन फिर भी UI के बाहर उपयोग किए जाने वाले मानक ParticleSystem की तुलना में अधिक महंगा है।