OnCollisionEnter2D 함수에서는
충돌한 대상의 오브젝트를 가져올 때
collision.gameObject
라고 써야하는 반면
OnTriggerEnter2D에서는
collision
라고 만 써도 된다.
이유가 뭘까?
void OnCollisionEnter2D(Collision2D(←매개변수) collision)
{
collision.gameObject.CompareTag("Player");
}
우선 OnCollisionEnter2D 메서드에서 매개변수를 잘 보면 "Collision2D"라고 되어 있다.
이 매개변수는 "충돌한 정보"만을 가져오기 때문에, "충돌한 객체"를 가져오려면 gameObject를 사용해 가져와야 한다.
void OnTriggerEnter2D(Collider2D(←매개변수) collision)
{
collision.CompareTag("Player");
}
반면에 OnTriggerEnter2D 메서드에서 매개변수 Collider2D는 트리거된 객체의 정보와 직접적으로 연관 되어있다. 때문에 collision만 사용해도 객체에 접근할 수 있다.
'유니티' 카테고리의 다른 글
[유니티] LoadScene 주의할 점 (0) | 2024.12.26 |
---|---|
[유니티] Unity로 만들어진 게임, 프로젝트, 서비스 조사하기 (0) | 2024.12.26 |
[유니티] 벽에 달라붙는 문제 해결 2D (0) | 2024.12.24 |
[유니티] Update와 FixedUpdate 차이점 초간단 정리 (0) | 2024.12.24 |
[유니티] 내일배움캠프 유니티 7기 (0) | 2024.12.24 |