هیچ محصولی به سبد خرید اضافه نکرده اید

دنیای بازی و گیمینگ

آموزش بخش صدا(Sound) در گیم میکر (پیشرفته)

در این بخش از آموزش های تکنولوژی سایت ای تاتس قصد داریم آموزش بخش صدا (Sound) در گیم میکر رو به شما ارائه بدیم. صدا و موسیقی تاثیرگذار ترین بخش بازی است که مخاطب رو به خودش جذب می کنه. هر بازی متناسب با موضوع و داستانی که دارد صدا ها و موسیقی های متفاوتی دارد. برای مثال در بازی فریاد بی صدا که خودم ساختم بیشتر از صدا ها و موسیقی های حماسی و شورانگیز استفاده شد که باعث رضایت اکثر گیمر ها در این بخش از بازی شد. اگر مشکلی در ساخت صدا و… داشتید در قسمت نظرات اعلام کنید. تو این آموزش، کار با صدا های سه بعدی و… را یاد خواهید گرفت. پس با ما همراه باشید…:)8

برای اضافه کردن یک صدا به گیم میکر می توانید از منوی Resources گزینه ی Create Sound را انتخاب نموده و یا از نوار ابزار گزینه ی Create a sound را انتخاب نمایید:

حال می توانید با زدن دکمه ی Load Sound صدای مورد نظر خود را انتخاب نمایید. گیم میکر تنها فرمت های Wave، MIDI و MP3 را پشتیبانی می کند.

صداها در گیم میکر 4 نوع می باشند:

Normal sound: افکت های صوتی بازی در این دسته قرار می گیرند. معمولا این صداها از فرمت .wav استفاده می کنند. صداهای این دسته می توانند به صورت همزمان اجرا شوند و حتی یک صدا می تواند در یک زمان چندین بار اجرا شود.

Background Music: این دسته همانند دسته ی قبل می باشد، با این تفاوت که در یک زمان فقط یکی از آن ها می تواند اجرا شود. معمولا موسیقی بازی در این دسته قرار می گیرند. فرمت پیشفرض و معمول این دسته .mid می باشد.

3D sound: صداهای سه بعدی صداهایی می باشند که می خواهید بر روی آنها تنظیمات سه بعدی اعمال کنید. در ادامه ی مقاله به این مقوله خواهیم پرداخت.

Other: صداهای بازی به طور معمول توسط DirectX اجرا می شود که امکانات زیادی دارد. اما محدود به دو فرمت Wave و MIDI می باشد. اگر می خواهید از فرمت های دیگر نظیر MP3 استفاده کنید گزینه ی Use  multimedia player را انتخاب نمایید. این گزینه از Media Player سیستم استفاده می کند، اما محدودیت های زیادی برای شما به وجود خواهد آورد. از قبیل این که حجم صدا را نمی توانید تغییر دهید؛ افکتی نمی توانید برای صدا اعمال نمایید؛ هر لحظه فقط یک صدا از این نوع اجرا خواهد شد؛ همچنین ممکن است صداهای MIDI که از این طریق اجرا می شوند اندکی متفاوت از دسته های قبل شنیده شوند. دلیل آن این است که Media Player از ترکیب کننده ی سخت افزاری استفاده می کند و این در هر سخت افزار ممکن است متفاوت باشد، در حالی که نسخه ی نرم افزاری آن در همه ی ماشین ها یکسان اجرا می شود.

پیشنهاد می شود از فایل های MP3 در بازی خود استفاده نکنید، زیرا این فایل ها فشرده می باشند و برای استفاده پردازش بیشتری می خواهند و سرعت بازی شما را پایین خواهند آورد.

امکانات دیگر صداها در گیم میکر افکت ها می باشند. در پنجره ی صدا 5 نوع افکت موجود می باشد که می توانید با انتخاب هریک از آن ها و زدن دکمه play the sound به صدا، همراه آن افکت گوش دهید.

همچنین می توانید حجم صدا (Volume) و میزان صدا در بلندگوی چپ و راست (Pan) برای هر صدا را در این پنجره تعیین نمایید.

گزینه ی Preload برای تعیین زمان بارگزاری صدا در حافظه می باشد. اگر این گزینه فعال باشد، صدا در ابتدای بازی در حافظه بارگزاری می شود، و اگر غیرفعال باشد، در اولین استفاده در حافظه بارگزاری خواهد شد.

دکمه ی Edit Sound برای ویرایش صدا می باشد. گیم میکر ویرایشگر صدای داخلی ندارد، ولی شما می توانید از پنجره ی Prefences یک برنامه را به این کار اختصاص دهید. از منوی File گزینه ی Prefences را انتخاب نمایید. از سربرگ Editors برنامه ی مورد نظر خود را برای ویرایش صدا انتخاب نمایید.

اکشن های صدا:

سربرگ main1:

 Play Sound: صدای مورد نظر را اجرا می کند. گزینه ی  loop تعیین می کند که صدا تکرار شود یا خیر.

 Stop Sound: صدای مورد نظر را متوقف می کند.

 Check Sound: اگر صدای مورد نظر در حال اجرا باشد دستور بعدی را اجرا می کند.

سربرگ main2:

 Replace Sound: صدای مورد نظر را با صدای جدیدی (آدرس فایل) جایگزین می کند.

سربرگ extra:

 Play CD: سی دی صوتی داخل CD-Rom را اجرا می کند. می توانید Track ابتدای و انتهایی را نیز تعیین نمایید.

 Stop CD: اجرای سی دی صوتی را متوقف می کند.

 Pause CD: اجرای سی دی صوتی را متوقف (Pause) می کند.

 Resume CD: سی دی Pause شده رو دوباره اجرا می کند.

 Check CD: اگر سی دی در داخل CD-Rom موجود باشد، دستور بعد را اجرا می کند.

 Check CD Playing: اگر سی دی صوتی در حال اجرا باشد، دستور بعد را اجرا می کند.

توابع اولیه کار با صدا:

sound_play(index)

صدای مورد نظر را یک بار اجرا می کند.

sound_loop(index)

صدای مورد نظر را به طور مکرر اجرا می نماید. معمولا برای اجرای موسیقی بازی کاربرد دارد.

sound_stop(index)

اگر صدای مورد نظر در حال اجرا باشد آن را متوقف می کند. در صورتی که چند نمونه از این صدا در حال اجرا باشد همگی متوقف می شوند.

sound_stop_all()

تمامی صداهای اجرا شده توسط دو دستور اول را متوقف می کند.

sound_isplaying(index)

اگر صدای مورد نظر در حال اجرا باشد مقدار صحیح بازمی گرداند.

توجه نمایید که این تابع هنگامی مقدار صحیح بازمی گرداند که صدا اجرا شده باشد. هنگامی که صدایی را اجرا می کنید، بلافاصله اجرا نمی شود و در این فاصله، تابع بالا مقدار false را بازمی گرداند. همچنین هنگامی که صدایی را متوقف می کنید بلافاصله قطع نمی شود و تابع بالا مقدار true را بازمی گرداند.

sound_volume(index,value)

حجم صدای مورد نظر را تعیین می کند. برای value عددی بین 0 تا 1 قرار دهید.

sound_global_volume(value)

حجم صدای عمومی بازی را تعیین می کند. عددی بین 0 تا 1 قرار دهید.

sound_fade(index,value,time)

حجم صدای مورد نظر را در مدت زمان خاصی به مقدار جدید می برد. زمان بر اساس میلی ثانیه می باشد. با این تابع می توانید افکت Fade In و Fade Out را بر موسیقی بازی اعمال کنید.

sound_pan(index,value)

برای تعیین میزان حجم صدا در بلندگوهای چپ و راست می باشد. مقدار value عددی بین -1 تا 1 می باشد. -1 به این معنا می باشد که صدا کاملا از بلندگوی چپ و عدد 1 به این معنا می باشد که صدا کاملا از بلندگوی راست خارج شود.

sound_background_tempo(factor)

گام موسیقی پس زمینه را تعیین می کند. تنها بر روی فرمت MIDI اعمال می شود. مقدار factor بین 0.01 تا 100 می باشد. عدد 1 به معنای سرعت پخش عادی می باشد و اعداد بالاتر از آن سرعت پخش را بیشتر و اعداد پایین تر سرعت پخش را کمتر می کنند.

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

جلوه های صوتی برای تغییر حالت اجرای صداها در بازی می باشند. توجه نمایید که در گیم میکر این افکت ها تنها بر روی فایل های Wave و MIDI اعمال می شوند و بر روی MP3 تاثیری ندارند.

sound_effect_set(snd,effect)

افکت های انتخاب شده را بر روی صدای مورد نظر اعمال می کند. ثوابت افکت ها به صورت زیر می باشد:

se_none
se_chorus
se_echo
se_flanger
se_gargle
se_reverb
se_compressor
se_equalizer

همچنین می توانید ترکیبی از دو یا چند افکت را اعمال نمایید:

sound_effect_set(snd,se_echo+se_reverb);

تمامی افکت ها تنظیمات پیش فرض خود را دارند. برای تغییر این تنظیمات می بایست از توابع زیر استفاده کنید. برای استفاده از توابع هر افکت می بایست ابتدا آن افکت را بر روی صدا اعمال نمایید، سپس تنظیمات مورد نظر خود را بر روی افکت اعمال نمایید.

sound_effect_chorus(snd,wetdry[0-100:50],depth[0-100:25],feedback[-99-99:0],frequency[0-10:0],wave[0,1:1],delay[0-20:0],phase[0-4:2])

sound_effect_echo(snd,wetdry[0-100:50],feedback[0-100:0],leftdelay[1-2000:333],rightdelay[1-2000:333],pandelay[0,1:0])

sound_effect_flanger(snd,wetdry[0-100:50],depth[0-100:25],feedback[-99-99:0],frequency[0-10:0],wave[0,1:1],delay[0-20:0],phase[0-4:2])

sound_effect_gargle(snd,rate[1-1000:1],wave[0,1:0])

sound_effect_reverb(snd,gain[-96-0:0],mix[-96-0:0],time[0.001-3000:1000],ratio[0.001-0.999:0.001])

sound_effect_compressor(snd,gain[-60-60:0],attack[0.01-500:0.01],release[50-3000:50],threshold[-60-0:-10],ratio[1-100:10],delay[0-4:0])

sound_effect_equalizer(snd,center[80-16000],bandwidth[1-36],gain[-15-15])

پارامتر اول این توابع صدای مورد نظر می باشد. پارامترهای بعدی هر تابع مربوط به افکت ذکر شده در انتهای نام تابع می باشد. برای آگاهی از این تنظیمات نیاز به اطلاعات درباره ی ترکیب صدای کامپیوتری و این افکت ها دارید. در اینجا تنها محدوده ی قابل قبول و مقدار پیش فرض آن ها در به صورت زیر نوشته ایم:

Parameter[Min,Max:Default]

Min و Max گسسته می باشد و Default یکی از آنهاست.

Parameter[Min-Max:Default]

از Min تا Max قابل انتخاب است.

توابع صداهای سه بعدی:

صداهای سه بعدی صداهایی هستند که مکان و سرعت حرکت دارند. صداهای سه بعدی اغلب در بازی های سه بعدی استفاده می شوند، اما در بازی های دوبعدی نیز قابل استفاده می باشند.

در صداهای سه بعدی شنونده نیز دارای مکان می باشد. سیستم محاسبه می کند که شنونده در آن مکان صدا ها را چگونه می شنود و سپس صدا را تولید می کند. توجه نمایید که مکان شنونده (0,0,0) می باشد.

صداها علاوه بر مکان دارای سرعت حرکت نیز می باشند. سرعت حرکت باعث ایجاد اثر داپلر می شود. حرکت منبع صدا یا شنونده باعث ایجاد تفاوت در فرکانس صدا میان موج منبع و موج صدایی که به شنونده می رسد می شود.

 

گیم میکر توابع زیر را برای صداهای سه بعدی پشتیبانی می کند. صداها می بایست 3d sound انتخاب شده باشند تا این توابع بر روی آن ها اعمال شوند.

1
sound_3d_set_sound_position(snd,x,y,z)

مکان صدا را در فضا تعیین می کند. پارامتر x مکان صدا از چپ به راست، پارامتر y مکان صدا از بالا به پایین و پارامتر z میزان فاصله صدا تا شنونده را تعیین می کند. واحد پارامترها به متر می باشد. سر خودتان را شنونده فرض کنید تا این پارامترها را بهتر درک کنید.

سرعت حرکت صدا را تعیین می کند. توجه نمایید که این تابع باعث تغییر مکان صدا نمی شود، بلکه برای محاسبه ی اثر داپلر می باشد. بنابراین اگر می خواهید مکان صدا را پیوسته تغییر دهید می بایست با تابع قبلی این کار را انجام دهید.
sound_3d_set_sound_distance(snd,mindist,maxdist)

mindist فاصله ای را تعیین می کند که صدا از آنجا به بعد بلندتر نخواهد شد. maxdist فاصله ای را تعیین می کند که صدا از آنجا به بعد دیگر شنیده نمی شود. از فاصله 0 تا mindist صدا به میزان حداکثر است. سپس صدا از mindist تا maxdist به صورت یکنواخت کاهش می یابد. مقدار پیشفرض mindist یک متر و مقدار پیشفرض maxdist یک بیلیون متر است.
sound_3d_set_sound_cone(snd,x,y,z,anglein,angleout,voloutside)

صداهای معمولی دامنه ی یکسان در جهات مختلف دارند، ولی اگر بخواهید برای صدای خود جهت تعیین کنید، می بایست از این تابع استفاده نمایید. x، y و z جهت مخروط صدا را تعیین می کنند. anglein زاویه داخلی و angleout زاویه خارجی را تعیین می کند. اگر شنونده داخل محدوده ی زاویه داخلی باشد، صدا با حجم معمولی خود شنیده می شود و اگر شنونده خارج از محدوده ی زاویه خارجی باشد، صدا با voloutside تعیین می شود. voloutside یک عدد منفی است که تعداد دسیبل هایی که می بایست از حجم صدای داخلی کم شود را تعیین می کند. حجم صدا بین زاویه داخلی و خارجی به تدریج کم می شود.

 

توابع کار با سی دی های صوتی:

سی دی های صوتی، سی دی هایی می باشند که صرفا در آن ها موسیقی ذخیره شده است. هنگامی که شما یک سی دی موسیقی یا ترانه ی اوریجینال از ویدیو کلوپ خریداری می کنید، بدین گونه می باشد. در اینجا توابع کار با آن ها را توضیح می دهیم.

 

cd_init()

قبل از کار با توابع دیگر می بایست استفاده شود.

cd_present()

اگر سی دی در CD-Rom باشد مقدار صحیح بازمی گرداند.

cd_number()

تعداد Track های موجود در سی دی را باز می گرداند.

cd_playing()

اگر سی دی در حال پخش باشد مقدار صحیح باز می گرداند.

cd_paused()

اگر موسیقی Pause شده باشد مقدار صحیح باز می گرداند.

cd_track()

شماره Track کنونی را باز می گرداند. اولین Track شماره ی 1 دارد.

cd_length()

مدت کل سی دی را به میلی ثانیه باز می گرداند.

cd_track_length(n)

مدت Track مورد نظر را به میلی ثانیه باز می گرداند.

cd_position()

زمان کنونی سی دی را به میلی ثانیه باز می گرداند.

cd_track_position()

مدت زمان اجرا شده از Track را به میلی ثانیه بازمی گرداند.

cd_play(first,last)

سی دی را از Track با شماره ی first تا شماره ی last پخش می کند. برای پخش کامل سی دی شماره های 1 و 1000 را قرار دهید.

cd_stop()

پخش سی دی را متوقف می کند.

cd_pause()

پخش سی دی را متوقف (Pause) می کند.

cd_resume()

پخش سی دی را ادامه می دهد.

cd_set_position(pos)

پخش سی دی را به زمان مورد نظر (به میلی ثانیه) می برد.

cd_set_track_position(pos)

پخش Track کنونی را به زمان مورد نظر (به میلی ثانیه) می برد.

cd_open_door()

در CD-Rom را باز می کند.

cd_close_door()

در CD-Rom را می بندد.

MCI_command(str)

این تابع دستور مورد نظر را به سیستم چندرسانه ای ویندوز ارسال می کند. مقدار بازگشتی یک رشته می باشد. با این تابع می توانید انواع دستگاه های چندرسانه ای متصل به رایانه ی خود را کنترل کنید.

تصویر پروفایل سید جاوید حسنی

سید جاوید حسنی

به بازی سازی علاقه دارم و امیدوارم از آموزش هایی که براتون میزارم مشکلاتتون حل بشه.


یک دیدگاه بگذارید

لطفا اگر سوالی خارج از موضوع این مطلب دارید آن را در فروم مطرح کنید.