فشرده‌ سازی انواع کلیپ‌های صوتی در unity

انواع load Type ها و Compression Formatها :

compression in memory (1

کلیپ صوتی در ram ذخیره می‌شود و هنگام پخش فشرده نخواهد شد و برای بازی به حافظه اضافی نیست.

streaming (2

کلیپ صوتی در حافظه پایدار دستگاه (هارد دیسک ، مموری و … ) ذخیره می‌شود و در حالت پخش stream می شود. برای ذخیره‌سازی و اجرا شدن نیاز به Ram ندارد (حداقل این مقدار قابل توجه نیست).

Decompress On Loa (3

کلیپ صوتی در Ram بصورت فشرده نشده ذخیره می‌شود، این گزینه به بیشترین مقدار حافظه نیاز دارد، اما اجرای آن به قدرت CPU بیشتری نسبت به حالات قبل نیاز ندارد (یا همان حالت استراحت است).

موسیقی یا صداهای محیط :

مطمئناً ما نمی‌خواهیم موسیقی پس از پخش در حافظه فشرده شود، پس دو گزینه داریم :

1) استفاده از Load Type : Streaming و Compression Format : Vorbis

این ترکیب از کمترین حافظه استفاده می‌کند اما به قدرت پردازنده و توان ورودی و خروجی دیسک نیاز دارد.

2) استفاده از Load Type : Compressed In Memory و Compression Format : Vorbis

تنها تفاوت با روش اول این است که I/O دیسک را برخی نیا‌زهای حافظه مبادله می‌کند.

نکته : توجه داشته باشید که می‌توانید در ازای کیفیت صدا، اسلایدر Quality را تنظبم کنیم تا اندازه کلیپ فشرده شده کاهش یابد. معمولا 100 درصد خیلی زیاد است و 70 درصد توصیه می‌شود.

نکته : اگر دو تا کلیپ موسیقی محیط در حال اجرا داشته باشید مقدار خیلی زیادی از قدرت CPU را می‌گیرد.

جلوه های صوتی :

جلوه‌های صوتی معمولاً کلیپ‌های صوتی کوتاه یا متوسط هستند. همچنین این موارد اغلب به ندرت قابل پخش هستند و در اینجا چند قانون آورده شده است :

1) برای کلیپ‌های صوتی که اغلب پخش می‌شوند و کوتاه هستند از قالب Decompress On Load و PCM یا ADPCM برای فشرده سازی استفاده می‌شود. با انتخاب PCM فشرده سازی نیاز نیست و اگر کلیپ صوتی کوتاه باشد، خیلی سریع بارگیری می‌شود. همچنین می‌توانید از ADPCM استفاده کنید؛ به باز کردن از حالت فشرده نیاز دارد اما از Vorbis خیلی سبک‌تر است.

2) برای کلیپ‌های صوتی که اغلب پخش می‌شوند و متوسط هستند از compression in memory و ADPCM برای فشرده سازی استفاده می‌کنیم. ADPCM حدوداً 3ونیم برابر کوچکتر از PCM خام است و الگوریتم بازکردن فشرده‌سازی آن اندازه Vorbis مصرف نمی‌کند.

3) برای کلیپ‌های صوتی که به ندرت پخش می‌شوند و کوتاه هستند هم مانند (2) عمل می‌کنیم.

4) برای کلیپ‌های صوتی که به ندرت پخش می‌شوند و متوسط هستند از compression in memory و Vorbis استفاده می‌شود. این SFX ممکن است خیلی طولانی باشد تا با استفاده از ADPCM ذخیره و به ندرت پخش شود. بنابراین فشار اضافه ای که به CPU برای باز کردن فشرده‌سازی می‌آید اهمیتی ندارد.

گزینه Preload Audio Data :

در صورت فعال بودن هنگام بارگذاری Scene؛ کلیپ صوتی از قبل بارگیری می‌شود. این به‌صورت پیش‌فرض روشن است. که نشان دهنده رفتار استاندارد Unity است که در هنگام اجرای Scene از قبل تمام Audio Clipها بارگذاری را تمام کرده‌اند. اگر این متغیر فعال نباشد با اولین Play یا Play On shot بارگذاری می‌شود. یا می‌توانید از AudioSource.LoadAudioData برای بارگیری و با استفاده از تابع AudioSource.UnloadAudioData فضا را آزاد کنید.

در انتها تنظیماتی که با تجربه‌ای که بدست آمده و ازش استفاده می‌کنم را بصورت خلاصه میگذارم :

صدای کارکترها :

صداهای بازی :

موزیک :

نویسنده : سعید علی‌اکبری

منابع :

http://blog.theknightsofunity.com/wrong-import-settings-killing-unity-game-part-2

https://docs.unity3d.com/Manual/class-AudioClip.html

نوشتهٔ پیشین
تاثیر داستان در بازی های ویدئویی
نوشتهٔ بعدی
مسئولان حتی نمی دانند صنعت بازی سازی چیست

پست های مرتبط

نتیجه‌ای پیدا نشد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
برای ادامه، شما باید با قوانین موافقت کنید