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.
Источник