754.17K
Категория: ПрограммированиеПрограммирование

Основы программирования в Unity. Компоненты. Часть 1

1.

Компоненты часть 1:
настройка 2д физики
Основы программирования в Unity

2.

Компоненты - основные элементы
поведения объектов в игре.

3.

Компоненты (components) имеют различное назначение – они
могут влиять на поведение, внешний вид и многие другие функции
объектов в игре. ‘Прикрепляя’ ('attaching') компонент к объекту вы
можете сразу же воспользоваться возможностями
предоставляемые этим компонентом. Unity предоставляет
множество компонентов различного назначения. Для обеспечения
интерактивности различных игровых элементов, вы будите
использовать скрипты, которые рассматриваются Unity
как компоненты.

4.

5.

• MonoBehaviour - это компонент, описывающий поведение объекта.
Отсюда и слово "Behaviour". Скажем, это может быть поведение
юнита, здания, игрока, двери или еще какой другой оказии в игровом
мире. Чтобы обеспечить взаимодействие с миром и сделаны
специальные методы, которые позволяют нам отслеживать
окружающие изменения.
• Start - вызывается при появлении этого компонента на нашей сцене
(Если был там с самого начала - запустится при запуске сцены),
появился ли он во время игры вместе с некоторым новым объектом
или был добавлен уже к существующему.
• Update - этот метод вызывается каждый раз при перерисовке картинки
на экране. Замечу, что добавив слово Fixed вы получите...
• FixedUpdate - метод, вызывающийся каждый раз, при каждом
просчете физики.

6.

По умолчанию все объекты автоматически получают компонент
Transform. Это потому, что Трансформ определяет где расположен
Объект, как он повернут и масштабирован. Без этого компонента не
имеет местоположения в мире.

7.

Вы можете прикрепить любое число или комбинацию компонентов
к одному Объекту игры. Некоторые компоненты работают в
комбинации с другими. Например Ригидбоди работает с
Коллайдером.

8.

Когда Вы прикрепляете компонент к Объекту, появляется
возможность настройки различных свойств компонента в редакторе
перед сборкой игры, или из скрипта во время запуска игры. Есть два
главных типа свойств - Значения и Ссылки.

9.

Чтобы физическое поведение было правдоподобной,
объект в игре нужно правильно ускорить и задействовать
столкновения, гравитацию и другие силы. Встроенный в
Unity физические движки обеспечивают вас компонентами
для обработки симуляции физики. С помощью настройки
всего нескольких параметров, можно создать объекты,
которые ведут себя пассивно реалистично (т.е., они будут
перемещены в результате столкновений и падений, но не
начнут двигаться сами по себе). Управляя физикой из
скриптов, вы можете придать объекту динамику
автомобиля, машины или даже подвижного куска ткани.

10.

Настройка физики для 2д игр

11.

Настройки Physics2D определяют пределы точности физического
моделирования. Вообще говоря, более точное моделирование
требует больших затрат на обработку, поэтому эти настройки
предлагают способ обменять точность на производительность.

12.

• Gravity - Установите величину силы тяжести, применяемой ко всем
двумерным игровым объектам с компонентом Rigidbody2D. Как правило, вы
устанавливаете гравитацию только для отрицательного направления оси Y.
• Default Material - Установите ссылку на физический
материал PhysicsMaterial2D для использования по умолчанию, если ни один
из них не был назначен отдельному Collider2D.
• Velocity Iterations - установите число итераций, выполняемых физическим
движком для разрешения эффектов скорости. Более высокие числа приводят
к более точной физике, но за счет процессорного времени.
• Position Iterations - установите количество итераций, выполняемых
физическим движком для разрешения изменений положения. Более
высокие числа приводят к более точной физике, но за счет процессорного
времени.

13.

• Velocity Threshold - установите пороговое значение для упругих столкновений. Unity
рассматривает столкновения с относительной скоростью ниже этого значения как неупругие
столкновения (то есть сталкивающиеся игровые объекты не отскакивают друг от друга).
• Max Linear Correction - установите максимальную линейную коррекцию положения,
используемую при решении ограничений (от 0,0001 до 1000000). Это помогает
предотвратить промахи.
• Max Angular Correction - установите максимальную угловую поправку, используемую при
решении ограничений (от 0,0001 до 1000000). Это помогает предотвратить промахи.
• Max Translation Speed - установите максимальную линейную скорость игрового объекта с
компонентом RigidBody2D при любом обновлении физики.
• Max Rotation Speed - установите максимальную скорость вращения игрового объекта с
компонентом RigidBody2D при любом обновлении физики.
• Baumgarte Scale – установите коэффициент масштаба, определяющий, как быстро Unity
разрешает наложение коллизий.

14.

• Baumgarte Time of Impact Scale - установите коэффициент масштаба,
определяющий, как быстро Unity разрешает перекрытия времени
воздействия.
• Time to Sleep - время (в секундах), которое должно пройти после того,
как Rigidbody2D перестанет двигаться, прежде чем он заснет.
• Linear Sleep Tolerance - установите линейную скорость, ниже
которой Rigidbody2D переходит в спящий режим после истечения
времени сна.
• Angular Sleep Tolerance - Установите скорость вращения, ниже
которой Rigidbody2D переходит в спящий режим после истечения
времени сна.

15.

• Default Contact Offset - установите значение расстояния близости для коллайдеров, которые будут
считаться контактирующими, даже если они фактически не находятся в контакте. Коллайдеры,
расстояние между которыми меньше суммы их значений смещения контактов, генерируют контакты.
Это позволяет системе обнаружения столкновений прогнозировать и применять ограничение
контакта даже при незначительном разделении объектов. Слишком большое уменьшение этого
значения может подорвать способность Unity вычислять непрерывные полигональные коллизии. И
наоборот, слишком большое увеличение значения может создать артефакты для столкновения
вершин.
• Auto Simulation - включите этот параметр, чтобы автоматически запускать физическую симуляцию или
разрешить явное управление ею.
• Queries Hit Triggers - включите эту опцию, если вы хотите, чтобы Collider2D, отмеченный как триггер,
возвращал попадание, когда любой физический запрос (например, LineCast или RayCast) пересекается
с ними. По умолчанию включено.
• Queries Start In Colliders - включите эту опцию, если вы хотите, чтобы физические запросы, которые
начинаются внутри Collider2D, обнаруживали коллайдер, в котором они начинаются.
• Callbacks On Disable - включите эту опцию, чтобы производить обратные вызовы столкновений, когда
коллайдер с контактами отключен.

16.

• Auto Sync Transforms - включите эту опцию, чтобы автоматически
синхронизировать изменения преобразования (Transform) с
физической системой.
• Layer Collision Matrix - определите, как ведет себя система
обнаружения столкновений на основе слоев. Выберите, какие
слои матрицы столкновений взаимодействуют с другими слоями,
проверив их.
English     Русский Правила