انتقل إلى المحتوى الرئيسي

التكوين الخاص بالمنصة

يغطي هذا الدليل متطلبات الإعداد والتكوينات الخاصة بالمنصة لإضافة 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+)

تعارض إضافة NNERuntimeORT

إذا كنت تستخدم Unreal Engine 5.6 أو أحدث على منصات Mac أو Linux، فستواجه تعارضًا في الإضافات يمنع النماذج الواقعية من العمل بشكل صحيح.

المشكلة

بدءًا من UE 5.6، يتضمن المحرك إضافة NNERuntimeORT، والتي تتعارض مع النماذج الواقعية لإضافة Runtime MetaHuman Lip Sync على منصات Mac و Linux. يمنع هذا التعارض وظيفة مزامنة الشفاه الواقعية من التهيئة بشكل صحيح.

الحل

لحل هذا التعارض، تحتاج إلى تعديل ملف تكوين الإضافة:

  1. انتقل إلى مجلد تثبيت Unreal Engine الخاص بك
  2. اذهب إلى Engine/Plugins/Marketplace/
  3. ابحث عن مجلد إضافة RuntimeTextToSpeech
  4. افتح ملف RuntimeTextToSpeech.uplugin في محرر نصوص
  5. احذف القسم التالي بالكامل:
,
"Plugins": [
{
"Name": "NNERuntimeORT",
"Enabled": true
}
]

ملاحظات هامة

  • هذا التعديل يؤثر فقط على منصات Mac و Linux. مستخدمو Windows لا يحتاجون إلى إجراء هذا التغيير.
  • هذا الإصلاح مطلوب فقط لمحرك UE 5.6 والإصدارات اللاحقة. إصدارات المحرك السابقة لا تتأثر.
  • قد تحتاج إلى تكرار هذه العملية إذا قمت بتحديث الإضافة، حيث أن التحديثات ستعيد ملف التكوين الأصلي.