كيفية استخدام الأصوات في Unreal Engine 4

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

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

وفي هذا البرنامج التعليمي ستتعلم كيفية:

  1. تشغيل الموسيقى ووضعها ضمن حلقة تكرار.
  2. تشغيل مؤثر صوتي في نقاط محددة ضمن مؤثر حركي.
  3. تعديل طبقة الصوت في كل مرة يتم تشغيلها.
  4. تحريك وضبط مستوى الصوت بناءً على موقعه في مساحة ثلاثية الأبعاد.
  5. التحكم في حجم الموسيقى والمؤثرات الصوتية بشكل مستقل باستخدام واجهة المستخدم (UI).

يرجى ملاحظة أنك ستستخدم المخططات (Blueprints) في هذا البرنامج التعليمي، فإذا لم تكن قد قمت بذلك تعلمت ذلك، فالرجاء الاطلاع على البرامج التعليمية السابقة لأنها تغطي مناطق مختلفة من المخططات (Blueprints).

ويوصى أيضاً باستخدام سماعات الرأس لهذا البرنامج التعليمي حيث ستتعلم كيفية تخصيص الصوت.

البداية

قم بتنزيل مشروع البداية وفك ضغطه، وافتح المشروع بالانتقال إلى مجلد المشروع (project folder) وفتح (SkywardMuffin.uproject).

اضغط على تشغيل (Play) لبدء اللعبة، والهدف من اللعبة هو لمس أكبر عدد ممكن من السحب دون السقوط، انقر فوق زر الماوس الأيسر للانتقال إلى السحابة الأولى.

لعبة البداية

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

تشغيل الموسيقى (Playing Music)

انتقل إلى مستعرض المحتوى (Content Browser) وانتقل إلى مجلد الصوت (Audio folder)، وستجد جميع الأصوات التي ستستخدمها في هذا البرنامج التعليمي، ويمكنك الاستماع إليهم من خلال التمرير فوق الرمز الخاص بهم ثم النقر فوق رمز التشغيل الذي يظهر.

تشغيل الموسيقى

يعد تشغيل الموسيقى أمر بسيط مثل سحب أصل الصوت (sound asset) وإفلاته في منفذ العرض (Viewport)، وفي هذه الحالة سيتم تشغيل الموسيقى مرة واحدة فقط، هذا لأنك تحتاج إلى تمكين التكرار يدوياً داخل الأصل (asset)، انقر نقراً مزدوجاً فوق (S_Music) لفتحه.

تشغيل الموسيقى 2

ستظهر نافذة جديدة بلوحة تفاصيل (Details panel) واحدة، انتقل إلى قسم الموجات الصوتية (Sound Wave) وقم بتمكين التكرار الحلقي (Looping).

لوحة التفاصيل

بعد ذلك، ارجع إلى المحرر الرئيسي ثم اسحب وانقر فوق أصل ملف الصوت (S_Music) في منفذ العرض (Viewport).

تحديد أصول الصوت

وسيؤدي هذا إلى إنشاء مثيل (AmbientSound) مع (S_Music) كمصدر للصوت، وسيقوم هذا الممثل تلقائياً بتشغيل (S_Music) عند بدء اللعبة.

اضغط على تشغيل (Play) للاستماع إلى الموسيقى، وبعد 17 ثانية (طول الموسيقى)، سيتم تكرارها وتشغيلها مرة أخرى.

تشغيل الموسيقى في اللعبة

بعد ذلك، ستضيف مؤثراً صوتياً كلما خطت الكعكة خطوة، وللقيام بذلك، سوف تستخدم إشعار المؤثرات الحركية.

ما هو إشعار المؤثرات الحركية (Animation Notify)؟

يسمح لك إشعار المؤثرات الحركية (Animation Notify) بتشغيل حدث في نقطة معينة في المؤثرات الحركية (Animation)، ويمكنك استخدامها بعدة طرق مختلفة، على سبيل المثال، يمكنك إنشاء إشعار لتوليد تأثير جسيم.

إشعار المؤثرات الحركية

في هذه اللعبة، يظهر زر إعادة التشغيل بمجرد أن تلمس الكعك الأرض، ومع ذلك، باستخدام إشعار المؤثرات الحركية (Animation Notify)، يمكنك جعله يظهر في نهاية المؤثر الحركي للوفاة (death animation).

مؤثرات حركية وفاة

في هذا البرنامج التعليمي، ستستخدم إشعارات المؤثرات الحركية (Animation Notify) لتشغيل صوت عندما تلمس كل قدم الأرض.

إنشاء إشعار المؤثرات الحركية (Animation Notify)

انتقل إلى مجلد (Characters \ Muffin) ثم افتح (SK_Muffin_Walk)، وسيؤدي هذا إلى فتح محرر المؤثرات الحركية (Animation editor).

وفي اللوحة الموجودة أسفل منفذ العرض (Viewport)، سترى منطقة تسمى الإشعارات (Notifies)، والمنطقة الرمادية الفاتحة هي مسار الإشعار (Notify Track)، وهذا هو المكان الذي ستنشئ فيه إشعاراتك وتُديرها.

إنشاء إشعار المؤثرات الحركية

ويكون الإطار 10 والإطار 22 عندما تلمس كل قدم الأرض، لذا ستحتاج إلى إنشاء إشعار في كلتا النقطتين، ولإنشاء إشعار، انقر بزر الماوس الأيمن على مسار الإشعار (Notify Track) وحدد (Add Notify \ Play Sound)، وسيؤدي هذا إلى إنشاء إشعار يسمى (PlaySound).

إشعار

بعد ذلك، تحتاج إلى تحديد مكان تموضع الإشعار (Notify) بحيث يتم تشغيله في الإطار 10.

تحريك إشعار المؤثرات الحركية (Animation Notify)

من الصعب بعض الشيء معرفة المكان المطلوب نقل الإشعار إليه لأن مسار الإشعار (Notify Track) لا يشير إلى مكان الإطار 10، ومع ذلك، يمكنك عرض علامة باستخدام المخطط الزمني (Timeline).

أولاً، انتقل إلى المخطط الزمني (Timeline) الموجود أسفل اللوحة، واسحب وانقر فوق رأس التشغيل الأحمر وحرره عندما يكون الإطار الحالي (Current Frame) هو 10، وتأكد من إيقافه مؤقتاً أولاً.

تحريك إشعار المؤثرات الحركية1

الآن، سيحتوي مسار الإشعار (Notify Track) على خط أحمر يشير إلى مكان رأس التشغيل.

مسار الإشعار

اسحب وانقر فوق (PlaySound Notify) ثم حرر عندما يحاذي الخط الأحمر.

مسار الإشعار 2

بعد ذلك، تحتاج إلى إخبار الإشعار (Notify) لتشغيل صوت الخطوات.

تشغيل صوت خطى الأقدام

انقر بزر الماوس الأيسر على (PlaySound) لتحديده ثم انتقل إلى لوحة التفاصيل (Details panel) في قسم (Anim Notify)، واضبط (Sound) على (S_Footstep).

تشغيل صوت الأقدام

بعد ذلك، كرر العملية للقدم الأخرى، وقم بما يلي:

  1. قم بإنشاء إشعار صوت تشغيل آخر.
  2. انقل الإشعار إلى الإطار 21.
  3. اضبط صوت الإشعار (Notify) على (S_Footstep).
تشغيل الصوت للقدم الثانية

الآن، عندما تصل المؤثرات الحركية للمشي إلى الإطار 10 والإطار 21، ستعمل الإشعارات على تشغيل صوت (S_Footstep).

أغلق (SK_Muffin_Walk) ثم ارجع إلى المحرر الرئيسي، اضغط على تشغيل (Play) وابدأ في التجول لسماع الخطوات.

صوت الأقدام

بعد الاستماع إلى الخطوات بشكل متكرر، قد يلاحظ اللاعبون شيئاً ما، إنه نفس المؤثر الصوتي في كل مرة، فماذا لو كانت هناك طريقة ما لتغيير الصوت في كل مرة؟

في القسم التالي، ستشغل مؤثر صوتي عندما يلمس اللاعب سحابة، ولكن هذه المرة، سوف تقوم بتغيير الصوت في كل مرة باستخدام الإشارة الصوتية (Sound Cue).

ما هي الإشارة الصوتية (Sound Cue)؟

هو أحد الأصول التي تسمح لك بمعالجة أصوات متعددة ودمجها، ويمكنك بعد ذلك التعامل مع الإشارة الصوتية (Sound Cue) كصوت خاص به، وفي أي مكان يمكنك فيه استخدام صوت عادي، يمكنك استخدام الإشارة الصوتية (Sound Cue) بدلاً من ذلك.

وفيما يلي مثال على إشارة صوتية (Sound Cue) باستخدام الموصل (Concatenator) لتشغيل ثلاثة أصوات متتالية:

الإشارة الصوتية

وإذا كنت تستخدم عقدة عشوائية (Random) بدلاً من ذلك، فيمكنك تحديد صوت عشوائي في كل مرة تقوم فيها بتشغيل إشارة صوتية (Sound Cue).

عقدة عشوائية

في هذا البرنامج التعليمي، ستقوم بإنشاء واستخدام الإشارة الصوتية (Sound Cue) لتغيير درجة الصوت.

إنشاء إشارة صوتية (Creating a Sound Cue)

أولاً، انتقل مرة أخرى إلى مجلد الصوت (Audio folder)، وستستخدم (S_Pop) كتأثير صوتي لذلك ستحتاج إلى إنشاء إشارة صوتية (Sound Cue) له، وللقيام بذلك، انقر بزر الماوس الأيمن فوق (S_Pop) وحدد (Create Cue).

إنشاء إشارة صوتية

سيؤدي هذا إلى إنشاء أصل (Sound Cue) جديد باسم (S_Pop_Cue)، انقر نقراً مزدوجاً فوق (S_Pop_Cue) لفتحه في محرر (Sound Cue).

أصل الصوت

ملاحظة: هذا المحرر مشابه جداً لمحرر المواد (material editor)، لذا لن نقوم بالحديث عنه، وإذا لم يكن لديك معلومات كافية عن محرر المواد (material editor)، فيمكنك التعرف عليه في البرنامج التعليمي للشروع في العمل.

في الرسم البياني، سترى عقدتين (Wave Player: S_Pop) و (Output)، وسوف يقوم (Sound Cue) بتشغيل كل ما تقوم بتوصيله بعقدة الإخراج (Output) (في هذه الحالة، سوف يقوم بتشغيل صوت S_Pop)، ويمكنك الاستماع إلى الإشارة الصوتية (Sound Cue) وبالانتقال إلى شريط الأدوات (Toolbar) والنقر فوق تشغيل الإشارة الصوتية (Play Cue).

تشغيل الإشارة الصوتية 1

بعد ذلك، ستتعلم كيفية تغيير درجة الصوت.

تغيير حدة الصوت

لتغيير حدة الصوت، تحتاج إلى استخدام عقدة المغير (Modulator)، قم بإنشاء واحدة وقم بتوصيلها على النحو التالي:

تغيير حدة الصوت

الآن، تحتاج إلى تحديد مقدار التغيير، حدد عقدة المغير (Modulator) ثم انتقل إلى لوحة التفاصيل (Details panel)، وسترى حقلين متعلقين بالعرض التقديمي (Pitch Min) و (Pitch Max) حيث تشير القيم الأقل من 1 إلى إمكانية خفض درجة الصوت والعكس صحيح، وتشير القيمة 1 إلى أن درجة الصوت ستبقى كما هي.

في هذا البرنامج التعليمي، يجب أن يتم رفع مستوى الصوت فقط، اضبط (Pitch Min) على (1.0) و (Pitch Max) على (2.0).

مقدار تغيير حدة الصوت

الآن، في كل مرة تقوم فيها بتشغيل الإشارة الصوتية (Sound Cue)، سيكون للصوت درجة بين الدرجة الأصلية ومضاعفة درجة الصوت الأصلية.

بعد ذلك، تحتاج إلى تشغيل الإشارة الصوتية (Sound Cue) عندما يلمس اللاعب سحابة.

تشغيل الإشارة الصوتية (Sound Cue)

ارجع إلى المحرر الرئيسي وانتقل إلى مجلد المخططات (Blueprints)، وافتح (BP_Cloud) ثم افتح تابع (CloudTouched)، ويتم تنفيذ هذه التابع عندما يلمس اللاعب سحابة، لذا فهو المكان المثالي لتشغيل الإشارة الصوتية (Sound Cue).

هناك عقدتان يمكنك استخدامهما لتشغيل الصوت:

  1. تشغيل الصوت ثنائي الأبعاد (Play Sound 2D): تشغيل الصوت دون أي توهين أو تحديد مكاني (ستتعرف عليها لاحقاً في البرنامج التعليمي)، يتم استخدام هذه العقدة للأصوات غير الموجودة في عالم الألعاب مثل الموسيقى وأصوات واجهة المستخدم (UI).
  2. تشغيل الصوت في الموقع (Play Sound at Location): تشغيل صوت في موقع ضمن مساحة ثلاثية الأبعاد، يتم استخدام هذه العقدة إذا كنت تريد تغيير الصوت بناءً على موقع اللاعب واتجاهه.

ونظراً لوجود السحابة في عالم اللعبة، يجب أن يكون الصوت موجوداً أيضاً داخل عالم اللعبة، أضف عقدة (Play Sound at Location) إلى نهاية سلسلة العقد.

تشغيل الإشارة الصوتية 2

بعد ذلك، اضبط (Sound) على (S_Pop_Cue).

تشغيل الصوت في موقع

الآن، عندما يلمس اللاعب سحابة، سيتم تشغيل (S_Pop_Cue).

انقر فوق (Compile) ثم ارجع إلى المحرر الرئيسي، واضغط على تشغيل (Play) وابدأ بلعب اللعبة، وفي كل مرة تلمس فيها سحابة، يجب أن تسمع نفس الصوت ولكن بنبرات مختلفة.

نبرات أصوات مختلفة

تتغير طبقة الصوت ولكنها لا تبدو كما لو كانت في مساحة ثلاثية الأبعاد، لتمكين هذا تحتاج إلى التحديد المكاني للصوت (spatialize the sound).

ما هو التحديد المكاني للصوت (Spatialization)؟

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

التحديد المكاني للصوت

وبالإضافة إلى زيادة الاندماج، يمكن أن يساعد التحديد المكاني للصوت أيضاً في اللعب، وفي الألعاب التنافسية مثل (Overwatch) و (Counter-Strike)، يمكن أن يساعد التحديد المكاني للصوت اللاعبين على تمييز مواقع اللاعبين الآخرين.

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

تفعيل التحديد المكاني للصوت (Enabling Spatialization)

هناك طريقتان لتمكين التحديد المكاني لإشارة الصوت (Spatialization):

  • أصل توهين الصوت (Sound Attenuation asset): يحتوي هذا الأصل على إعدادات تتعلق بالتوهين والتحديد المكاني، ويمكنك تعيين هذا الأصل لأصوات مختلفة للتأكد من أن لديهم جميع نفس الإعدادات.
  • تجاوز التوهين (Override Attenuation): بدلاً من استخدام أصل توهين الصوت، يمكنك تحديد الإعدادات داخل الإشارة الصوتية (Sound Cue)، ويتيح لك ذلك إنشاء إعدادات لإشارات الصوت الفردية.

في هذا البرنامج التعليمي، ستستخدم الطريقة الثانية، افتح (S_Pop_Cue) ثم انتقل إلى لوحة التفاصيل (Details panel)، وحدد موقع قسم التوهين (Attenuation section) وقم بتمكين تجاوز التوهين (Override Attenuation)، وسيؤدي هذا إلى تمكين قسم تجاوز التوهين (Attenuation Overrides section).

تفعيل التحديد المكاني للصوت

للتحقق من تمكين التحديد المكاني، انقر فوق السهم الموجود بجوار (Attenuation Overrides)، وسيشير إعداد التحديد المكاني (Spatialize) إلى ما إذا كان صوتك مكانياً.

التحقق من التحديد المكاني للصوت

هذا كل ما يتعلق بالإعدادات، انتقل وأغلق (S_Pop_Cue)، بعد ذلك، تحتاج إلى تحديد مكان الصوت في مساحة ثلاثية الأبعاد.

تشغيل صوت في مساحة ثلاثية الأبعاد

افتح (BP_Cloud) ثم قم بإنشاء عقدة (GetActorLocation)، بعد ذلك، قم بتوصيله بدبوس الموقع (Location pin) في عقدة (Play Sound at Location).

تشغيل صوت في مساحة ثلاثية الأبعاد

الآن، سيتم تشغيل الصوت في نفس موقع السحابة.

انقر فوق (Compile) ثم ارجع إلى المحرر الرئيسي، واضغط تشغيل (Play) وابدأ في لمس السحب، ويجب أن تسمع أصواتاً تبدو وكأنها قادمة من مواقع مختلفة.

تشغيل الصوت في موقع السحابة

ملاحظة: بشكل افتراضي، الكاميرا هي مستمع الصوت، وهذا يعني أنك ستسمع أصواتاً من منظور الكاميرا، إذا كنت ترغب في تغيير الممثل الذي هو المستمع، يمكنك استخدام عقدة (Set Audio Listener Override).

ربما لاحظت أن بعض الغيوم تمطر، ولكنها ليست سحابة ممطرة حقاً إذا لم يبدو أنها تمطر! بعد ذلك، ستضيف صوت مطر وتستخدم التوهين (attenuation) لتغيير مستوى الصوت اعتماداً على بُعده.

إضافة صوت المطر

بدلاً من استخدام عقدة لتشغيل صوت المطر، يمكنك استخدام مكون صوتي (Audio component) بدلاً من ذلك، تتمثل إحدى مزايا استخدام المكون (component) في أنه سيتم تشغيله تلقائياً في موقع السحابة.

افتح (BP_Cloud) ثم انتقل إلى لوحة المكونات (Components panel)، أضف مكون صوت (Audio component) جديد وقم بتسميته (RainAudio).

انتقل إلى لوحة التفاصيل (Details panel) وحدد موقع قسم الصوت (Sound section)، تغيير الصوت إلى (S_Rain).

صوت المطر

يجب ألا يتم تشغيل صوت المطر مع السحب العادية، وهذا يعني أنك بحاجة إلى إلغاء تنشيط (RainAudio) للسحب العادية، وللقيام بذلك، قم بالتمرير لأسفل إلى قسم التنشيط (Activation section) وقم بتعطيل التنشيط التلقائي (Auto Activate).

تعطيل صوت المطر

الآن، أنت بحاجة إلى تنشيط (RainAudio) للسحب الممطرة، وأفضل مكان للقيام بذلك هو تابع (EnableRain)، ويتم تنفيذ هذا التابع إذا كانت السحابة ممطر، افتح تابع (EnableRain) وأضف العقد المميزة (highlighted):

تنشيط الصوت للسحب الماطرة

بعد ذلك، تحتاج إلى تمكين التوهين (attenuation) وتحديد إعداداته.

ضبط التوهين (Setting Up Attenuation)

انتقل إلى لوحة المكونات (Components panel) وحدد (RainAudio)، وانتقل إلى لوحة التفاصيل (Details panel) وانتقل إلى قسم التوهين (Attenuation section)، وقم بتمكين إعداد تجاوز التوهين (Override Attenuation).

يتم تكرار إعدادات التوهين لإظهار كيف يفقد الصوت حجمه عبر المسافة، تحت منطقة تجاوز التوهين (Attenuation Overrides)، هناك إعدادان ستستخدمهما:

  • نصف القطر (Radius): أقصى مسافة يمكن أن يكون عليها اللاعب قبل أن يبدأ الصوت في التلاشي.
  • مسافة السقوط (Fall off Distance): المسافة التي يحتاجها اللاعب قبل أن يصبح الصوت صامتاً، وهذه المسافة تضاف إلى نصف القطر (radius).

ألق نظرة على المثال أدناه:

ضبط التوهين

عندما يكون اللاعب داخل الدائرة الداخلية (المحددة بواسطة نصف القطر Radius)، يكون مستوى الصوت 100 بالمئة عندما ينتقل اللاعب من الدائرة الداخلية إلى حافة الدائرة الخارجية (المحددة بواسطة مسافة السقوط Falloff Distance)، يتلاشى الحجم إلى 0 بالمئة.

في هذا البرنامج التعليمي، اضبط نصف القطر (Radius) على 300 ومسافة السقوط (Fall off Distance) على 400.

تحديد أبعاد التوهين

هذا يعني أن حجم الصوت سيكون 100 بالمئة عندما يكون اللاعب على بعد أقل من 300 وحدة من الصوت، وعندما تقترب مسافة اللاعب من 700 (300 + 400) وحدة، سيتلاشى الحجم إلى 0 بالمئة.

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

تلاشي الصوت (Fading Out a Sound)

قم بالتبديل إلى مخطط الأحداث (Event Graph) وحدد موقع حدث (FadeOut)، يمكنك القيام بذلك من خلال الانتقال إلى لوحة (My Blueprint) والانتقال إلى قسم الرسوم البيانية (Graphs section)، ثم انقر نقراً مزدوجاً فوق (FadeOut) المدرجة ضمن (EventGraph).

أضف العقد المميزة (highlighted) إلى نهاية سلسلة العقد:

تلاشي الصوت

يتم تنفيذ (FadeOut) عندما يلمس اللاعب السحابة، وتنتج عقدة الخط الزمني (FadeTimeline) قيمة (Alpha) تتراوح من 1 إلى 0 خلال مدة محددة، وباستخدام هذه القيمة، سيتلاشى حجم (RainAudio).

ملاحظة: يمكنك النقر نقراً مزدوجاً فوق عقدة الخط الزمني (Timeline) لفتحها ومعرفة كيفية عملها.

هناك إعداد واحد تحتاج إلى تغييره في (S_Rain) قبل أن تتمكن من سماعه أثناء العمل، وعندما يكون حجم الصوت 0 بالمئة، سيتوقف عن التشغيل، ونظراً لأنك تجاوزت نطاق الاستماع عند بدء تشغيل الصوت، فسيكون حجم (S_Rain) 0 بالمئة وعندما تنتقل إلى نطاق الاستماع، فلن تسمع أي شيء.

الخروج من المجال

يمكنك إصلاح هذا باستخدام الإعداد “افترض عندما تكون صامتاً” (Virtualize when Silent)، وسيعمل هذا الإعداد دائماً على تشغيل الصوت، بغض النظر عن حجمه.

انقر فوق (Compile) ثم أغلق (BP_Cloud)، وانتقل إلى مجلد الصوت (Audio folder) وافتح (S_Rain)، وانتقل إلى قسم الصوت (Sound section) وقم بتمكين (Virtualize when Silent).

افترض عندما تكون صامتاً

الآن، ستعمل (S_Rain) حتى لو كانت صامتة، أغلق (S_Rain) ثم ارجع إلى المحرر الرئيسي، واضغط على تشغيل (Play) ثم انتقل إلى نطاق غيوم المطر لسماع صوت المطر.

العمل داخل وخارج المجال

في القسم الأخير، ستتحكم في حجم الأصوات باستخدام فئات الصوت (Sound Classes) ومزيج الأصوات (Sound Mixes).

فئات الصوت ومزيج الصوت (Sound Classes and Sound Mixes)

فئة الصوت (Sound Class) هي طريقة سهلة لتجميع أصوات متعددة، على سبيل المثال، يمكنك تجميع كل الموسيقى في فئة واحدة والمؤثرات الصوتية في فئة أخرى.

مزيج ومؤثرات الصوت

لضبط خصائص فئة الصوت (Sound Class) (مستوى الصوت ودرجة الصوت وما إلى ذلك) أثناء اللعب، تحتاج إلى استخدام مزيج الصوت (Sound Mix)، ويعد مزيج الصوت في الأساس جدولاً وكل إدخال في الجدول عبارة عن فئة صوت، ويحتوي كل إدخال على التعديلات التي يجب أن تحتوي عليها فئة الصوت.

فيما يلي مثال لما يمكن أن يحتوي عليه مزيج الصوت (Sound Mix):

مؤثر الصوت

باستخدام مزيج الصوت (Sound Mix) أعلاه، سيتم تشغيل كل صوت في فئة الموسيقى بنصف مستوى الصوت، وكل صوت في فئة التأثيرات (Effects class) ستتضاعف حدته.

أولاً، ستقوم بإنشاء فئات الصوت.

إنشاء فئات الصوت (Sound Classes)

في هذا البرنامج التعليمي، ستقوم بضبط مستوى صوت الموسيقى والتأثيرات بشكل مستقل، وهذا يعني أنك ستحتاج إلى فئتين للصوت.

في مستعرض المحتوى (Content Browser)، انقر فوق إضافة جديد (Add New) وحدد (Sounds \ Sound Class)، وقم بإعادة تسمية فئة الصوت إلى (S_Music_Class).

قم بإنشاء فئة صوت أخرى وقم بتسميتها (S_Effects_Class).

إنشاء فئات الصوت

بعد ذلك، تحتاج إلى تخصيص كل صوت إلى فئة الصوت (Sound Classes)، أولاً، ستفعل ذلك من أجل الموسيقى، افتح (S_Music) ثم حدد موقع قسم الصوت (Sound section)، ثم قم بتغيير فئة الصوت إلى (S_Music_Class).

إعداد فئة الصوت

بمجرد القيام بذلك، أغلق (S_Music).

التالي هو المؤثرات الصوتية، بدلاً من فتح كل صوت وتعيين فئة صوتية، يمكنك القيام بكل ذلك مرة واحدة، أولاً، حدد الأصول التالية:

  • S_Footstep
  • S_Pop_Cue
  • S_Rain

بعد ذلك، انقر بزر الماوس الأيمن فوق أحد الأصول المحددة، وحدد (Asset Actions\Bulk Edit via Property Matrix)، وسيؤدي هذا إلى فتح الأصول في محرر مصفوفة الخصائص (property matrix editor).

أصول الصوت المحددة

يتيح لك محرر مصفوفة الخصائص (property matrix editor) تحرير الخصائص العامة في نفس الوقت.

انتقل إلى لوحة التفاصيل (Details panel) وقم بتوسيع فرع الصوت (Sound branch)، لتحديد فئة الصوت (Sound Class)، انقر فوق أيقونة الشبكة الموجودة على يمين فئة الصوت.

تفاصيل فئة الصوت

حدد (S_Effects_Class) ثم أغلق محرر مصفوفة الخصائص (property matrix editor).

جميع الأصوات الآن في فئة الصوت المناسبة لها، وبعد ذلك، ستقوم بإنشاء مزيج الصوت (Sound Mix) وتعديله باستخدام المخططات (Blueprints).

إنشاء وضبط مزيج الصوت (Sound Mix)

في مستعرض المحتوى (Content Browser)، انقر فوق إضافة جديد (Add New) وحدد (Sounds \ Sound Mix)، وأعد تسمية (Sound Mix) إلى (S_Volume_Mix).

للتحكم في مستوى صوت كل فئة، ستستخدم أشرطة التمرير، لقد قمت بالفعل بإنشاء أداة بها شريحتين للتمرير لتستخدمهما، انتقل إلى مجلد واجهة المستخدم (UI) وافتح (WBP_Options).

إنشاء وضبط مزيج الصوت

لضبط مستوى الصوت، تحتاج إلى استخدام القيمة من أشرطة التمرير (sliders) هذه وإدخالها في (Sound Mix)، وستفعل هذا للموسيقى أولاً.

قم بالتبديل إلى وضع الرسم البياني (Graph mode) ثم انتقل إلى لوحة (My Blueprints)، وضمن قسم المتغيرات (Variables section)، حدد (MusicSlider)، ثم انتقل إلى لوحة التفاصيل (Details panel) وانقر فوق الزر الموجود بجوار (On Value Changed).

ضبط مستوى الصوت

سيؤدي هذا إلى إنشاء حدث (On Value Changed (MusicSlider))، ويتم تشغيل هذا الحدث كلما قمت بتحريك مقبض شريط التمرير.

حدث ميوزيك سلايدر

الآن، تحتاج إلى ضبط حجم (S_Music_Class) داخل (S_Volume_Mix)، وللقيام بذلك، تحتاج إلى استخدام عقدة (Set Sound Mix Class Override)، وتسمح لك هذه العقدة بتحديد مزيج الصوت وفئة الصوت، وإذا لم تكن فئة الصوت موجودة في (Sound Mix)، فستتم إضافتها، وإذا كانت موجودة بالفعل، فسيتم تحديثها.

أضف عقدة (Set Sound Mix Class Override) وقم بتعيين الخيارات التالية:

  • في معدل مزج الصوت (Sound Mix Modifier): S_Volume_Mix.
  • في فئة الصوت (Sound Class): S_Music_Class
  • التلاشي في الوقت المناسب (Fade in Time): 0 (سيضمن هذا أن تكون تعديلات مستوى الصوت فورية)
ضبط خيارات

بعد ذلك، قم بتوصيل العقد الخاصة بك كما يلي:

توصيل العقد

كرر الخطوات الخاصة بـ (EffectsSlider)، وقم بتغيير دبوس (In Sound Class) إلى (S_Effects_Class).

مكرر

الآن، كلما تغيرت قيمة شريط التمرير، ستقوم (S_Volume_Mix) بضبط مستوى صوت فئة الصوت ذات الصلة.

قبل أن يعمل أي من هذا، تحتاج إلى تنشيط مزيج الصوت (Sound Mix).

تفعيل مزيج الصوت (Sound Mix)

في حالة مثل هذه (التحكم في مستوى الصوت باستخدام واجهة المستخدم UI)، من الأفضل تنشيط (Sound Mix) عند بدء اللعبة، وهذا حتى تستخدم فئة الصوت تعديلات مستوى الصوت تلقائياً من (Sound Mix)، ومع ذلك، من أجل البساطة، ستقوم بتنشيط (Sound Mix) داخل الأداة.

قم بإنشاء عقدة (Event Pre Construct)، هذا مشابه لعقدة (Event BeginPlay) الموجودة في المخططات (Blueprints).

تغعيل مزيج الصوت

لتنشيط (Sound Mix)، تحتاج إلى استخدام عقدة (Push Sound Mix Modifier)، قم بإنشاء واحدة وربطها بـ (Event Pre Construct)، وبعد ذلك، اضبط (Sound Mix Modifier) على (S_Volume_Mix).

ربط مزيج الصوت

سيؤدي هذا إلى تنشيط (S_Volume_Mix) عند انتشار (WBP_Options).

انقر فوق (Compile) ثم قم بإغلاق (WBP_Options)، واضغط على تشغيل (Play) ثم اضغط على المفتاح (M) لإظهار أشرطة التمرير، واضبط أشرطة التمرير للتأثير على مستوى صوت كل فئة صوت.

الشكل النهائي
المصدر
هنا

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني.