Основная причина использования любой физической системы заключается в том, что вы хотите знать, когда два объекта сталкиваются, не выполняя всю математику самостоятельно.

Типичными для использования являются коробки, капсулы, сферы. Иногда Терриан, а иногда Меш. Однако сетка может стать проблемой производительности, если ее использовать волей-неволей на больших моделях, поэтому, как обсуждалось в части 1, «достаточно близко» достаточно хорошо. Таким образом, вы можете просто поставить коробку или капсулу вокруг чего-то вместо сетки.

3D против 2D коллайдеров

Оба великолепны и оптимизированы для своих индивидуальных ролей.

НО вам нужно понять одно правило! Вы не можете смешивать коллайдеры 3D Physics с коллайдерами 2D Physics. Это связано с тем, что технически это разные физические движки, а это значит, что вам нужен Rigidbody2D для взаимодействия с 2D-коллайдерами.

Однако вам разрешено иметь 2D-спрайт (2D-визуальные эффекты) с 3D-коллайдером Box (3D-физика), взаимодействующим с 3D-жестким телом. Такая настройка позволит вам взаимодействовать с 3D-моделями, даже если визуальные эффекты выглядят 2D.

OnCollider против OnTrigger и как использовать

Коллайдеры напрямую взаимодействуют с физическими системами, триггеры игнорируют примененную к ним физику. Триггеры очень полезны для «зон», где вы хотите, чтобы что-то сработало. Может быть, «Зона активации» перед всплывающей подсказкой кнопки и возможностью ввода данных игроком.

Для работы любого из этих событий требуется, чтобы хотя бы один из вовлеченных объектов имел Rigidbody. Без этого физическая система не знает, что она должна заботиться о задействованном коллайдере.

Пример OnTrigger()

Чтобы создать триггер, нам просто нужно установить флажок «Является триггером» на коллайдере, а затем настроить коллайдер, чтобы заполнить зону, которую мы хотим заполнить.

Чтобы настроить коллайдер, мы можем нажать кнопку «Редактировать коллайдер», а затем перетащить опорные точки или вручную ввести центр/размер коллайдера.

Код триггера для этого примера:

Столкновения

Столкновения работают так же, как и триггеры, но они будут отталкиваться со своими собственными физическими настройками. Единственное другое отличие заключается в том, что в коде мы используем OnCollission.

Теперь важно изучить OnCollision, чтобы убедиться, что вы знаете, как отфильтровывать столкновения. Вы не хотите, чтобы ваша собственная атака снарядом, который обычно стреляет достаточно близко к вам, например, чтобы вызвать ваш коллайдер и повредить вас, например.

Поэтому, чтобы избежать собственных атак, мы используем Теги или Слои.

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

Следующий:

В части 3 будут рассмотрены материалы по физике, а в части 4 — суставы.