Unity Learn/주니어 프로그래머

5단원 - 사용자 인터페이스 : OnMouseDown()

coding-potato 2024. 11. 23. 21:21
  • OnMouseDown() 함수

마우스 클릭 이벤트를 감지하기 위해 사용되는 MonoBehaviour 메서드입니다. 이 함수는 특정 오브젝트를 클릭했을 때 자동으로 호출됩니다.

 

기본 동작

  • **OnMouseDown()**은 Collider가 포함된 GameObject에 추가된 스크립트에서 동작합니다.
  • 오브젝트 위에서 마우스 버튼을 누를 때 호출됩니다.
  • 기본적으로 왼쪽 마우스 버튼을 감지합니다.

사용 조건

  1. Collider가 필수: OnMouseDown()이 작동하려면 GameObject에 Collider 또는 Collider2D가 있어야 합니다.
  2. 카메라 설정: 오브젝트가 카메라의 시야에 있어야 하고, 클릭이 해당 오브젝트에 닿아야 합니다.
  3. 스크립트: OnMouseDown()을 포함한 스크립트가 GameObject에 추가되어야 합니다.

사용 예시

이 예제에서는 해당 오브젝트를 클릭하면 Unity 콘솔에 "Object Clicked: [오브젝트 이름]"이 출력됩니다.

 

주의사항

  1. UI 오브젝트에는 적용되지 않음:
    • OnMouseDown()은 UI 요소에서 작동하지 않습니다.
    • UI 클릭 이벤트는 EventSystemRaycast를 사용해야 합니다.
  2. 터치 지원:
    • 터치 입력에서는 OnMouseDown() 대신 Input.GetTouch()를 사용하는 것이 일반적입니다.
  3. 성능 문제:
    • OnMouseDown()은 기본적으로 Physics Raycasting을 사용하므로 많은 오브젝트에 적용하면 성능에 영향을 줄 수 있습니다.

정리

  • OnMouseDown()은 간단한 클릭 이벤트를 처리하는 데 유용하며, Collider가 있는 오브젝트에서 작동합니다.
  • 더 복잡한 상호작용이 필요하거나 터치와 같은 입력 방식도 지원하려면 Raycast를 고려해야 합니다.
  • OnMouseDown() 메서드는 Unity의 MonoBehaviour 이벤트 함수 중 하나로, Unity 엔진이 알아서 호출하기 때문에 Update 메서드 안에 넣을 필요가 없습니다.