Debug drawline не работает

Debug.DrawLine не отображается в GameView

67. Учебник по Unity3d — Вещи

Я работаю над 2D-приложением Unity и сталкиваюсь со странным поведением.

Этот код отлично работает.

Когда я запускаю приложение, я вижу зеленую линию в режиме просмотра сцены.

Но ничего не отображается в представлении игры, когда у меня есть следующая строка.

Я не понимаю, как Unity может провести линию между этими двумя кнопками, но по какой-то причине он просто не делает этого в представлении игры.

Есть идеи, как я могу это устранить?

  • 1 Er, Linecast() не рисует видимую линию — он просто проверяет линию на предмет пересечения с любыми физическими коллайдерами. Если вы хотите нарисовать видимую линию, создайте LineRenderer или используйте GL библиотека.
  • АГА! Спасибо!

Просто линия Серлит сказал: Physics2D.Linecast используется не для рисования линии, а для определения наличия объекта посередине двух объектов с помощью raycast. Это не имеет ничего общего с рисованием линий.

Как ты уже знаешь, Debug.DrawLine будет работать только в режиме просмотра сцены, если Gizmos не включен. Вы можете просто LineRenderer или GL функции для рисования линий, которые будут работать без включения Gizmos, а также будут работать в сборке.

Вот вспомогательный класс для рисования линии в режиме игры и сцены.

Применение:

Когда закончите, вы можете позвонить lineDrawer.Destroy(); .

  • Когда я использую Debug.DrawLine, я вижу их в игровом представлении, если в игровом представлении включены гизмо.
  • @ Адриан Это правда. Я добавил это к ответу. Никому не нравится, когда строки Gizmo находятся по всему экрану просмотра игры, а Debug.DrawLine не работает в сборке.
  • О, это выглядит безумно, но иногда это очень полезно для устранения неполадок.
  • Да, это полезно только для устранения неполадок в редакторе, но не тогда, когда вы хотите устранить неполадки в строках на целевом устройстве. Например, обнаружение края экрана Android.
  • Не все приложения Unity должны выпускаться как игры, поэтому все еще жаль, что Debug.DrawRay () не работает в сборках Release. Я мог бы это использовать.
Читайте также:  Почему не работает вывод

Debug.DrawLine отображает линейную штуковину в представлении сцены.

Если вы хотите, чтобы линия отображалась в игровом представлении, используйте компонент Line Renderer.

Источник

Smnggeophysics

Debug.DrawLine не отображается в GameView

  • Главная 
  • Debug.DrawLine не отображается в GameView

Unity Draw Line with Mouse Position — Line Renderer вычислить расстояние

Я работаю над 2D-приложением Unity и сталкиваюсь со странным поведением.

Этот код отлично работает.

Когда я запускаю приложение, я вижу зеленую линию в режиме просмотра сцены.

Но ничего не отображается в представлении игры, когда у меня есть следующая строка.

Я не понимаю, как Unity может провести линию между этими двумя кнопками, но по какой-то причине он просто не делает этого в представлении игры.

Есть идеи, как я могу это устранить?

  • 1 Er, Linecast() не рисует видимую линию — он просто проверяет линию на предмет пересечения с любыми физическими коллайдерами. Если вы хотите нарисовать видимую линию, создайте LineRenderer или используйте GL библиотека.
  • АГА! Спасибо!

Просто линия Серлит сказал: Physics2D.Linecast используется не для рисования линии, а для определения наличия объекта посередине двух объектов с помощью raycast. Это не имеет ничего общего с рисованием линий.

Как ты уже знаешь, Debug.DrawLine будет работать только в режиме просмотра сцены, если Gizmos не включен. Вы можете просто LineRenderer или GL функции для рисования линий, которые будут работать без включения Gizmos, а также будут работать в сборке.

Вот вспомогательный класс для рисования линии в режиме игры и сцены.

Применение:

Когда закончите, вы можете позвонить lineDrawer.Destroy(); .

  • Когда я использую Debug.DrawLine, я вижу их в игровом представлении, если в игровом представлении включены гизмо.
  • @ Адриан Это правда. Я добавил это к ответу.Никому не нравится, когда строки Gizmo находятся по всему экрану просмотра игры, а Debug.DrawLine не работает в сборке.
  • О, это выглядит безумно, но иногда это очень полезно для устранения неполадок.
  • Да, это полезно для устранения неполадок только в редакторе, но не тогда, когда вы хотите устранить неполадки в строках на целевом устройстве. Например, обнаружение края экрана Android.
  • Не все приложения Unity должны выпускаться как игры, поэтому все еще жаль, что Debug.DrawRay () не работает в сборках Release. Я мог бы это использовать.
Читайте также:  Как отремонтировать замки у железной двери

Debug.DrawLine отображает линейную гизмо в окне Scene View.

Если вы хотите, чтобы линия отображалась в игровом представлении, используйте компонент Line Renderer.

Источник

Оцените статью