Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Звуки для Гри | Покращення гри
Бійцівська гра в Unity
course content

Зміст курсу

Бійцівська гра в Unity

Бійцівська гра в Unity

1. Система анімації Unity
2. Поведінка гравця
3. Поведінка Ворога
4. Покращення гри
5. Покращення гри Flappy Bird

book
Звуки для Гри

Аудіослухач

Audio Listener — це компонент у Unity, який виконує роль вух гри. Зазвичай прикріплюється до основної камери або персонажа гравця та сприймає всі звуки у сцені. У кожній сцені повинен бути лише один Audio Listener.

Функція: Слухає всі аудіоджерела та визначає, що чує гравець, захоплюючи просторовий 3D-звук, що дозволяє гравцеві відчувати напрямок і відстань до джерел звуку.

Фонова музика з Audio Source

Компонент Audio Source використовується для відтворення аудіокліпів у Unity. Його можна прикріпити до будь-якого об'єкта (GameObject), наприклад, до спеціального об'єкта для фонової музики або до об'єктів у сцені, які відтворюють звукові ефекти.

Функція: Audio Source відтворює аудіокліпи та може керуватися й налаштовуватися за допомогою різних параметрів.

Основні параметри компонента Audio Source

AudioClip: Аудіофайл, який буде відтворювати цей Audio Source.

Output: Audio Mixer Group, через яку цей аудіоджерело буде передавати звук. Якщо не вказано, використовується стандартний аудіовихід.

Mute: Якщо позначено, цей параметр вимикає звук аудіоджерела, не дозволяючи йому відтворювати звук.

Bypass Effects: Ігнорує будь-які ефекти, застосовані до цього аудіоджерела, тобто звук буде відтворюватися без жодних аудіоефектів.

Bypass Listener Effects: Ігнорує ефекти, застосовані до Audio Listener.

Bypass Reverb Zones: Запобігає впливу зон реверберації на аудіоджерело у сцені.

Play On Awake: Якщо позначено, аудіоджерело почне відтворювати призначений аудіокліп одразу після запуску сцени.

Loop: Якщо позначено, аудіоджерело буде зациклювати аудіокліп, безперервно повторюючи його до зупинки.

Priority: Визначає пріоритет аудіоджерела. Менші значення означають вищий пріоритет, що корисно, коли одночасно відтворюється багато аудіоджерел.

Volume: Контролює гучність аудіоджерела. Наприклад: 0.263 означає, що звук буде відтворюватися приблизно на 26% від початкової гучності.

Pitch: Регулює висоту тону аудіокліпу. Значення за замовчуванням — 1. Менші значення сповільнюють і знижують тон, більші — прискорюють і підвищують тон.

Stereo Pan: Контролює стереопанораму звуку. Значення -1 повністю зміщує звук вліво, 1 — вправо, 0 — по центру.

Spatial Blend: Визначає співвідношення між 2D та 3D звуком. Значення 0 робить звук повністю 2D (не залежить від положення слухача), а 1 — повністю 3D (залежить від положення слухача).

Reverb Zone Mix: Регулює, наскільки аудіоджерело буде змішане із зонами реверберації у сцені. Значення за замовчуванням — 1.

Підсумок

Audio Listener: Захоплює весь звук у сцені й зазвичай прикріплюється до головної камери;

Audio Source: Відтворює аудіокліпи та може бути налаштований різними параметрами для контролю відтворення та сприйняття звуку;

Основні параметри: Містять AudioClip, Output, Mute, Bypass Effects, Play On Awake, Loop, Priority, Volume, Pitch, Stereo Pan, Spatial Blend та Reverb Zone Mix.

Ці компоненти працюють разом для керування та контролю звукового супроводу в Unity, забезпечуючи захопливе та динамічне звукове середовище для ігор.

Відтворення звуку атаки

private void Update()
{
    if (isAttacking)
    {
        RaycastHit2D rayCastHit = Physics2D.Raycast(transform.position, Vector2.right * transform.localScale.x, range, enemyLayer);
        if (rayCastHit)
        {
            if(rayCastHit.transform.TryGetComponent(out IGetAttacked getAttacked))
            {
                // Play attack sound
                attackAudioSource.Play();
                
                // Apply damage to the enemy
                getAttacked.GetAttacked(damage);
                
                // Play attack effect
                attackEffect.transform.position = rayCastHit.point;
                attackEffect.Play();
                
                // Stop attacking
                isAttacking = false;
            }
        }    
    }
}

Пояснення використання AudioSource

Виявлення за допомогою Raycast: Використовується raycast для визначення, чи влучає атака гравця у ворога. Raycast виконується з позиції гравця у напрямку, в якому він дивиться, з діапазоном, визначеним attackRange.

Перевірка влучання: Якщо raycast потрапляє в об'єкт у межах шару enemyLayer, скрипт перевіряє, чи реалізує цей об'єкт інтерфейс IGetAttacked.

Відтворення звуку атаки: Коли влучання зафіксовано і ворог може бути атакований (реалізовано інтерфейс IGetAttacked), відтворюється звук атаки: attackAudioSource.Play().

Підсумок

У класі PlayerAttack компонент AudioSource відтворює звуковий ефект, коли гравець успішно атакує ворога. Це відбувається за допомогою виклику attackAudioSource.Play() у методі Update після влучання raycast. Такий підхід забезпечує миттєвий аудіовідгук, підвищуючи занурення у гру.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 5

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

course content

Зміст курсу

Бійцівська гра в Unity

Бійцівська гра в Unity

1. Система анімації Unity
2. Поведінка гравця
3. Поведінка Ворога
4. Покращення гри
5. Покращення гри Flappy Bird

book
Звуки для Гри

Аудіослухач

Audio Listener — це компонент у Unity, який виконує роль вух гри. Зазвичай прикріплюється до основної камери або персонажа гравця та сприймає всі звуки у сцені. У кожній сцені повинен бути лише один Audio Listener.

Функція: Слухає всі аудіоджерела та визначає, що чує гравець, захоплюючи просторовий 3D-звук, що дозволяє гравцеві відчувати напрямок і відстань до джерел звуку.

Фонова музика з Audio Source

Компонент Audio Source використовується для відтворення аудіокліпів у Unity. Його можна прикріпити до будь-якого об'єкта (GameObject), наприклад, до спеціального об'єкта для фонової музики або до об'єктів у сцені, які відтворюють звукові ефекти.

Функція: Audio Source відтворює аудіокліпи та може керуватися й налаштовуватися за допомогою різних параметрів.

Основні параметри компонента Audio Source

AudioClip: Аудіофайл, який буде відтворювати цей Audio Source.

Output: Audio Mixer Group, через яку цей аудіоджерело буде передавати звук. Якщо не вказано, використовується стандартний аудіовихід.

Mute: Якщо позначено, цей параметр вимикає звук аудіоджерела, не дозволяючи йому відтворювати звук.

Bypass Effects: Ігнорує будь-які ефекти, застосовані до цього аудіоджерела, тобто звук буде відтворюватися без жодних аудіоефектів.

Bypass Listener Effects: Ігнорує ефекти, застосовані до Audio Listener.

Bypass Reverb Zones: Запобігає впливу зон реверберації на аудіоджерело у сцені.

Play On Awake: Якщо позначено, аудіоджерело почне відтворювати призначений аудіокліп одразу після запуску сцени.

Loop: Якщо позначено, аудіоджерело буде зациклювати аудіокліп, безперервно повторюючи його до зупинки.

Priority: Визначає пріоритет аудіоджерела. Менші значення означають вищий пріоритет, що корисно, коли одночасно відтворюється багато аудіоджерел.

Volume: Контролює гучність аудіоджерела. Наприклад: 0.263 означає, що звук буде відтворюватися приблизно на 26% від початкової гучності.

Pitch: Регулює висоту тону аудіокліпу. Значення за замовчуванням — 1. Менші значення сповільнюють і знижують тон, більші — прискорюють і підвищують тон.

Stereo Pan: Контролює стереопанораму звуку. Значення -1 повністю зміщує звук вліво, 1 — вправо, 0 — по центру.

Spatial Blend: Визначає співвідношення між 2D та 3D звуком. Значення 0 робить звук повністю 2D (не залежить від положення слухача), а 1 — повністю 3D (залежить від положення слухача).

Reverb Zone Mix: Регулює, наскільки аудіоджерело буде змішане із зонами реверберації у сцені. Значення за замовчуванням — 1.

Підсумок

Audio Listener: Захоплює весь звук у сцені й зазвичай прикріплюється до головної камери;

Audio Source: Відтворює аудіокліпи та може бути налаштований різними параметрами для контролю відтворення та сприйняття звуку;

Основні параметри: Містять AudioClip, Output, Mute, Bypass Effects, Play On Awake, Loop, Priority, Volume, Pitch, Stereo Pan, Spatial Blend та Reverb Zone Mix.

Ці компоненти працюють разом для керування та контролю звукового супроводу в Unity, забезпечуючи захопливе та динамічне звукове середовище для ігор.

Відтворення звуку атаки

private void Update()
{
    if (isAttacking)
    {
        RaycastHit2D rayCastHit = Physics2D.Raycast(transform.position, Vector2.right * transform.localScale.x, range, enemyLayer);
        if (rayCastHit)
        {
            if(rayCastHit.transform.TryGetComponent(out IGetAttacked getAttacked))
            {
                // Play attack sound
                attackAudioSource.Play();
                
                // Apply damage to the enemy
                getAttacked.GetAttacked(damage);
                
                // Play attack effect
                attackEffect.transform.position = rayCastHit.point;
                attackEffect.Play();
                
                // Stop attacking
                isAttacking = false;
            }
        }    
    }
}

Пояснення використання AudioSource

Виявлення за допомогою Raycast: Використовується raycast для визначення, чи влучає атака гравця у ворога. Raycast виконується з позиції гравця у напрямку, в якому він дивиться, з діапазоном, визначеним attackRange.

Перевірка влучання: Якщо raycast потрапляє в об'єкт у межах шару enemyLayer, скрипт перевіряє, чи реалізує цей об'єкт інтерфейс IGetAttacked.

Відтворення звуку атаки: Коли влучання зафіксовано і ворог може бути атакований (реалізовано інтерфейс IGetAttacked), відтворюється звук атаки: attackAudioSource.Play().

Підсумок

У класі PlayerAttack компонент AudioSource відтворює звуковий ефект, коли гравець успішно атакує ворога. Це відбувається за допомогою виклику attackAudioSource.Play() у методі Update після влучання raycast. Такий підхід забезпечує миттєвий аудіовідгук, підвищуючи занурення у гру.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 5
some-alt