मुख्य कंटेंट तक स्किप करें

प्लेटफ़ॉर्म-विशिष्ट कॉन्फ़िगरेशन

यह गाइड रनटाइम मेटाह्यूमन लिप सिंक प्लगइन के लिए प्लेटफ़ॉर्म-विशिष्ट सेटअप आवश्यकताओं और कॉन्फ़िगरेशन को कवर करती है।

एंड्रॉइड / मेटा क्वेस्ट कॉन्फ़िगरेशन

यदि आप एंड्रॉइड या मेटा क्वेस्ट प्लेटफ़ॉर्म को लक्षित कर रहे हैं और इस प्लगइन के साथ बिल्ड त्रुटियों का सामना करते हैं, तो आपको अपनी प्रोजेक्ट सेटिंग्स में x86_64 (x64) एंड्रॉइड आर्किटेक्चर को अक्षम करने की आवश्यकता होगी:

  1. संपादन > प्रोजेक्ट सेटिंग्स पर जाएं
  2. प्लेटफ़ॉर्म > एंड्रॉइड पर नेविगेट करें
  3. प्लेटफ़ॉर्म - एंड्रॉइड, बिल्ड सेक्शन के अंतर्गत, x86_64 [उर्फ x64] का समर्थन करें ढूंढें और सुनिश्चित करें कि यह अक्षम है, जैसा कि नीचे दिखाया गया है

x64 एंड्रॉइड आर्किटेक्चर अक्षम करें

ऐसा इसलिए है क्योंकि प्लगइन वर्तमान में एंड्रॉइड / मेटा क्वेस्ट प्लेटफ़ॉर्म के लिए केवल arm64-v8a और armeabi-v7a आर्किटेक्चर का समर्थन करता है।

एंड्रॉइड और iOS क्रैश

कुछ मामलों में एंड्रॉइड और iOS पर, रनटाइम के दौरान क्रैश हो सकते हैं (जैसे कि टेस्टफ़्लाइट परीक्षण के दौरान)। यह अंतर्निहित ONNX रनटाइम लाइब्रेरी की मेमोरी आवंटन आवश्यकताओं के इन प्लेटफ़ॉर्म पर अनरियल इंजन के डिफ़ॉल्ट एलोकेटर से टकराने के कारण होता है।

इसे हल करने के लिए, आपको अपनी प्रोजेक्ट की Target.cs फ़ाइल में ANSI एलोकेटर को फ़ोर्स करने की आवश्यकता है:

अनरियल इंजन 5.5 और पहले के लिए:

  • आपकी प्रोजेक्ट को एक सोर्स-बिल्ट इंजन (प्री-कंपाइल्ड बाइनरी नहीं) का उपयोग करना चाहिए
  • अपनी Target.cs फ़ाइल में निम्नलिखित लाइन जोड़ें:
GlobalDefinitions.Add("FORCE_ANSI_ALLOCATOR=1");

Unreal Engine 5.6 और बाद के लिए:

  • स्रोत-निर्मित और पूर्व-संकलित इंजन बिल्ड दोनों के साथ काम करता है
  • अपनी Target.cs फ़ाइल में निम्नलिखित दो पंक्तियाँ जोड़ें:
bOverrideBuildEnvironment = true;
StaticAllocator = StaticAllocatorType.Ansi;

यह Unreal Engine को Android और iOS पर ANSI allocator का उपयोग करने के लिए मजबूर करता है, जो ONNX Runtime द्वारा उपयोग किए जाने वाले allocator से मेल खाता है।

Mac / Linux कॉन्फ़िगरेशन (UE 5.6+)

NNERuntimeORT प्लगइन संघर्ष

यदि आप Mac या Linux प्लेटफ़ॉर्म पर Unreal Engine 5.6 या बाद के संस्करण का उपयोग कर रहे हैं और यथार्थवादी लिप सिंक मॉडल का उपयोग करने की योजना बना रहे हैं, तो आपको एक प्लगइन संघर्ष का सामना करना पड़ेगा जो यथार्थवादी मॉडल को सही ढंग से काम करने से रोकता है।

समस्या

UE 5.6 से शुरू होकर, इंजन में NNERuntimeORT प्लगइन शामिल है, जो Mac और Linux प्लेटफ़ॉर्म पर Runtime MetaHuman Lip Sync प्लगइन के यथार्थवादी मॉडल के साथ संघर्ष करता है। यह संघर्ष यथार्थवादी लिप सिंक कार्यक्षमता को ठीक से आरंभ होने से रोकता है।

समाधान

इस संघर्ष को हल करने के लिए, आपको प्लगइन कॉन्फ़िगरेशन फ़ाइल को संशोधित करने की आवश्यकता है:

  1. अपने Unreal Engine इंस्टॉलेशन फ़ोल्डर पर नेविगेट करें
  2. Engine/Plugins/Marketplace/ पर जाएं
  3. RuntimeMetaHumanLipSync प्लगइन फ़ोल्डर ढूंढें
  4. एक टेक्स्ट एडिटर में RuntimeMetaHumanLipSync.uplugin फ़ाइल खोलें
  5. निम्नलिखित अनुभाग को पूरी तरह से हटा दें:
,
"Plugins": [
{
"Name": "NNERuntimeORT",
"Enabled": true
}
]

महत्वपूर्ण नोट्स

  • यह संशोधन केवल Mac और Linux प्लेटफ़ॉर्म को प्रभावित करता है। Windows उपयोगकर्ताओं को यह परिवर्तन करने की आवश्यकता नहीं है।
  • यह सुधार केवल UE 5.6 और बाद के संस्करणों के लिए आवश्यक है। पहले के इंजन संस्करण प्रभावित नहीं हैं।
  • यदि आप प्लगइन अपडेट करते हैं तो आपको इस प्रक्रिया को दोहराने की आवश्यकता हो सकती है, क्योंकि अपडेट मूल कॉन्फ़िगरेशन फ़ाइल को पुनर्स्थापित कर देंगे।