التكوين الخاص بالمنصة
يغطي هذا الدليل متطلبات الإعداد والتكوينات الخاصة بالمنصة لإضافة Runtime Text To Speech.
أعطال Android و iOS
في بعض الحالات على Android و iOS، قد تحدث أعطال أثناء وقت التشغيل (مثل أثناء اختبار TestFlight). يحدث هذا بسبب تعارض متطلبات تخصيص الذاكرة لمكتبة ONNX Runtime الأساسية مع مخصصات الذاكرة الافتراضية لمحرك Unreal Engine على هذه المنصات.
لحل هذه المشكلة، تحتاج إلى فرض استخدام المخصص ANSI في ملف Target.cs الخاص بمشروعك:
لـ Unreal Engine 5.5 والإصدارات السابقة:
- يجب أن يستخدم مشروعك محركًا مبنيًا من المصدر (وليس ثنائيًا مُجمّعًا مسبقًا)
- أضف السطر التالي إلى ملف
Target.csالخاص بك:
GlobalDefinitions.Add("FORCE_ANSI_ALLOCATOR=1");
لـ Unreal Engine 5.6 والإصدارات الأحدث:
- يعمل مع كل من إصدارات المحرك المبنية من المصدر والمترجمة مسبقًا
- أضف السطرين التاليين إلى ملف
Target.csالخاص بك:
bOverrideBuildEnvironment = true;
StaticAllocator = StaticAllocatorType.Ansi;
هذا يجبر محرك Unreal Engine على استخدام مُخصص الذاكرة ANSI على Android و iOS، لمطابقة المُخصص المستخدم من قبل ONNX Runtime.
تكوين Mac / Linux (UE 5.6+)
إذا كنت تستخدم Unreal Engine 5.6 أو أحدث على منصات Mac أو Linux، فستواجه تعارضًا في الإضافات يمنع النماذج الواقعية من العمل بشكل صحيح.
المشكلة
بدءًا من UE 5.6، يتضمن المحرك إضافة NNERuntimeORT، والتي تتعارض مع النماذج الواقعية لإضافة Runtime MetaHuman Lip Sync على منصات Mac و Linux. يمنع هذا التعارض وظيفة مزامنة الشفاه الواقعية من التهيئة بشكل صحيح.
الحل
لحل هذا التعارض، تحتاج إلى تعديل ملف تكوين الإضافة:
- انتقل إلى مجلد تثبيت Unreal Engine الخاص بك
- اذهب إلى
Engine/Plugins/Marketplace/ - ابحث عن مجلد إضافة
RuntimeTextToSpeech - افتح ملف
RuntimeTextToSpeech.upluginفي محرر نصوص - احذف القسم التالي بالكامل:
,
"Plugins": [
{
"Name": "NNERuntimeORT",
"Enabled": true
}
]
ملاحظات هامة
- هذا التعديل يؤثر فقط على منصات Mac و Linux. مستخدمو Windows لا يحتاجون إلى إجراء هذا التغيير.
- هذا الإصلاح مطلوب فقط لمحرك UE 5.6 والإصدارات اللاحقة. إصدارات المحرك السابقة لا تتأثر.
- قد تحتاج إلى تكرار هذه العملية إذا قمت بتحديث الإضافة، حيث أن التحديثات ستعيد ملف التكوين الأصلي.