Unity3D – A janela Console e a classe Debug
Já que falei sobre mensagens para debug no lejos, agora falarei sobre isso no Unity3D.
Exibir mensagens para acompanhar resultados dentro de sua lógica é uma prática indispensável e no Unity isso ganha algumas funcionalidades a mais.
Para exibir uma mensagem é utilizada a classe Debug, que contém os métodos Log, LogError, LogWarning, Break, DrawLine e DrawRay, vou explicar todas.

Debug.Log();
Se a mensagem for simples podemos utilizar o método Log:
Debug.Log(“Teste de mensagem”);
Será exibida uma mensagem com o ícone branco padrão (Linha 1 da imagem).
Podemos sinalizar um objeto para ser realçado quando clicamos na mensagem na tela console
Debug.Log(“Teste de mensagem” , gameObject);
Ao clicar na linha 2 o objeto indicado ganha um destaque.

Debug.LogError();
É uma variação do Log, funciona igual, mas mostra um ícone vermelho de erro, igual da linha 3 da imagem.
Se o botão Error Pause estiver clicado na janela console e uma mensagem desse tipo for enviada, a aplicação será pausada automaticamente.
Ele aceita a indicação de um gameObject também.
Debug.LogError(“Mensagem com icone de erro”);
Debug.LogWarning();
É uma variação do Log, funciona igual, mas mostra um ícone amarelo de alerta, igual da linha 4 da imagem.
Ele aceita a indicação de um gameObject também.
Debug.LogWarning(“Mensagem com icone de alerta”);
Debug.Break();
É utilizado para pausar o aplicativo, esse método não tem parâmetros.
Vou dar uma parada agora de explicar os métodos e explicar os botões da tela console, pois os dois últimos métodos não a usam.
Clear
Limpa a tela do console.
Collapse
Agrupa as mensagem iguais, por exemplo, ao invés de mostrar 5 números 0 mostra apenas 1:

Clear on play
Limpa o console quando é clicado em play.
Error pause
Pausa a aplicação quando alguma mensagem de erro for enviada.
Open editor log
Abre o editor de texto padrão do sistema com todos os logs no Unity3D.
Voltando aos métodos.
Debug.DrawLine();
Desenha uma linha entre um ponto inicial e um ponto final, com cor e tempo de duração, se o tempo não for passado ou for 0 essa linha ficará visível durante 1 frame.
Debug.DrawLine(pontoInicial : Vector3, pontoFinal : Vector3, cor : Color , tempoSegundos : float);
Exemplo:
Debug.DrawLine(Vector3.zero, new Vector3(1, 0, 0), Color.red , 2);
Desenhará uma linha vermelha que ficará visível por 2 segundos.
Essa linha ficará visível na scene view e só ficará na game view se o botão gizmos estiver ativo.
Debug.DrawRay();
Desenha uma linha entre um ponto inicial e uma direção, com cor e tempo de duração, se o tempo não for passado ou for 0 essa linha ficará visível durante 1 frame.
Debug.DrawRay(pontoInicial : Vector3, pontoFinal : Vector3, cor : Color , tempoSegundos : float);
Exemplo:
void OnCollisionEnter(Collision collision) {
foreach (ContactPoint contact in collision.contacts) {
Debug.DrawRay(contact.point, contact.normal, Color.green, 2);
}
Desenhará uma linha verde que ficará visível por 2 segundos identificando os pontos de contato.

Essa linha ficará visível na scene view e só ficará na game view se o botão gizmos estiver ativo.
E é isso ai , mensagem de debug sempre facilitando nossa vida.
Share












