1. 기본 개념 복습
리지드바디(Rigidbody)와 콜라이더(Collider)로 물체 생성 및 이동 구현
키보드 입력으로 오브젝트를 움직이는 기능 복습
2. 충돌 이벤트와 매트리얼 속성 변경
목표: 충돌 시 오브젝트의 색상을 변경
방법:
- GetComponent로 MeshRenderer 가져오기
- MeshRenderer의 Material.color 속성 수정
- 충돌 시 색상이 즉시 변경되도록 로직 작성
3. 충돌 이벤트 함수 종류
물리 충돌 이벤트:
OnCollisionEnter: 충돌 시작 시 호출
OnCollisionStay: 충돌 지속 시 호출
OnCollisionExit: 충돌 종료 시 호출
4. 충돌 이벤트 구현
특정 조건에서 공의 색상 변경
충돌한 오브젝트 이름 확인 (Collision.gameObject.name)
이름이 특정 값일 때 색상 변경 로직 실행
Color와 Color32의 차이점
Color: float(01), Color32: int(0255)
5. 충돌 종료 시 이벤트 추가
충돌 종료 시 색상 복원
OnCollisionExit 함수 활용
충돌이 끝나면 색상을 초기 상태로 복구
6. 트리거 이벤트 개념
트리거 이벤트: 물리 충돌 없이 특정 영역에서 이벤트 발생
트리거 함수:
OnTriggerEnter: 트리거 진입 시 호출
OnTriggerStay: 트리거 영역 내 머무는 동안 호출
OnTriggerExit: 트리거 영역에서 나갈 때 호출
트리거 설정: 콜라이더의 IsTrigger 체크 활성화
7. 트리거 이벤트 활용 예제
목표: 트리거 영역에 들어가면 공이 위로 뜨는 효과 구현
방법:
- OnTriggerStay 함수 사용
- Rigidbody.AddForce(Vector3.up * 힘)으로 공 위로 이동
주의: 트리거는 Collider 정보만 제공. 충돌 정보는 없음
'유니티' 카테고리의 다른 글
| B13 - 2D 플랫포머 - 프로젝트 준비하기 (2) | 2025.01.02 |
|---|---|
| B12 - 게임 인터페이스를 알아봅시다 (1) | 2025.01.01 |
| B10 - 힘을 이용하여 물체 움직여보기 (0) | 2024.12.28 |
| B9 - 실제와 같은 물체를 만들기 (0) | 2024.12.28 |
| B8 - 이동거리를 공평하게, 델타타임 (1) | 2024.12.28 |