유니티 VR 게임 만들기 책을 읽으면서, 개념을 쌓고 있는데, 충돌체크할 때 쓰인다는 Collider를 알게 되었다. 사전에는 입자 가속기라 나오는데, 왜 충돌체크하는데 쓰이게 되었을까. 양자 물리학에 관련있나..?
Rigidbody :
게임 오브젝트에 물리 기능을 추가합니다. 중력 기능(Use Gravity)을 넣을 때 쓰이기도 합니다.
OnCollisionEnter :
플레이 중에 이 오브젝트의 Collider에 다른 Collider가 들어왔을 때, 유니티를 통해서 자동으로 한 번 호출됩니다.OnColliderExit :
함수와 겹쳐져 있는 상태에서 벗어날 때 호출됩니다.
위의 함수를 이용하면, 충돌을 체크할 수 있으나, 오브젝트끼리 통과할 수 없다는 걸 알 수 있습니다. 이를 보완하기 위해, Trigger옵션이 사용됩니다. 사용하면, 통과할 수 있습니다.
이해를 위한 참고 : Collision 충돌과 Trigger 충돌 차이에 관한 글
Trigger :
총의 손잡이를 뜻하며, 게임에서는 어떤 이벤트를 발동시키기 위한 조건이라는 뜻에서 주로 사용됩니다.
OnTriggerEnter :
Trigger 오브젝트에 다른 오브젝트가 들어갔을 때, 호출되는 함수입니다.
Raycast :
Raycast 스크립팅을 가진 게임오브젝트의 원점에서 내가 설정한 방향으로 Ray를 날려 내가 설정한 거리 이내에 물체가 있는지 없는지 충돌감지를 해주는 것입니다.
업데이트마다 호출해서 충돌체크를 합니다. Raycast 함수를 이용할 때, 체크 광선을 어디서부터 시작해서 어느 방향으로 얼마만큼 체크할지 설정해줍니다. 그래서 매개변수로
transform.position = 시작위치,
transform.right = 방향,
1f = 길이
를 넣어줍니다.