Как сделать, чтобы при нажатии на персонажа в юнити он говорил фразу

Я новичок в юнити и не могу разобраться Как сделать, чтобы при нажатии на персонажа проигрывался звук скачанный из браузера


Ответы (1 шт):

Автор решения: MSReturn

если это для 3D объекта , тогда можно создать луч , Raycast , из камеры в точку нажатия , проверить если луч попал в игрока, тогда можно вызвать метод воспроизводящий mp-3 файл , или иной поддерживаемый формат.

using UnityEngine;

public class ClickSound : MonoBehaviour
{
    public AudioClip clickSound;

    private void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            if (Physics.Raycast(ray, out hit))
            {
                if (hit.collider != null && hit.collider.gameObject.name == "Player")
                {
                    PlayClickSound();
                }
            }
        }
    }

    private void PlayClickSound()
    {
        if (clickSound != null)
        {
            AudioSource audioSource = GetComponent<AudioSource>();
            if (audioSource == null)
            {
                audioSource = gameObject.AddComponent<AudioSource>();
            }

            audioSource.PlayOneShot(clickSound);
        }
    }
} 

1.В поле с audioSource перетащите требуемый файл 2.Нужно повесить данный скрипт на игрока , у которого должен быть добавлен компонент MeshColider или какой либо другой колайдер + компонент AudioSource. 3.Поменять имя игрока в скрипте на действительное

→ Ссылка