다중 트리거(Trigger) 조작 문제
공부/Unity2016. 6. 1. 15:52
유니티의 하나의 오브젝트에서
Collider에 Is Trigger를 체크 하면
물리적 충돌이 비물리적 충돌을 체크 할 수 있게 된다.
스크립트 상에서
void OnTriggerEnter(Collider other)
void OnTriggerStay(Collider other)
void OnTriggerExit(Collider other)
등의 이벤트 함수를 적용 할수 있다.
여기에도 문제가 하나 있다.
하나의 오브젝트에서
Collider를 여러가지 가질 수 있고
Trigger도 여러개 가질 수 있지만
스크립트 상의 이벤트 함수는
공용으로 사용을 한다는 것이다.
하지만 게임을 만들다 보면
Trigger마다 각각 체크하여
동작을 다르게 해야 할 때가 있다.
이럴 때에는 어떻게 해야 하는가?
해당 오브젝트의 자식으로 Empty 오브젝트를 만들고
그 자식 Empty 오브젝트에 Collider를 달아 trigger로 만든후
OnTrigger 함수만 따로 스크립트로 작성하여 적용하는 것이다.
즉 Trigger 가 2개 이상 필요 하다면
Empty오브젝트로 자식을 만들어
각각 나누어서 적용시키면 된다.
어렵게 고민하지 말고 위처럼 쉽게 생각하여 적용하자.
'공부 > Unity' 카테고리의 다른 글
AudioSource 다중 사용 (0) | 2016.06.03 |
---|---|
GetComponent<T>() 사용에 대해 (0) | 2016.06.02 |
splat map (0) | 2016.05.30 |
[잡담]유니티에서 구현하는 2D에 관련하여 (0) | 2016.05.27 |
Ctrl + Shift + f (0) | 2016.05.25 |