نمدونم چرا پست نمیشه
خوب برای این که بتونیم صدای یک چیزی رو توی بازی درست کنیم یه سری موارد رو نیاز داریم:
فقط یادمون باشه که audio listener توی main camera هستش
خوب حالا مورد بعدی audio source هستش، مثلا میخوایم وقتی که راکتمون داره پرواز میکنه بهش یه صدایی اضافه کنیم خوب این رو باید داخل همون راکت اضافه اش کنیم . چجوری؟
میزنیم روی راکتمون و بعد کامپوننت audio source رو بهش اضافه میکنیم. حالا اونجا یه قسمتی داره به اسم audioClip که میتونیم اون صدای مورد نظرمون رو از اونجا انتخاب کنیم.
خوب برای خوده صدا هم میتونیم از این لینک استفاده کنیم فقط قبل این که بتونید دانلودش کنید باید با یه ایمیل عضوش بشید.
اگر هم خواستیم خودمون یه sound effect درست کنیم از این برنامه میتونیم استفاده کنیم: audacity که این هم لینکشه . حالا برای فرمتی که میخوایم ذخیره کنیم هم میتونیم از mp3 یا ogg استفاده کنیم ، هر چقدر که فایل کم حجم تر باشه بهتره در کل.
خوب دو تا آپشن داریم play on awake که یعنی وقتی که بازی شروع میشه این صدا هم پلی میشه و بعدی هم loop هستش که صدامون هر وقت به انتها رسید لوپ میخوره و دوباره پخش میشه .
خوب توی داکیومنت های یونتی هم کلی متد های مختلف براش تعریف شده که اینجا میتونیم ببینیم.
خوب حالا میخوایم کد بالا رو بررسی کنیم. اینجا اومدیم برای این که این صدایی که دانلود کردیم و میخوام راکت موقع پرواز کردن پخش کنه چند بار پخش نشه برای همین اومدیم از isPlaying استفاده کردیم. که یعنی در صورتی که در حال پخش نبود بیاد و پخشش کنه با audioSource.Play بعدش اومدیم else رو روی if که وظیفه چک کردن دکمه ی space رو داره گذاشتیم، برای این که این صدا فقط زمانی قراره پخش بشه که داریم دکمه space رو میزنیم و در غیر این صورت باید پخش صدا متوقف بشه برای همین توی else از audioSource.stop استفاده کردیم.
freesound
audacityteam