Joints
씬뷰에서 모든 조인트는 주황색 점으로 표시된다.
Fixed Joint
하이어라키에서 부모 오브젝트와 비슷하게 동작한다.
오브젝트를 특정 지점이나 연결된 rigidbody에 고정한다.
Break Force, Break Torque: 조인트를 분리하는데 필요한 최소한의 힘
(디폴트 값이 Infinity인데 적당한 값을 주면 분리될 수 있다.)
Spring Joint
오브젝트가 대상 포인트에 닿기를 시도한다는 원칙 하에 작동한다.
닿으려는 대상 포인트는 씬 뷰에서 설정된다.
연결된 rigidbody가 해당 지점에서 불시에 작용하는 스프링력으로 앵커 지점으로 당겨진다.
rigidbody가 연결되어 있는 경우 스프링이 닿으려고 하는 대상 포인트는
월드 공간이 아닌 게임 오브젝트의 상대위치이다.
씬 뷰에서 연결 위치는 주황색 점 또는 상자로 표시된다.
Spring: 스프링의 강도이며, 수치가 높을수록 강도가 센 스프링이 된다.
Damper: 움직이는 조인트가 느려지는 정도를 나타낸다. 값이 클수록 스프링이 덜 빗나가게 된다.
Min & Max Distance: 스프링이 활성화되지 않는 약간의 사각을 설정하기 위한 변수이며,
스프링의 길이를 효과적으로 제한한다.
Break Force, Break Torque: 조인트를 분리하는데 필요한 최소한의 힘
Hinge Joint
문 오브젝트에 적합하다.
힌지의 축을 기준으로 회전한다.
앵커값에 따라 조인트의 위치가 달라진다.
Axis에서 힌지를 중심으로 회전할 축을 지정할 수 있다.
예를 들어 Y값에 1을 넣고 설정하면 아래 스크립트처럼
오브젝트를 클릭하였을 때 문을 여는 것을 간단히 구현할 수 있다.
public float forceAmount = 1000f;
void OnMouseDown()
{ rigidbody.Addforce(-transform.forward * forceAmount, ForceMode.Acceleration);
rigidbody.useGravity = true; }
Hinge Joint와 Spring Joint의 다른 차이점은 Motor 사용과 Limits 사용 여부이다.
Motor는 회전문과 같이 조인트에 속도를 도입하기 위해 사용된다.
Target Velocity: 조인트가 회전하려는 속도이며 해당 속도까지 이르는 데 힘이 가해진다.
Free Spin: 체크하면 힘은 가속할 때만 사용되고 감속할 때는 사용되지 않는다.
Limits는 일반문과 같이 조인트의 움직임을 제한할 때 사용된다.
Min, Max: 조인트가 움직일 수 있는 각도
Min, Max Bounce: 제한점에 도달하였을 때 조인트가 바운드하는 정도
Break Force, Break Torque: 조인트를 분리하는데 필요한 최소한의 힘
유니티 공식 튜토리얼 영상을 참고하여 작성하였습니다.
'유니티 개발 기술 > 물리 & 시뮬레이션' 카테고리의 다른 글
가속도계를 이용하기 위한 Input.acceleration (0) | 2023.07.22 |
---|---|
Raycast 살펴보기 (0) | 2023.05.23 |
AddTorque 함수, Physic Material (0) | 2023.05.05 |
AddForce 함수, OnMouse 함수 (1) | 2023.05.02 |
Rigidbody 살펴보기 (0) | 2023.04.30 |