تشغيل أصوات متعددة في نفس الوقت

تحديث الصفحة :
تاريخ إنشاء الصفحة :

بيئة التحقق

نوافذ
  • ويندوز ١١
محرر الوحدة
  • 2021.3.3f1
حزمة نظام الإدخال
  • 1.3.0

المتطلبات الأساسية لهذه النصيحة

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

حول المواد المدرجة مع العينة

يتم استعارة المؤثرات الصوتية من المواقع التالية.

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

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

  • الرعايا (.wav)
  • أوغفوربيس (.ogg)
  • طبقة MPEG 3 (.mp3)

لمزيد من المعلومات، راجع وثائق الوحدة الرسمية.

حول تشغيل الصوت المتزامن المتعدد

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

خطوات تشغيل الصوت في نفس الوقت

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

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

أضف ملف صوت عن طريق إفلاته في مشروعك.

إضافة مصدر صوت إلى التسلسل الهرمي. في هذه الحالة ، لن تقوم بتعيين مقطع الصوت مباشرة على AudioSource.

إضافة برنامج نصي. ButtonEvent اترك الاسم ك .

يبدو البرنامج النصي كما يلي:

using UnityEngine;

public class ButtonEvent : MonoBehaviour
{
  [SerializeField] private AudioSource AudioSource;

  /// <summary>音声データ。</summary>
  [SerializeField] private AudioClip AudioClip;

  public void OnClickPlay()
  {
    // オーディオを再生します
    AudioSource.PlayOneShot(AudioClip);
  }
}

AudioSource فكر في الأمر كفئة للتحكم في الصوت ، تماما مثل النصائح السابقة.

AudioClip هي فئة تخزن البيانات الصوتية. يمكنك تعيين الملفات الصوتية هنا.

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

إرفاق البرنامج النصي إلى EventSystem.

بالنسبة إلى "مصدر الصوت" ، اضبط "مصدر الصوت" المضاف إلى التسلسل الهرمي.

بالنسبة إلى "مقطع صوتي" ، قم بتعيين ملف صوتي من المشروع.

أخيرا ، اضبط الطريقة على حدث النقر فوق الزر.

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

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

عيوب عند اللعب مع AudioClip

AudioClip تمكنت من تشغيل الصوت فوق بعضها البعض من خلال تشغيله باستخدام ، ولكن على العكس من ذلك ، تحدث العيوب التالية.

يصبح الصوت صاخبا

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