Hinge Joint란 "힌지"라는 말처럼 두 오브젝트를 맞물려 종속적으로 움직이게 한다.
가장 대표적인 예시로는 문이 있으며 이 경우 근처의 벽에 종속적으로 움직인다.
https://docs.unity3d.com/kr/2023.2/Manual/class-HingeJoint.html
또 다른 예시로는 사슬과 진자운동이 있는데, 이걸 활용해서 이중진자 시뮬레이션도 가능하다.
가장 대표적인 예시로 꼽히는 문을 만들어보자.
먼저 문과 기준이 될 벽이나 막대를 만들어준다.
그 후, 두 오브젝트에 모두 rigidbody와 collider를 연결해 준다.
문에는 Hinge Joint 컴포넌트를 연결해 주고, "Connected Body"에 벽이나 막대의
rigidbody를 넣어준다. 이러면 일반적으로 끝이지만, 벽의 경우 중심을 조절해줘야 한다.
또한 각도를 -90 ~ 90으로 제한하면 문이 과하게 돌아가는 걸 막을 수 있다.
(limit의 min과 max)
참고로 문이 다시 돌아오게 하기 위해 Bounciness를 조절했으며, (0.5)
너무 마찰력이 없어서 Rigidbody의 drag를 0.5로 변경했다.
여기까지 Hinge Joint의 정의와 활용 예시에 대해 다루어 보았다.
Hinge Joint는 Spring Joint와 일부 기능이 겹치기도 한다고 한다.
각 컴포넌트를 기능에 맞춰 달리 사용하길 바라며, 사슬이나 막대같이
다른 물체의 기준이 되는 물체의 경우 때때로 고정돼야 하기에 Iskinematic 활성화도 고려하라.
이상으로 도움이 되었길 바라며,
끝.
'게임 개발 > 유니티' 카테고리의 다른 글
Unity) Material의 깊이 만들기 (Material의 퀄리티 높이기) (0) | 2024.01.14 |
---|---|
Unity) Invalid build path 오류 해결법. (2) | 2024.01.11 |
Unity) Collider와 Collision의 차이 (콜라이더와 콜리젼의 차이) (0) | 2023.10.28 |
유니티) OnCollisionExit에서 접점을 구하는 방법. (0) | 2023.10.28 |
유니티) 플레이어의 이동 막기(투명벽), 오브젝트 투명하게 하기. (4) | 2023.04.11 |
댓글