Unity Fixed Joint 사용법 가이드
Unity의 Fixed Joint 컴포넌트는 오브젝트 간의 이동을 제한하여 서로 연결할 수 있게 도와줍니다. 이 문서에서는 Fixed Joint의 기능과 활용 방법에 대해 설명합니다.
Fixed Joint란?
Fixed Joint는 두 개의 물체를 고정하여 움직이게 하며, Parenting과는 달리 물리 시스템을 통해 연결됩니다. 이 컴포넌트는 두 오브젝트가 서로 떨어지는 것을 방지할 때 유용합니다. 예를 들어, 부서지기 쉬운 오브젝트를 만들거나, 부모 지정 없이 두 오브젝트의 이동을 연결하고 싶을 때 활용됩니다.
주요 프로퍼티
| 프로퍼티 | 설명 |
|---|---|
| Connected Body | 조인트가 연결할 리지드바디의 선택적 레퍼런스. 설정하지 않으면 조인트는 월드에 연결됩니다. |
| Break Force | 조인트를 파괴하기 위해 가해져야 하는 힘. |
| Break Torque | 조인트를 파괴하기 위해 가해져야 하는 토크. |
| Enable Collision | 활성화 시, 조인트로 연결된 바디 간의 충돌이 발생. |
| Enable Preprocessing | 전처리를 비활성화하면 처리 불가능한 설정을 안정화하는 데 도움. |
활용 예제
- 점착 수류탄 구현하기
적과 같은 리지드바디와 충돌을 검사하는 스크립트를 작성하고, 해당 리지드바디에 수류탄을 부착하기 위해 Fixed Joint를 생성합니다. 이렇게 하면, 적이 움직여도 수류탄이 계속 붙어 있게 됩니다.
// 점착 수류탄 예제 스크립트
void OnCollisionEnter(Collision collision) {
if (collision.gameObject.CompareTag("Enemy")) {
FixedJoint fixedJoint = gameObject.AddComponent<FixedJoint>();
fixedJoint.connectedBody = collision.rigidbody;
}
}
- 오브젝트 연결
두 오브젝트의 위치를 고정시키고 싶을 때 Fixed Joint를 사용하여 서로 연결할 수 있습니다. 이를 통해 두 오브젝트가 함께 움직이게 만들 수 있습니다. - 제한된 힘으로 조절하기
Break Force와 Break Torque 프로퍼티를 활용하여 조인트의 제한된 힘과 토크를 설정하면, 특정 힘이 가해질 경우 조인트가 파괴되도록 할 수 있습니다.
주의사항
- Fixed Joint를 사용하는 모든 오브젝트는 반드시 리지드바디 컴포넌트를 가져야 합니다.
- Connected Body를 설정하지 않아도 조인트는 작동하지만, 다른 물체와의 연결이 없습니다.
결론
Fixed Joint는 오브젝트 간의 관계를 조정하는 데 매우 유용한 컴포넌트입니다. 이를 통해 게임 내 다양한 상호작용을 구현할 수 있으니, 적절히 사용해 보시기 바랍니다.