도드넷
9. 유니티 충돌 OnTriggerEnter OnCollisionEnter 본문
유니티 OnTriggerEnter OnCollisionEnter 에 대하여
정의
- "A와 B가 충돌하면..."
- "A가 B지역에 들어가면..."
을 구현하는 함수
사용법
1. 객체에 콜라이더를 추가한다.
2. Rigidbody를 추가한다.
충돌 정보를 담는 컴포넌트로 충돌 자체 구현은 콜라이더만으로 가능하지만
그 정보를 담으려면 RB를 넣어줘야 합니다.
3. 스크립트에 다음함수를 기호에 맞게(?) 이용한다.
void OnTriggerEnter(Collider MyCol){ } - 들어감
void OnTriggerExit(Collider MyCol){ } - 나감
void OnColliderEnter(Collider MyCol) {} - 들어감
void OnColliderExit(Collider MyCol) {} - 나감
* Tip1 : 트리거는 비물리, 콜라이더는 물리 충돌을 의미한다
* Tip2 : Collider MyCol은 충돌시 발생하는 데이터를 담을 콜라이더다.
(어떤 물체가 감지됬는지 구분하는 방법은 여러가지가 있지만
MyCol.gameObject.tag 를 if로 검사하는 방법이 가장 쉽다.)
4. 충돌할 객체에도 콜라이더를 추가해준다.
- 스크립트상 OnTriggerEnter 같은 함수를 사용할것이 아니라면
Rigidbody는 생략해도 좋다.
OnTriggerEnter / OnTriggerEnter 이 안돼요
- 같은 콜라이더 함수가 작동이 안된다?
1. Rigidbody가 없음
>> 정보를 가져올수없음
2. Layer 설정이 잘못됨
>> Edit > ProjectSettings > Physics 에서 콜리젼 메트릭스 확인
'창고 > 게임 제작' 카테고리의 다른 글
8. 유니티 모바일 최적화 - 유니티 Clear Flag, 스카이박스 설정! (0) | 2018.03.03 |
---|---|
7. 유니티 모바일 최적화 배치 Batches Tris Verts ! (0) | 2018.03.03 |
6. 유니티 리모트 렉! Unity Remote 유니티 최적화 기법1 (0) | 2018.03.02 |
5. 유니티 리모트 Unity Remote - 유니티 모바일 테스트 환경구축하기! (0) | 2018.03.02 |
4. Please set your bundle identifier 유니티 빌드에러 해결2 (0) | 2018.01.30 |