Unity 6.3
0 онлайн 72 гостей 3 в системе
Вход

IContactFilterCallback

интерфейс в UnityEngine.LowLevelPhysics2D

Описание

Интерфейс, который, будучи реализованным в UnityEngine.Object, может быть вызван в качестве цели, когда PhysicsShape имеет PhysicsShape.contactFilterCallbacks установлено на true. PhysicsWorld 2000 год PhysicsShape также должен иметь свой PhysicsWorld.contactFilterCallbacks установлено на true.

Открытые методы

Метод Описание
OnContactFilter2DВызывается, когда обнаружено, что пара фигур находится в контакте. Этот вызов используется, чтобы решить, будет ли для этих фигур создан контакт: его можно не создавать, и тогда контакт не будет передан решателю. Вызов выполняется, только если у PhysicsWorld свойство PhysicsWorld.contactFilterCallbacks равно true. Событие возникает, только если хотя бы у одной из PhysicsShape свойство PhysicsShape.contactFilterCallbacks равно true. Вызов используется как для триггеров, так и для нетриггеров, но только с динамическими телами. С этим вызовом следует обращаться крайне осторожно! Он происходит на этапе моделирования и может быть вызван из любого потока, поэтому должен быть потокобезопасным. В этот момент состояние моделирования не определено для широкой фазы, событий и т. д. По этой причине любая попытка выполнить операцию записи приведёт к взаимной блокировке, так как сам мир заблокирован для записи. Простые операции чтения на PhysicsBody, PhysicsShape или PhysicsJoint безопасны — например, чтение скорости или получение геометрии фигуры, — однако более сложные операции, затрагивающие мир, такие как выполнение запроса, могут привести к повреждению данных или сбоям. Рекомендуется читать UnityEngine.LowLevelPhysics2D.PhysicsUserData любого объекта — это полностью безопасная операция чтения, поэтому всю необходимую информацию по возможности стоит закодировать именно там.