Memutar beberapa suara secara bersamaan
Lingkungan verifikasi
- Windows
-
- jendela 11
- Editor Kesatuan
-
- 2021.3.3f1
- Paket Sistem Input
-
- 1.3.0
Prasyarat untuk tip ini
Pengaturan berikut telah dibuat sebelumnya sebagai premis untuk deskripsi tip ini.
Tentang materi yang disertakan dengan sampel
Efek suara dipinjam dari situs-situs berikut.
Tentang file audio
Format file audio berikut dapat diputar dengan fitur standar Unity: Harap persiapkan terlebih dahulu karena akan digunakan dalam tips ini.
- WAV (.wav)
- OggVorbis (.ogg)
- MPEG lapisan 3 (.mp3)
Untuk informasi selengkapnya, lihat dokumentasi resmi Unity.
Tentang beberapa pemutaran audio simultan
Dalam tips sebelumnya, kami menggunakan AudioSource untuk memutar file audio, tetapi ketika kami mencoba membuat satu suara dan beberapa suara, suara sebelumnya menghilang. Misalnya, jika Anda memiliki dua ledakan dalam permainan, tidak wajar jika efek suara pertama menghilang ketika ledakan kedua menghasilkan efek suara. Bagian ini menjelaskan cara memainkan suara yang sama beberapa kali di atas satu sama lain.
Langkah-langkah untuk memutar audio secara bersamaan
Di sini, saya akan menjelaskan dari titik di mana saya membuat proyek baru, tetapi jika Anda tahu Unity sampai batas tertentu, Anda hanya dapat memotong bagian yang relevan dan menghafalnya.
Kali ini, efek suara akan diputar setiap kali Anda mengklik tombol. Buat UI Anda seperti yang ditunjukkan. Detailnya sesuai dan bagus.
Tambahkan file suara dengan menjatuhkannya ke proyek Anda.
Tambahkan Sumber Audio ke hierarki. Dalam hal ini, Anda tidak akan mengatur klip audio langsung ke Sumber Audio.
Tambahkan skrip. ButtonEvent
Biarkan nama sebagai .
Skripnya terlihat seperti ini:
using UnityEngine;
public class ButtonEvent : MonoBehaviour
{
[SerializeField] private AudioSource AudioSource;
<summary>音声データ。</summary>
[SerializeField] private AudioClip AudioClip;
public void OnClickPlay()
{
// オーディオを再生します
AudioSource.PlayOneShot(AudioClip);
}
}
AudioSource
Anggap saja sebagai kelas untuk mengontrol audio, seperti tips sebelumnya.
AudioClip
adalah kelas yang menyimpan data audio. Anda dapat mengatur file audio di sini.
AudioSource.PlayOneShot
Jika Anda meneruskannya sebagai argumen ke metode, Anda dapat memutar AudioClip
data audio.
Audio yang diputar dengan metode ini dikontrol secara independen.
Jika Anda memanggil metode ini lagi, itu akan diputar sebagai suara baru secara terpisah dari yang sebelumnya.
Oleh karena itu, dimungkinkan untuk memutar suara lagi setiap kali metode ini dipanggil.
Lampirkan skrip ke EventSystem.
Untuk "Sumber Audio", atur "Sumber Audio" yang ditambahkan ke hierarki.
Untuk "Klip audio", atur file audio dari proyek.
Terakhir, atur metode ke acara klik tombol.
Jalankan game dan klik tombol. Saya pikir efek suara akan diputar. Selain itu, jika Anda mengklik tombol lagi selama pemutaran, suara baru akan diputar tanpa suara sebelumnya menghilang.
AudioClip
Dengan cara ini, sekarang dimungkinkan untuk memutar suara yang sama di atas satu sama lain dengan memutar audio melalui .
Ini memungkinkan game untuk bermain tanpa suara sebelumnya menghilang secara tidak wajar.
Kekurangan saat bermain dengan AudioClip
AudioClip
Saya dapat memutar audio di atas satu sama lain dengan memutarnya menggunakan , tetapi sebaliknya, kerugian berikut terjadi.
Suara menjadi berisik
Seperti yang Anda lihat jika Anda mengklik tombol terus menerus, suara tumpang tindih dan harmonik yang dimainkan menjadi semakin keras. Misalnya, jika Anda ingin memainkan efek suara saat serangan terjadi dalam game, Jika beberapa hit terjadi pada saat yang sama tanpa mengambil tindakan apapun, mereka dapat dimainkan pada volume yang tidak normal.