इस प्रोजेक्ट के बारे में
bevy_asset_loader Bevy गेम इंजन के लिए एक प्लगइन है जो गेम एसेट लोडिंग को सरल और व्यवस्थित करता है। यह एक व्युत्पन्न `AssetCollection` ट्रेट पेश करता है जो डेवलपर्स को संबंधित एसेट्स को स्ट्रक्ट्स में समूहित करने की अनुमति देता है, जो पूरी तरह लोड होने के बाद Bevy ECS संसाधनों के रूप में उपलब्ध होते हैं।
प्लगइन की प्राथमिक विशेषता लोडिंग स्टेट सिस्टम है। डेवलपर्स एसेट लोडिंग के लिए समर्पित एक Bevy स्टेट कॉन्फ़िगर कर सकते हैं, निर्दिष्ट कर सकते हैं कि कौन से एसेट संग्रह लोड करने हैं, और लोडिंग पूरी होने पर अगले स्टेट में संक्रमण को परिभाषित कर सकते हैं। लोडिंग स्टेट गारंटी देता है कि अगले स्टेट शुरू होने से पहले सभी एसेट हैंडल पूरी तरह लोड हो जाते हैं।
समर्थित एसेट फ़ील्ड प्रकारों में शामिल हैं:
- फ़ाइल पथ से लोड किए गए एकल `Handle<T>` फ़ील्ड (ऑडियो, इमेज, आदि)
- कॉन्फ़िगर करने योग्य टाइल आकार, कॉलम, पंक्तियों और पैडिंग के साथ टेक्सचर एटलस लेआउट
- कस्टम सैम्पलर कॉन्फ़िगरेशन (फ़िल्टर मोड, रैप मोड) के साथ इमेज
- कॉन्फ़िगर करने योग्य लेयर गणनाओं के साथ सरणी टेक्सचर
- मानक सामग्री (3d सुविधा सक्षम होने पर)
- `Vec<UntypedHandle>` या टाइप किए गए वेक्टर के रूप में लोड किए गए फ़ोल्डर
- वेब-संगत एसेट संग्रह के लिए पथों की सूची
- MapKey ट्रेट का उपयोग करके HashMaps के रूप में लोड किए गए संग्रह
दो एसेट कॉन्फ़िगरेशन मोड समर्थित हैं:
कंपाइल-टाइम एसेट्स सीधे कोड में डेराइव मैक्रो विशेषताओं का उपयोग करते हैं। पथ और विकल्प हार्डकोड किए जाते हैं, जिससे परिवर्तनों के लिए पुनर्संकलन की आवश्यकता होती है।
गतिशील एसेट्स `path` के बजाय `key` विशेषता का उपयोग करते हैं, जिससे कॉन्फ़िगरेशन को `.assets.ron` फ़ाइलों में संग्रहीत किया जा सकता है। यह एसेट डेटा को कोड से अलग करता है, पुनर्संकलन की आवृत्ति कम करता है, और गैर-प्रोग्रामरों के लिए एसेट्स प्रबंधित करना आसान बनाता है। `standard_dynamic_assets` सुविधा गतिशील एसेट्स के लिए RON फ़ाइल लोडिंग सक्षम करती है।
अतिरिक्त क्षमताओं में शामिल हैं:
- लोडिंग बार समर्थन के लिए iyes_progress क्रेट के साथ प्रगति ट्रैकिंग एकीकरण
- लापता या अनलोड किए गए एसेट्स को संभालने के लिए विफलता स्टेट कॉन्फ़िगरेशन
- एसेट संग्रह लोड होने के बाद FromWorld संसाधनों को प्रारंभ करने के लिए `finally_init_resource`
- `init_collection` के माध्यम से लोडिंग स्टेट के बिना सीधे प्रारंभिकरण
- जब आवश्यक नहीं रह जाते तो AssetCollection संसाधनों को हटाकर एसेट अनलोडिंग
क्रेट Apache-2.0 और MIT के तहत दोहरे लाइसेंस प्राप्त है, और कई Bevy संस्करणों में संगतता बनाए रखता है, जिसमें Bevy के मुख्य विकास शाखा को ट्रैक करने वाली एक समर्पित शाखा है।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.