4
respostas

Erro "Debug"

Assets\Scripts\ControlaJogador.cs(41,9): error CS0104: 'Debug' is an ambiguous reference between 'UnityEngine.Debug' and 'System.Diagnostics.Debug'

Aparece esse erro e não sei o que fazer. O código ta igual.

void FixedUpdate() { GetComponent().MovePosition (GetComponent().position + (direcao * velocidade * Time.deltaTime));

    Ray raio = Camera.main.ScreenPointToRay(Input.mousePosition);
    Debug.DrawRay(raio.origin, raio.direction * 100, Color.red);

    RaycastHit impacto;

    if(Physics.Raycast(raio, out impacto, 100, MascaraChao))
    {
        Vector3 posicaoMiraJogador = impacto.point - transform.position;

        posicaoMiraJogador.y = transform.position.y;

        Quaternion novaRotacao = Quaternion.LookRotation(posicaoMiraJogador);

        GetComponent<Rigidbody>().MoveRotation(novaRotacao);

    }
}
4 respostas

Oi, Rafael, tudo bem?

No começo do seu script tem algo como using System?

Troque para using System.Collections e using System.Collections.Generic.

O System em si tem uma classe Debug que está conflitando com a da Unity.

Você também pode trocar a linha por UnityEngine.Debug.DrawRay.... pra usar o Debug da Unity. Qualquer uma dessas duas deveria resolver o problema.

Funcionou, ao dar play, o personagem acompanha o mouse mas ele ta deitando para mirar pra cima ao apontar o mouse pra certa direção.

Como posso resolver?

Tenta trocar essa linha:

posicaoMiraJogador.y = transform.position.y;

para:

posicaoMiraJogador.y = 0;

Pra eliminar totalmente qualquer posição em Y

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software