Collider2D.Cast
Declaration
public int Cast(Vector2 direction, List<RaycastHit2D> results, float distance = Mathf.Infinity, bool ignoreSiblingColliders = true);Параметры
| Параметр | Описание |
|---|---|
| направление | Вектор, обозначающий направление, в котором будет отображаться фигура. |
| результаты | Список для получения результатов. |
| расстояние | Максимальное расстояние, на которое можно перенести фигуру. |
| ignoreSiblingColliders | Определяет, следует ли игнорировать коллайдеры, присоединенные к одному и тому же Rigidbody2D (известные как коллайдеры-сестры). |
Возвращаемое значение
инт Количество возвращенных результатов.
Описание
Вставляет форму Collider в форму Scene начиная с позиции Collider, игнорируя саму форму Collider.
Эта функция будет осуществляться Collider форму и вылить ее в Scene начиная с Collider положение в указанном direction для факультативного протокола distance и возвращает результаты в указанном results Целое число, возвращаемое функцией, представляет собой число результатов, записанных в results список. Размер списка результатов будет изменен, если он не содержит достаточно элементов для отображения всех результатов. Это предотвращает выделение памяти для результатов, когда results список не нуждается в изменении размера, и улучшает производительность сбора мусора, когда перемещения выполняются часто.
Кроме того, это также обнаруживает другие Collider(s) на Collider В этом случае отливка будет начинаться внутри отливки, а затем переноситься в верхнее положение. Collider и не могут пересекать Collider Это означает, что нормаль столкновения не может быть рассчитана, и в этом случае возвращаемая нормаль столкновения устанавливается на обратную величину нормали столкновения. direction испытываемый вектор.
NOTE: Все результаты отсортированы в порядке возрастания расстояния i.e. первый результат является наиболее близким.
Declaration
public int Cast(Vector2 direction, ContactFilter2D contactFilter, List<RaycastHit2D> results, float distance = Mathf.Infinity, bool ignoreSiblingColliders = true);Параметры
| Параметр | Описание |
|---|---|
| направление | Вектор, обозначающий направление, в котором будет отображаться фигура. |
| contactFilter | Результаты фильтрации, определенные фильтром контакта. |
| результаты | Список для получения результатов. |
| расстояние | Максимальное расстояние, на которое можно перенести фигуру. |
| ignoreSiblingColliders | Определяет, следует ли игнорировать коллайдеры, присоединенные к одному и тому же Rigidbody2D (известные как коллайдеры-сестры). |
Возвращаемое значение
инт Количество возвращенных результатов.
Описание
Вставляет форму Collider в форму Scene начиная с позиции Collider, игнорируя саму форму Collider.
Эта функция будет осуществляться Collider форму и вылить ее в Scene начиная с Collider положение в указанном direction для факультативного протокола distance и возвращает результаты в предусмотренном results Возвращаемое целое число представляет собой число результатов, записанных в список. results список. Размер списка результатов будет изменен, если он не содержит достаточно элементов для отображения всех результатов. Это предотвращает выделение памяти для результатов, когда results список не нуждается в изменении размера, и улучшает производительность сбора мусора, когда перемещения выполняются часто.contactFilter параметр может фильтровать возвращаемые результаты по параметрам в ContactFilter2D.
Кроме того, это также обнаруживает другие Collider(s) на Collider если они перекрываются. В этом случае отлитая форма начнет формироваться внутри Collider и не могут пересекать Collider Это означает, что нормаль столкновения не может быть рассчитана, и в этом случае возвращаемая нормаль сталкивания устанавливается на обратную величину direction испытываемый вектор.
NOTE: Все результаты отсортированы в порядке возрастания расстояния i.e. первый результат является ближайшим.
Declaration
public int Cast(Vector2 direction, RaycastHit2D[] results, float distance = Mathf.Infinity, bool ignoreSiblingColliders = true);Параметры
| Параметр | Описание |
|---|---|
| направление | Вектор, обозначающий направление, в котором будет отображаться фигура. |
| результаты | Массив для получения результатов. |
| расстояние | Максимальное расстояние, на которое можно перенести фигуру. |
| ignoreSiblingColliders | Определяет, следует ли игнорировать коллайдеры, присоединенные к одному и тому же Rigidbody2D (известные как коллайдеры-сестры). |
Возвращаемое значение
инт Количество возвращенных результатов.
Описание
Вставляет форму Collider в форму Scene начиная с позиции Collider, игнорируя саму форму Collider.
Эта функция возьмет форму коллайдера и перенесет ее в Scene, начиная с позиции коллайдера в указанном direction для факультативного протокола distance и возвращает результаты в указанном results возвращаемое целое число является числом результатов, записанных в массив. results array. Массив результатов не будет изменяться, если он не содержит достаточно элементов, чтобы отобразить все результаты. Значение этого заключается в том, что для результатов не выделяется памяти, и поэтому производительность сбора мусора улучшается, когда перестановки выполняются часто.
Кроме того, это также обнаружит другие Collider(s) в начальной позиции коллайдера, если они перекрываются. В этом случае отлитая форма будет начинаться внутри Collider и может не пересекать поверхность Collider. Это означает, что нормаль столкновения не может быть рассчитана, в этом случае возвращенная нормаль столкновения устанавливается на обратную величину direction испытываемый вектор.
NOTE: Все результаты отсортированы в порядке возрастания расстояния i.e. первый результат является ближайшим.
Примечание: Использование Collider2D.Cast() требует использования Rigidbody2DЕсли нет Rigidbody2D объявляется Cast() не работает. Rigidbody2D
может быть статическим и прикреплённым к Collider2D. Это сделает Cast() работают, как ожидается. Кроме того, если Collider2D объект не имеет Rigidbody2D объект, то он может столкнуться с объектами, которые имеют и Collider2D и Rigidbody2D
объектов.
Declaration
public int Cast(Vector2 direction, ContactFilter2D contactFilter, RaycastHit2D[] results, float distance = Mathf.Infinity, bool ignoreSiblingColliders = true);Параметры
| Параметр | Описание |
|---|---|
| направление | Вектор, обозначающий направление, в котором будет отображаться фигура. |
| contactFilter | Результаты фильтрации, определенные фильтром контакта. |
| результаты | Массив для получения результатов. |
| расстояние | Максимальное расстояние, на которое можно перенести фигуру. |
| ignoreSiblingColliders | Определяет, следует ли игнорировать коллайдеры, присоединенные к одному и тому же Rigidbody2D (известные как коллайдеры-сестры). |
Возвращаемое значение
инт Количество возвращенных результатов.
Описание
Вставляет форму Collider в форму Scene начиная с позиции Collider, игнорируя саму форму Collider.
Эта функция будет принимать форму коллайдера и отлить его в Scene начиная с положения коллайдера в указанной зоне direction для факультативного протокола distance и возвращает результаты в предусмотренном results возвращаемое целое число представляет собой число результатов, записанных в массив. results array. Массив результатов не будет изменяться, если он не содержит достаточно элементов для отображения всех результатов. Значение этого заключается в том, что для результатов памяти не выделяется, и поэтому производительность сбора мусора улучшается, когда перестановки выполняются часто.contactFilter параметр может фильтровать возвращаемые результаты по параметрам в ContactFilter2D.
Кроме того, это также обнаружит другие Collider(s) в начальном положении коллайдера, если они перекрываются. В этом случае отлитая форма будет начинаться внутри Collider и не могут пересекать Collider Это означает, что нормаль столкновения не может быть рассчитана, и в этом случае возвращаемая нормаль сталкивания устанавливается на обратную величину direction испытываемый вектор.
NOTE: Все результаты отсортированы в порядке возрастания расстояния i.e. первый результат является ближайшим.
Declaration
public int Cast(Vector2 position, float angle, Vector2 direction, List<RaycastHit2D> results, float distance = Mathf.Infinity, bool ignoreSiblingColliders = true);Параметры
| Параметр | Описание |
|---|---|
| должность | Позиция, с которой начинается заклинание Collider. |
| угол | Вращение Collider. |
| направление | Вектор, представляющий направление, в котором должен быть брошен Collider. |
| результаты | Список для получения результатов. |
| расстояние | Максимальное расстояние, на которое можно запустить Collider. |
| ignoreSiblingColliders | Определяет, должен ли кастинг игнорировать другие коллайдеры, присоединенные к тому же Rigidbody2D (известные как коллайдеры-братья). |
Возвращаемое значение
инт Количество возвращенных результатов.
Описание
Переносит форму Collider в форму Scene начиная с указанной позиции и вращения.
Эта функция перемещает форму Collider через Scene, начиная с указанных position и angle, на необязательное расстояние distance и возвращает результаты в results, то есть в предоставленном списке результатов.
Возвращаемое целое число — это количество результатов, записанных в список results. Если в списке результатов недостаточно элементов для всех результатов, его размер будет увеличен. Благодаря этому память не выделяется, когда изменять размер списка results не требуется, что повышает эффективность сборки мусора при частом выполнении cast-операций.
Кроме того, обнаруживаются другие Collider(s), перекрывающие начальную позицию Collider. В этом случае исходная точка cast-формы находится внутри Collider, поэтому форма может не пересечь поверхность Collider. Нормаль столкновения вычислить невозможно, поэтому возвращаемая нормаль задаётся равной вектору, противоположному вектору direction, который проверяется.
ПРИМЕЧАНИЕ: Все результаты отсортированы по возрастанию расстояния, то есть первым идёт ближайший результат.
ПРИМЕЧАНИЕ: Используемые здесь position и angle представляют позицию объекта Rigidbody2D, к которому прикреплён Collider2D. Если Collider2D смещён относительно центра масс, то Collider2D будет перекрываться с тем же смещением. Это может сбивать с толку, поэтому рекомендуется использовать только Collider2D, выровненные по центру масс. В противном случае необходимо учитывать смещение. Если Collider2D не прикреплён к Rigidbody2D, этот вызов использовать нельзя и будет выдано предупреждение.
Declaration
public int Cast(Vector2 position, float angle, Vector2 direction, ContactFilter2D contactFilter, List<RaycastHit2D> results, float distance = Mathf.Infinity, bool ignoreSiblingColliders = true);Параметры
| Параметр | Описание |
|---|---|
| должность | Позиция, с которой начинается заклинание Collider. |
| угол | Вращение Collider. |
| направление | Вектор, представляющий направление, в котором должен быть брошен Collider. |
| contactFilter | Результаты фильтрации, определенные фильтром контакта. |
| результаты | Список для получения результатов. |
| расстояние | Максимальное расстояние, на которое можно запустить Collider. |
| ignoreSiblingColliders | Определяет, должен ли кастинг игнорировать другие коллайдеры, присоединенные к тому же Rigidbody2D (известные как коллайдеры-братья). |
Возвращаемое значение
инт Количество возвращенных результатов.
Описание
Переносит форму Collider в форму Scene начиная с указанной позиции и вращения.
Эта функция выполняет трассировку формы Collider в сцене, начиная с указанных position и angle, на необязательное расстояние distance, и записывает результаты в предоставленный список results.
Параметр contactFilter позволяет фильтровать возвращаемые результаты с помощью настроек из ContactFilter2D.
Возвращаемое целое число равно количеству результатов, записанных в список results. Если элементов списка недостаточно для всех результатов, его размер будет увеличен. Когда изменять размер списка results не требуется, это предотвращает выделение памяти под результаты и повышает производительность сборки мусора при частом выполнении трассировок.
Кроме того, функция обнаруживает другие Collider в начальном положении Collider, если они перекрываются. В этом случае трассируемая форма начинается внутри Collider и может не пересекать его поверхность. Поэтому нормаль столкновения вычислить невозможно, и возвращаемая нормаль задаётся как вектор, обратный проверяемому вектору direction.
ПРИМЕЧАНИЕ: Все результаты сортируются по возрастанию расстояния, то есть первый результат является ближайшим.
ПРИМЕЧАНИЕ: используемые здесь position и angle обозначают положение Rigidbody2D, к которому прикреплён Collider2D. Если Collider2D смещён относительно центра масс, Collider2D будет проверяться на перекрытие с тем же смещением. Это может вводить в заблуждение, поэтому рекомендуется использовать только Collider2D, выровненные по центру масс. В противном случае это смещение необходимо учитывать. Если Collider2D не прикреплён к Rigidbody2D, вызов использовать нельзя: Unity выведет предупреждение.