충돌 인터랙션 실습

충돌체(collider)의 추가

  • cube 등은 기본적으로 box collider(상자형 충돌체)가 추가되어 있음
  • 충돌체가 없는 경우는 AddComponent > collider로 검색해서 충돌체를 추가가능
  • 충돌체가 없으면 충돌을 감지 할 수 없음, 물체가 통과하고 이벤트가 발생하지 않음

스크립트 생성

새로운 스크립트 ColliderEventHandler.cs파일 생성해줘. Public으로 GameObject를 받고 OnCollider시 대상이 GameObject와 같으면 ColliderEnterCustom 이벤트 발생

  • 생성된 스크립트를 cube에 할당하고 이전에 만들어둔 colorChanger.cs를 연결
  • OnColliderEnterCustom에 colorChanger를 연결하고 colorRotation을 선택
  • 결과 적으로 ‘충돌(OnColliderCustom)되면 컬러바꾸기(colorRotation)’ 기능이 동작하도록 됨.

  • 새로운 큐브를 하나더 만들어서 위로 올림
  • AddComponent를 클릭하여 rigid body 검색하여 추가
  • rigid body는 강체로서 중력을 받거나 충돌에 의해 물리적인 움직임을 하도록합니다.

  • 만들어둔 큐브를 이전 큐브의 target object(대상 물체)에 드래그로 연결
  • 결과 적으로 ‘대상 물체(cube)와 충돌(OnColliderCustom)되면 컬러바꾸기(colorRotation)’ 기능이 동작하도록 됨.

트리거(trigger)의 추가

  • 만들어둔 충돌체의 isTrigger를 체크하면 트리거로 사용할 수 있음
  • 새로운 스크립트 TriggerEventHandler.cs파일 생성해줘. Public으로 GameObject를 받고 OnTrigger시 대상이 GameObject와 같으면 TriggerEnterCustom 이벤트 발생
  • 트리거용 스크립트를 별도로 생성하여 ColliderEventHandler대신에 사용. 나머지는 절차 동일
  • 결과 적으로 ‘대상 물체(cube)가 트리거(Trigger, 입장하거나 통과)되면 컬러바꾸기(colorRotation)’ 기능이 동작하도록 됨.