제약은 조인트가 영구적으로 깨지지 않도록 하려는 규칙입니다.제약에는 다양한 타입이 있으며, 모든 조인트는 리지드바디 2D 동작에 적용되고 이를 관리하는 제약을 하나 이상 제공합니다.일부 제약은 리지드바디가 선이나 특정 포지션에 머물도록 하는 등 동작을 제한합니다.일부는 게임 오브젝트가 특정 속도를 유지하도록 하는 등, 리지드바디 게임 오브젝트가 특정 방식으로 동작하도록 적극적으로 강제하는 ‘주행’ 제약입니다.
Unity의 물리 시스템은 오브젝트가 설정된 거리 제약보다 더 멀리 이동하거나 설정된 속도 제약보다 빠르게 이동하는 경우와 같이 제약이 일시적으로 위반될 수 있다고 예상합니다.제약이 위반되지 않으면 조인트에 힘이 가해지지 않습니다.제약이 위반되면 조인트가 힘을 가하여 제약을 수정합니다.
예를 들어 ‘주행’ 제약을 사용하면 조인트에 힘을 가하여 거리를 유지하거나 제약에 설정된 속도를 보장합니다.이러한 힘의 적용은 일반적으로 빠르게 수행되지만 항상 제약을 즉시 수정하는 것은 아니며 시간이 지남에 따라 점진적으로 수정됩니다.이로 인해 조인트가 늘어나거나 덜 단단해 보일 수 있습니다.지연이 발생하는 이유는 물리 시스템이 제약을 수정하기 위해 조인트 힘을 가하는 동시에 다른 물리 힘이 동일한 제약을 위반하기 위해 계속 작용하기 때문입니다.게임 오브젝트에 작용하는 충돌하는 힘 외에도 일부 조인트는 다른 조인트보다 더 안정적이고 빠르게 반응합니다.
조인트가 제공하는 제약이 무엇이든, 조인트는 제약을 고정하는 데만 힘을 사용합니다.이는 리니어(직선) 힘 또는 앵글(토크) 힘 중 하나입니다.
팁:조인트가 부착된 리지드바디 오브젝트, 특히 질량이 큰 오브젝트에 큰 힘을 가할 때는 조인트에 작용하는 힘과 충돌할 수 있으므로 주의하는 것이 좋습니다.
모든 조인트는 자체 제약 내에서 유지하기 위해 가하는 힘이나 토크를 모니터링할 수 있습니다.어떤 조인트는 힘과 토크를 모두 모니터링하고 어떤 조인트는 힘만 모니터링합니다.조인트가 제약을 유지하려고 할 때 특정 힘 또는 토크를 초과하는 시점을 알려주며, 이 임계값을 Joint2D.breakForce
및 Joint2D.breakTorque
로 지정할 수 있습니다.조인트가 이러한 임계값을 초과하는 것을 조인트 파괴라고 합니다.
조인트가 Joint2D.breakAction
으로 파괴될 때 취할 액션을 지정할 수 있습니다.기본 파괴 액션은 Joint2D 컴포넌트를 파괴하는 것이며, 그 외 사용 가능한 다른 고정 액션은 JointBreakAction2D
를 참조하십시오.