Компонент Fixed Joints (Неподвижное соединение) ограничивает движение определенного объекта, связывая его с другим объектом. Этот процесс похож на Parenting (определение текущего объекта как “дочерний” по отношению к другому, “родительскому”, объекту), но реализован с помощью физики, а не иерархии компонентов Transform. Чаще всего этот компонент используется в случае, если в определенный момент времени может потребоваться разъединить два объекта, или наоборот, соединить два объекта без необходимости изменения иерархии.
Свойство: | Функция: |
---|---|
Connected Body | Необязательная ссылка на другой объект с Rigidbody, к которому присоединяется текущий объект. Если поле оставить пустым, объект присоединяется к заданной точке в пространстве. |
Break Force | Сила, которую надо применить к соединению, чтобы сломать его. |
Break Torque | Крутящий момент, который надо применить к соединению, чтобы сломать его. |
Enable Collision | Если включено, то включаются коллизии между телами связанными соединением. |
Enable Preprocessing | Disabling preprocessing helps to stabilize impossible-to-fulfil configurations. |
При создании игр иногда возникают случаи, когда требуется, чтобы объекты двигались вместе (временно или постоянно). Компоненты Fixed Joint позволяют упростить реализацию подобных ситуаций, поскольку вам не приходится менять положение объекта в иерархии с помощью скриптов. Минус подобного решения в том, что вам придется добавлять компоненты Rigidbodies на объекты, которые требуется соединить с помощью Fixed Joint.
Например, с помощью этого компонента можно реализовать “липкую гранату”. Для этого нужно написать скрипт, позволяющий определить столкновение с другим объектом, имеющим компонент Rigidbody (например врагом), после чего создать Fixed Joint, который присоединит гранату к этому Rigidbody, заставляя ее оставаться “прилипшей”, даже если враг будет двигаться.
Вы можете использовать свойства Break Force и Break Torque, чтобы установить лимиты силы по отношению к соединению. Если они меньше бесконечности, то Fixed Joint будет разрушен и соединение больше не будет поддаваться ограничениям.