Класс Debug позволяет вам визуализировать информацию в редакторе, которая может помочь вам понять или исследовать, что происходит в вашем проекте во время его выполнения. Например, вы можете использовать его для печати сообщений в окне консолиокне редактора Unity, в котором отображаются ошибки, предупреждения и другие сгенерированные сообщения. Unity или ваши собственные скрипты. Подробнее
Смотрите в Словарь, рисуйте линии визуализации в СценаСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
Просмотреть в режиме Словарь и в режиме игры, а также приостановить режим воспроизведения в редакторе из скрипт.
На этой странице представлен обзор класса Debug и его частое использование при написании сценариев с его помощью. Исчерпывающую информацию о каждом члене класса Debug см. в справочнике по сценариям отладки.
Запись ошибок, предупреждений и сообщений
Unity сама иногда регистрирует ошибки, предупреждения и сообщения в окне консоли. Класс Debug предоставляет вам возможность сделать то же самое из вашего собственного кода, как показано ниже:
Debug.Log("This is a log message.");
Debug.LogWarning("This is a warning message!");
Debug.LogError("This is an error message!");
Каждый из трех типов (ошибка, предупреждение и сообщение) имеет собственный тип значка в окне консоли.
Все, что записывается в окно консоли (Unity или ваш собственный код), также записывается в файл журнала.
Если в консоли включена функция Приостановка ошибок, любые ошибки, которые вы записываете в консоль через класс Debug, приведут к приостановке режима воспроизведения Unity.
Вы также можете дополнительно указать второй параметр для этих методов журнала, чтобы указать, что сообщение связано с определенным GameObject фундаментальный объект в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
См. в Словарь, например:
using UnityEngine;
public class DebugExample : MonoBehaviour
{ void Start()
{
Debug.LogWarning("I come in peace!", this.gameObject);
}
}
Преимущество этого заключается в том, что когда вы щелкаете сообщение в консоли, игровой объект, связанный с этим сообщением, выделяется в иерархии, что позволяет вам определить, к какому игровому объекту относится сообщение. На изображении ниже вы можете видеть, что нажатие кнопки «Я пришел с миром!» предупреждающее сообщение выделяет игровой объект «Чужой (8)».
Класс Debug также предлагает два метода рисования линий в виде сценыинтерактивном представлении мира, который вы создаете. Вы используете Scene View для выбора и размещения пейзажей, персонажей, камер, источников света и всех других типов игровых объектов. Дополнительная информация
См. в Словарь и в режиме игры. Это DrawLine и DrawRay.
В этом примере к каждому игровому объекту Sphere в сцене добавлен скрипт, который использует Debug.DrawLine для указания расстояния по вертикали от плоскости, где Y равно нулю. Обратите внимание, что последний параметр в этом примере — это время в секундах, в течение которого линия должна оставаться видимой в редакторе.
using UnityEngine;
public class DebugLineExample : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
float height = transform.position.y;
Debug.DrawLine(transform.position, transform.position - Vector3.up * height, Color.magenta, 4);
}
}
И результат в представлении "Сцена" выглядит так: