Já pesquisei e mt sobre os atrasos nos áudios que tem na Unity. Já tentei baixar alguns Assets pra ver se resolve, mas também não serve.
Criei um Método onde dou o Play() no áudio quando o Botão é clicado. Ele só emite som quando o botão é solto, mas oq eu quero é que ele toque assim que o botão é clicado. Daí troquei o Button por EventTrigger com o PointDown, mas tem o mesmo atraso.
Alguém sabe oq fazer pra resolver esse atraso no áudio quando o botão é clicado? Detalhe, coloquei o Play() no áudio dentro do Input.GetMouseButtonDown e não tem atraso. O atraso é o áudio dentro do botão/buttton ou EventTrigger.
Não é questão de configuração, pois já testei a latência como BestLatency e BestPerformace. nada feito. Qualquer ajuda é mt apreciada! Obg.
O som está presente na Scene, ou você está carregando-o dinamicamente quando vai tocá-lo?
A menos que seja um arquivo de áudio bem grande (vários MB), não acho que o problema seja o evento relacionado, ou mesmo a configuração do som, mas a forma como você está configurando sua Scene e chamando o play do áudio.
Num teste rápido, adicionei um botão com o seguinte script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public class BotaoSom : MonoBehaviour, IPointerDownHandler
{
public AudioSource som;
public void OnPointerDown(PointerEventData data)
{
som.Play();
}
}
Picked Coin Echo 2 é um wav qualquer que peguei na internet. Quando pressiono o mouse no botão, ele é tocado normalmente, sem nenhum atraso notável.
PS: por definição, o evento click de um botão sempre depende de o mouse ser solto. Um clique é uma combinação de mouse-down e mouse-up, se o mouse não é solto, não é um clique. Isso em qualquer sistema de UI normal, não só na Unity. Então click não vai servir pro que você quer.
Já tentei trocar o Button pelo EventTrigger também, mas não mudou mt coisa. Quando coloquei no input.getmousebutton(0) o som é emitido na hora! Então o problema é realmente o OnClick do Button. Nem o método OnPointDown faz diferença, e eu estou fazendo do jeito que vc falou. Ele diminui o atraso na Unity, quando vou pro android fica a mesma coisa que o button.