بازی های بدون جلوه های صوتی می توانند کسل کننده و غیر هیجان انگیز باشند. تجربه بازی خود را با ترکیب موسیقی پسزمینه و جلوههای صوتی افزایش دهید.
در دنیای توسعه بازی، صدا نقشی اساسی در شکل دادن به تجربه کلی بازیکن ایفا می کند. جلوه های صوتی و موسیقی پس زمینه ابزارهای قدرتمندی هستند که می توانند غوطه وری، اتمسفر و تأثیر احساسی بازی گودو شما را افزایش دهند.
پیادهسازی جلوههای صوتی و موسیقی پسزمینه در گودو نه تنها ضروری است، بلکه به طرز شگفتآوری ساده است. این موتور ویژگی ها و عملکردهای داخلی را ارائه می دهد که فرآیند را حتی برای کسانی که تجربه کدنویسی محدودی دارند، ساده می کند.
راه اندازی بازی گودو
قبل از غواصی در اجرای صوتی، یک بازی دو بعدی ساده را در موتور بازی گودو راه اندازی کنید تا به عنوان پایه و اساس عمل کند. Godot را راه اندازی کنید و یک پروژه دو بعدی جدید ایجاد کنید. در ویرایشگر گودو، با کلیک راست روی گره اصلی و انتخاب Add Child Node، یک صحنه جدید ایجاد کنید.
یک گره KinematicBody2D ایجاد کنید و نام آن را Player بگذارید. در داخل گره Player، یک گره CollisionShape2D با شکل مستطیل اضافه کنید. این شکل محدودههای برخورد بازیکن را نشان میدهد.
یک گره Sprite در داخل گره Player اضافه کنید تا به صورت بصری شخصیت بازیکن را نشان دهد. شما می توانید یک بافت اسپرایت به گره Sprite اختصاص دهید تا ظاهری بصری به شخصیت خود بدهید.
کد استفاده شده در این مقاله در این مخزن GitHub موجود است و برای استفاده شما تحت مجوز MIT رایگان است.
اکنون کد GDScript را اضافه کنید تا پخش کننده بتواند با استفاده از ورودی صفحه کلید در هر چهار جهت حرکت کند.
extends KinematicBody2D
const SPEED = 150
func _physics_process(delta):
var velocity = Vector2.ZERO
if Input.is_action_pressed("move_right"):
velocity.x += SPEED
if Input.is_action_pressed("move_left"):
velocity.x -= SPEED
if Input.is_action_pressed("move_down"):
velocity.y += SPEED
if Input.is_action_pressed("move_up"):
velocity.y -= SPEED
velocity = move_and_slide(velocity)
در زیر خروجی است:
افزودن جلوه های صوتی
برای افزودن جلوه های صوتی در گودو، از گره های AudioStreamPlayer برای کنترل پخش فایل های صوتی استفاده کنید. قبل از ادامه، مطمئن شوید که فایلهای صوتی با فرمتهای پشتیبانی شده (مانند WAV یا OGG) را به پروژه Godot خود وارد کردهاید.
میتوانید هر زمان که پخشکننده با گوشه صفحه برخورد کرد، جلوههای صوتی را بارگیری و پخش کنید که نشاندهنده وضعیت خارج از محدوده است.
extends KinematicBody2D
# Declare an AudioStreamPlayer node as a class member
var sound_player := AudioStreamPlayer.new()
func _ready():
# Add the AudioStreamPlayer as a child to the player node
add_child(sound_player)
func _physics_process(delta):
# ... (previous code)
var c1 = position.x <= 0
var c2 = position.x >= get_viewport().size.x
var c3 = position.y <= 0
var c4 = position.y >= get_viewport().size.y
if c1 or c2 or c3 or c4:
var sound_effect = load("res://path_to_sound_effect.wav")
sound_player.stream = sound_effect
sound_player.play()
یک گره AudioStreamPlayer ایجاد کنید و آن را به عنوان یک کودک به گره پخش کننده در طول تابع _ready اضافه کنید. هنگامی که پخش کننده با گوشه های صفحه برخورد می کند، جلوه صوتی را با استفاده از عملکرد بارگذاری بارگیری کنید و آن را به عنوان جریان برای AudioStreamPlayer تنظیم کنید.
سپس، پخش را در گره AudioStreamPlayer فراخوانی کنید تا پخش افکت صوتی آغاز شود.
اضافه کردن موسیقی پس زمینه
موسیقی پسزمینه یکی از اجزای حیاتی هر بازی است، زیرا حال و هوا و جو را برای بازیکنان تنظیم میکند. برای موسیقی پسزمینه، میخواهید یک فایل صوتی حلقهدار (معمولاً با فرمت OGG) داشته باشید که به طور مداوم در طول بازی پخش شود.
برای افزودن موسیقی پسزمینه و لوپ کردن آن در گودو، روی فایل صوتی که نشاندهنده موسیقی پسزمینه شما در پنل Godot FileSystem است، کلیک کنید.
در تب Import، گزینه های مختلفی را برای تنظیمات واردات صدا خواهید دید. در تب Import به دنبال گزینه با عنوان Loop بگردید. برای فعال کردن حلقه زدن فایل صوتی، روی کادر کنار حلقه کلیک کنید.
پس از فعال کردن حلقه، روی دکمه Reimport در پایین تب Import کلیک کنید تا تغییرات اعمال شود.
اکنون اسکریپت را برای پخش موسیقی پس زمینه اضافه کنید:
extends KinematicBody2D
var bg_music := AudioStreamPlayer.new()
func _ready():
bg_music.stream = load("res://path_to_bg_music.ogg")
bg_music.autoplay = true
add_child(bg_music)
یک گره AudioStreamPlayer به نام bg_music ایجاد کنید. سپس، ویژگی استریم را روی موسیقی پسزمینهای که با استفاده از تابع بارگذاری بارگذاری شده است، تنظیم کنید. همچنین ویژگی پخش خودکار را روی true تنظیم کنید، که وقتی صحنه آماده شد به طور خودکار پخش شروع می شود.
در حالی که فایل صوتی موسیقی پسزمینه بهدرستی در حین وارد کردن حلقهبندی شده است، اکنون بهطور یکپارچه در حین بازی پخش میشود و تجربهای همهجانبه را برای بازیکنان در طول جلسه بازیشان فراهم میکند.
پخش صدا در ورودی کاربر
عناصر صوتی تعاملی می توانند تعامل بازیکن را با بازی شما بیشتر کنند. هنگامی که پخش کننده دکمه فاصله را فشار می دهد، می توانید یک جلوه صوتی پخش کنید.
extends KinematicBody2D
var bg_music := AudioStreamPlayer.new()
var input_sound := AudioStreamPlayer.new()
func _ready():
bg_music.stream = load("res://path_to_bg_music.ogg")
bg_music.autoplay = true
add_child(bg_music)
add_child(input_sound)
func _input(event):
if event.is_action_pressed("ui_accept"):
input_sound.stream = load("res://path_to_input_sound.wav")
input_sound.play()
در تابع _input، با استفاده از دستور شرطی if دکمه فاصله را بررسی کنید. اگر پخش کننده دکمه فاصله را فشار دهد، جلوه صوتی مربوطه را با استفاده از عملکرد بارگذاری بارگیری کنید و آن را به عنوان جریان برای گره ورودی_صدا تنظیم کنید.
کنترل ویژگی های صوتی
در گودو، با استفاده از گره AudioStreamPlayer به راحتی می توانید ویژگی های صوتی مختلف را کنترل کنید.
extends KinematicBody2D
var bg_music := AudioStreamPlayer.new()
func _ready():
bg_music.stream = load("res://path_to_bg_music.ogg")
bg_music.autoplay = true
bg_music.volume_db = -20
add_child(bg_music)
با استفاده از ویژگی volume_db می توانید میزان صدای موسیقی پس زمینه را کنترل کنید. این ویژگی میزان صدا را بر حسب دسی بل (dB) تنظیم می کند. تنظیم آن بر روی یک مقدار منفی، مانند -20، صدا را 20 دسی بل کاهش می دهد.
از جمله ویژگی های اضافی
فراتر از اصول اولیه، گودو ویژگی ها و قابلیت های مختلفی را برای ارتقای تجربه صوتی شما ارائه می دهد. برخی از ویژگی های پیشرفته ای که می توانید به بازی خود اضافه کنید عبارتند از:
استخرهای صدا
Sound Pools گروههایی از نمونههای صوتی از پیش بارگذاریشده هستند که میتوانید در طول بازی خود دوباره از آنها استفاده کنید. به جای بارگیری مکرر جلوه های صوتی از دیسک، می توانید مجموعه ای از جلوه های صوتی بدون حق چاپ را در شروع بازی از قبل بارگذاری کنید.
میتوانید فوراً یک جلوه صوتی از استخر پخش کنید، تاخیرهای احتمالی را کاهش دهید و عملکرد را بهبود بخشید.
متقاطع
Crossfading به شما این امکان را میدهد که بین آهنگهای صوتی جابهجایی صاف ایجاد کنید، که برای ایجاد تغییرات یکپارچه در موسیقی یا محیط عالی است. با تنظیم همزمان صدای دو تراک صوتی، میتوانید یک تراک را محو کنید در حالی که در دیگری محو میشود، و در نتیجه یک تجربه صوتی صیقلی و همهجانبه به دست میآورید.
صدای سه بعدی فضایی
برای بازی های سه بعدی، صدای فضایی ابزار ارزشمندی برای افزایش واقع گرایی است. گودو قابلیتهای صوتی سهبعدی را ارائه میکند، که این امکان را فراهم میکند تا صداها را از جهات خاصی در دنیای بازی درک کنند.
با تنظیم موقعیت و جهت صدا نسبت به موقعیت پخش کننده، می توانید نشانه های صوتی قانع کننده ای ایجاد کنید که به بازی شما عمق و غوطه وری می بخشد.
بهترین روش ها برای افزودن جلوه های صوتی
هنگام اجرای جلوه های صوتی، بهترین روش های زیر را برای اطمینان از تجربه صوتی با کیفیت بالا در نظر بگیرید:
- از فایل های صوتی با فشرده سازی مناسب برای ایجاد تعادل بین کیفیت صدا و اندازه فایل استفاده کنید.
- جلوه های صوتی را کوتاه و مختصر نگه دارید و از صداهای بیش از حد طولانی یا تکراری اجتناب کنید.
- اطمینان حاصل کنید که صداهای انتخاب شده با تم و سبک هنری بازی مطابقت دارند و انسجام را در تجربه کلی ارتقا می دهند.
- صدا را روی دستگاه ها و پلتفرم های مختلف آزمایش کنید تا سازگاری و سازگاری را تأیید کنید.
جذابتر کردن بازیهای گودو با جلوههای صوتی
افزودن جلوههای صوتی و موسیقی پسزمینه به بازی گودو شما میتواند متحولکننده باشد و تجربهای بسیار جذاب برای بازیکنان ایجاد کند. با ارائه بازخورد صوتی، بازیکنان را بیشتر در دنیای بازی غوطه ور می کنید، احساسات را برمی انگیزانید و تجربه کلی را لذت بخش تر می کنید.
جلوه های صوتی خوش ساخت می تواند انتظار را افزایش دهد، اقدامات را تقویت کند و لایه ای از غنا را به بازی شما اضافه کند. در همین حال، موسیقی پسزمینه آهنگ را تنظیم میکند، اتمسفر را بهبود میبخشد و بازیکنان را برای مدت طولانیتری مجذوب خود میکند.