بث مباشر 18.11 · الدفعة 318 نوفمبر، 19:00 بتوقيت موسكو — ورشة عملية مجانية لوكلاء الذكاء الاصطناعي · الدفعة 3 تبدأ 23.11ورشة 18 نوفمبر ←الدفعة 3 (23.11)
إصداركود / SDK · جاهز للعملElevenLabs Blog→ المصدر

ElevenLabs تربط شخصيات NPC صوتية بمحرك Unity خلال 10 دقائق من الإعداد

أطلقت ElevenLabs حزمة Unity SDK للمحادثات مع شخصيات NPC: تستقبل كلام اللاعب، وتشغّل الرد عبر AudioSource، وتختار تلقائيا وسيلة النقل المناسبة للمنصة المستهدفة. ويمكن لوكيل واحد خدمة شخصيات مختلفة عبر تلقي مزاج كل شخصية ومعلمات أخرى عند بدء الجلسة. وباستخدام أدوات جانب العميل، لا تكتفي شخصية NPC بالكلام، بل تستطيع أيضا تنفيذ إجراءات داخل اللعبة، مثل فتح الباب المطلوب.

معالج بواسطة الذكاء الاصطناعي من ElevenLabs Blog؛ بتحرير Hamidun News
ElevenLabs تربط شخصيات NPC صوتية بمحرك Unity خلال 10 دقائق من الإعداد
المصدر: ElevenLabs Blog. كولاج: Hamidun News.
استمع للمقال
بطاقة الحقائق والأرقام
المعيارالتفاصيل
المصدر الأصليElevenLabs Blog ↗
رئيس التحرير
حقيقة رئيسية #1المحرر ومنصات سطح المكتب وWebGL مدعومة بالفعل؛ أما منصات الأجهزة المحمولة وXR فما زالت في المرحلة التجريبية.
حقيقة رئيسية #2يمكن تحديث سياق اللعبة أثناء المحادثة من دون إنشاء جملة على لسان اللاعب.
حقيقة رئيسية #3قبل الإصدار، فعّل المصادقة وزوّد العميل بعنوان URL موقّع قصير العمر.

عادة ما تبدأ شخصية NPC صوتية في Unity كنموذج أولي ممتع، ثم تنتهي إلى تشابك مألوف بين الميكروفون والاتصال الشبكي وتشغيل الصوت والمزامنة مع حالة اللعبة. جمعت ElevenLabs هذه الأجزاء في حزمة Unity SDK مستقلة لمنصة ElevenAgents. يقترب اللاعب من الشخصية ويتحدث بصوت مسموع، فترد عليه بصوتها، وتكون على دراية بأحداث المشهد، وتستدعي كود اللعب عند الحاجة.

تقول الشركة إن نموذج البدء يمكن تشغيله خلال نحو 10 دقائق. ولا يعني ذلك الحصول على شخصية جاهزة للإصدار، لكنه وسيلة جيدة لاختبار فرضية المنتج الأساسية بسرعة: هل سيرغب اللاعب أصلا في التحدث مع شخصية NPC بدلا من اختيار إجابات مكتوبة مسبقا؟

كيف تعمل المحادثة

ينشئ المطور وكيلا صوتيا في لوحة ElevenLabs، ويمرر معرّفه عند بدء الجلسة. تفتح الحزمة الاتصال، وتجهز أجهزة الصوت، وتختار وسيلة النقل المناسبة. ويُستخدم WebSocket داخل المحرر وفي إصدارات سطح المكتب، بينما يتيح WebGL استخدام WebSocket أو WebRTC.

يبدو السيناريو البسيط كالتالي: يوضع مشغّل حول الشخصية. عندما يدخل اللاعب نطاقه، تستدعي اللعبة StartSessionAsync؛ وعندما يغادر، تستدعي EndSession. ويُشغّل الصوت افتراضيا كصوت ثنائي الأبعاد عادي، لكن يمكن للمطور تمرير AudioSource مخصص كي تصدر الجملة من موقع الشخصية.

تعيد الحزمة أيضا مستوى الصوت الحالي للرد ضمن نطاق من 0 إلى 1. وهذا يكفي بالفعل لتحريك الفم بصورة تقريبية، أو إضاءة مؤشر، أو تحريك النموذج. ولا تحل هذه الوظيفة محل مزامنة الشفاه الكاملة، لكنها تتيح بناء نموذج أولي واضح من دون مسار عمل منفصل لتحريك الوجه.

وكيل واحد لعدة شخصيات

ليس من الضروري إنشاء وكيل منفصل لكل شخصية NPC. عند بدء الجلسة، تستطيع اللعبة تمرير متغيرات ديناميكية، مثل لون الشخصية أو مهنتها أو مزاجها. وتُدرج هذه القيم في تعليمات النظام والجملة الأولى. ويمكن تحديد اختلافات أوضح عبر تجاوزات مؤقتة للصوت وإعدادات الوكيل، إذا كانت مسموحا بها مسبقا في إعدادات الأمان.

لنتخيل صاحبي حانتين في مشهد واحد. يستخدم كلاهما سيناريو المحادثة الأساسي نفسه، لكن الأول يتلقى المتغيرين «هادئ» و«ودود»، بينما يتلقى الثاني «منزعج» و«مرتاب». ولا يقتصر التوفير هنا على عدد الإعدادات؛ إذ يمكن تعديل قواعد السلوك المشتركة مركزيا مع الحفاظ على الاختلافات بين الشخصيات.

تُنقل أحداث اللعبة عبر SendContextualUpdate. فإذا عثر اللاعب على مفتاح القبو، يعرف الوكيل ذلك من دون جملة مصطنعة على لسان اللاعب. أما الاتصال في الاتجاه المعاكس فيعمل من خلال أدوات جانب العميل: يمكن للوكيل طلب فتح باب أو بدء مهمة أو منح عنصر، ثم ينفذ معالج مسجل الإجراء ويعيد النتيجة.

يمثل ذلك حدا معماريا مهما. يقترح النموذج الإجراء، لكن اللعبة هي التي تنفذه. ولذلك يجب على المعالج أن يتحقق بنفسه من الصلاحيات وحالة المشهد وصحة المعلمات. ولا ينبغي السماح لنموذج لغوي بتغيير المخزون أو التقدم مباشرة لمجرد أنه أنشأ استدعاء دالة مقنعا.

ما يجب مراعاته قبل الإصدار

أُعلن عن المحرر وWindows وmacOS وLinux وWebGL بوصفها منصات مدعومة. أما iOS وAndroid وXR فما زالت في المرحلة التجريبية. وعلى الأجهزة المحمولة، يجب طلب إذن استخدام الميكروفون بصورة منفصلة. ويتطلب WebGL تفعيل WebAssembly.Table. كما يخضع التشغيل داخل المتصفح لقيود إضافية: بعض إعدادات AudioSource لا تنتقل إلى Web Audio API، ويتجاهل WebRTC قيمة OutputAudioSource الممررة إليه.

يتعلق القيد الأهم بالأمان. للاختبار المحلي الأول، تقترح ElevenLabs تعطيل المصادقة والاتصال باستخدام معرّف الوكيل. ولا يجوز فعل ذلك في لعبة منشورة. يجب أن يحصل خادم المطور على عنوان URL موقّع قصير العمر ويمرره إلى العميل. ولا ينبغي تضمين مفتاح ElevenLabs API داخل الإصدار، إذ يمكن استخراجه واستخدامه على نفقتك.

الخلاصة العملية بسيطة: تناسب الحزمة إنشاء نموذج أولي رأسي سريع لشخصية حوارية. ابدأ بشخصية NPC واحدة وإجراء واحد يمكن التحقق منه، مثل فتح باب. بعد ذلك، قس زمن استجابة الرد وتكلفة الجلسة ومعدل الأخطاء ونسبة اللاعبين الذين يستخدمون الصوت فعليا. وإذا نجحت الآلية، فأضف الذاكرة والرسوم المتحركة والأدوات الجديدة، مع إبقاء التحقق النهائي من إجراءات اللعبة داخل كودك الخاص.

القصة

أسئلة وأجوبة حول الخبر

ما أبرز التفاصيل حول كيف تعمل المحادثة؟

ينشئ المطور وكيلا صوتيا في لوحة ElevenLabs، ويمرر معرّفه عند بدء الجلسة. تفتح الحزمة الاتصال، وتجهز أجهزة الصوت، وتختار وسيلة النقل المناسبة. ويُستخدم WebSocket داخل المحرر وفي إصدارات سطح المكتب، بينما يتيح WebGL استخدام WebSocket أو WebRTC. يبدو السيناريو البسيط كالتالي: يوضع مشغّل حول الشخصية. عندما يدخل اللاعب نطاقه، تستدعي اللعبة StartSessionAsync؛ وعندما يغادر، تستدعي EndSession. ويُشغّل الصوت افتراضيا كصوت ثنائي الأبعاد عادي، لكن يمكن للمطور تمرير AudioSource مخصص كي تصدر الجملة من موقع الشخصية.

ما أبرز التفاصيل حول وكيل واحد لعدة شخصيات؟

ليس من الضروري إنشاء وكيل منفصل لكل شخصية NPC. عند بدء الجلسة، تستطيع اللعبة تمرير متغيرات ديناميكية، مثل لون الشخصية أو مهنتها أو مزاجها. وتُدرج هذه القيم في تعليمات النظام والجملة الأولى. ويمكن تحديد اختلافات أوضح عبر تجاوزات مؤقتة للصوت وإعدادات الوكيل، إذا كانت مسموحا بها مسبقا في إعدادات الأمان. لنتخيل صاحبي حانتين في مشهد واحد. يستخدم كلاهما سيناريو المحادثة الأساسي نفسه، لكن الأول يتلقى المتغيرين «هادئ» و«ودود»، بينما يتلقى الثاني «منزعج» و«مرتاب».

ما أبرز التفاصيل حول ما يجب مراعاته قبل الإصدار؟

أُعلن عن المحرر وWindows وmacOS وLinux وWebGL بوصفها منصات مدعومة. أما iOS وAndroid وXR فما زالت في المرحلة التجريبية. وعلى الأجهزة المحمولة، يجب طلب إذن استخدام الميكروفون بصورة منفصلة. ويتطلب WebGL تفعيل WebAssembly.Table. كما يخضع التشغيل داخل المتصفح لقيود إضافية: بعض إعدادات AudioSource لا تنتقل إلى Web Audio API، ويتجاهل WebRTC قيمة OutputAudioSource الممررة إليه. يتعلق القيد الأهم بالأمان. للاختبار المحلي الأول، تقترح ElevenLabs تعطيل المصادقة والاتصال باستخدام معرّف الوكيل. ولا يجوز فعل ذلك في لعبة منشورة.

ZK
جمال حميدون — مدير المنتجات في Alpina Digital ومدير منتج AlpinaGPT. يبني منتجات الذكاء الاصطناعي منذ 2019. بدأ Hamidun News كمشروع شخصي ثم أصبح مُجمِّعًا إنتاجيًا بأكثر من 6000 قارئ.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
ما رأيك؟
جارٍ تحميل التعليقات…