오브젝트 구조
루트 오브젝트( 여기에 처리관련 클래스 부착 )
└ 스프라이트
└ 트리거를 위한 collider
이런 구조에서 클래스 안에 OnTriggerEnter2D, OnTriggerExit2D 등 트리거 관련 이벤트함수를 열심히 작성해도 동작도 안되고 중단점도 안들어오고 도대체 뭐가 문제지? 하고 있었다.
Rigidbody도 정확히 있었다.
문제는 collider가 달려있는 오브젝트에 위에 적은 충돌관련 함수들이 동작하는데 루트 오브젝트에는 collider가 없으니 당연히 동작을 할리가 없다.
해결방안
1. collider가 달려있는 오브젝트에 별도의 클래스를 추가해 루트 클래스 함수를 호출
2. 루트 오브젝트로 collider 옮기기
1은 더 번거롭고 보기도 안좋아서 2번으로 해결.
'유니티 > 버그일지' 카테고리의 다른 글
[Unity] OnDestroy에 처리할 내용은 다른 함수에 (0) | 2020.05.18 |
---|---|
[C#][Unity]List에서 원소 제거시 주의할 점 (0) | 2020.04.07 |
Trigger가 발동되지 않는 경우 (0) | 2020.03.27 |
[Unity]에디터 확장한 프로젝트가 빌드 실패할 때 (2) | 2020.02.26 |
[Unity]error: 프리팹의 parent 변경할 때 실수 조심 (4) | 2019.10.20 |