Нарисовать отладочную визуализацию объектов LowLevelPhysics2D API
Примечание: Эта документация посвящена написанию C# скрипты с использованием LowLevelPhysics2D API. Использовать 2D физики в Unity Editor используя компоненты, такие как Rigidbody 2D компонент, см. 2D физика вместо этого.
Чтобы помочь вам визуализировать физические объекты 2D во время разработки, Unity автоматически рисует формы, созданные с помощью LowLevelPhysics2D API.
Unity рисует формы автоматически в Unity Editor. Вы также можете включить Unity для рисования форм в сборках разработки.
Настройка отладки рисунка
Unity рисует ваши фигуры автоматически в представлении Scene, представлении Game и при входе в режим воспроизведения.
Чтобы настроить отладочный чертеж, выполните следующие действия:
- Выберите GameObject с открытым
PhysicsWorldDefinitionкомпонент. Для получения дополнительной информации см. Создание мира физики. - В окне Inspector настройте свойства, начинающиеся с
Draw. Например,Draw Optionsвыбирает, какие элементы рисовать, аDraw Colorsустанавливает цвета, используемые Unity.
Чтобы установить другой цвет для конкретной формы, выполните следующие действия:
- Выберите GameObject с публичным
PhysicsShapeDefinitionкомпонент. Для получения дополнительной информации см. Создать физический объект. - В окне Inspector установите Custom Color.
Чтобы настроить свойства в вашем скрипте C#, вместо этого настройте свойства с похожим названием объектов PhysicsWorldDefinition, PhysicsBodyDefinitionили PhysicsShapeDefinition.
Включить отладку рисунка в сборке для разработки
Чтобы нарисовать сборку Player, выполните следующие действия:
- Убедитесь, что ваша целевая платформа сборки поддерживает вычислительные шейдеры.
- Создание ассета Physics Low Level Settings 2D. Дополнительные сведения см. в разделе Настройка глобальных физических параметров 2D.
- В течение Inspector окно ассета, включить Рисунок в строке.
Нарисуйте свои собственные формы
Чтобы нарисовать свои собственные фигуры, используйте Draw методы работы мировой объект. Например:
// Get the main physics world.
PhysicsWorld world = PhysicsWorld.defaultWorld;
// Draw a line from the origin to (30, 40) in "cornflower blue".
world.DrawLine(Vector2.zero, new Vector2(30f, 40f), Color.cornflowerBlue);
// Draw a circle from the origin to (30, 40) in "forest green".
world.DrawCircle(new Vector2(30f, 40f), 2f, Color.forestGreen);
// Draw a point with a 3 pixel radius at (-5, 10) in "gold".
world.DrawPoint(new Vector2(-5f, 10f), 3f, Color.gold);
Формы сохраняются только в течение одного кадра. Чтобы рисовать их дольше, используйте свойство lifetime.
// Set lifetime as 5 seconds.
const float lifeTime = 5f;
// Draw a circle at a specific position in blue for 5 seconds.
world.DrawGeometry(circleGeometry, physicsTransform, Color.cornflowerBlue, lifeTime);