응용프로그래밍/유니티기초
[유니티기초] 1-04. 게임오브젝트 충돌 처리
파아란기쁨1
2022. 5. 30. 10:14
반응형
| 목표 |
충돌에 관련된 Collider 에 대해 알아 보자.
| 이론 |
OnCollisionEnter2D : 두 오브젝트가 충돌하는 순간 1회 이벤트 발생
OnCollisionStay2D : 충돌해 있는 순간 계속 발생
OnCollisionExit2D : 두 오브젝트의 충돌이 종료되는 순간 1회 발생
| 실습 |
1. Collider : 충돌 범위
- 속성
Material : 해당 오브젝트의 마찰력 등을 설정 할 수 있는 물리 메터리얼 등록 가능
Is Trigger : 체크 되었을 때 통과하면서 충돌 이벤트 발생, 체크되지 않으면 통과 되지 않음
Offset : 충돌 범위의 중심점 위치
Size : 충돌 범위 크기
Used By Composite : 콜라이더를 그룹으로 통합할 때 체크

2. 객체 생성하여 테스트 해 보자.
Circle/Square 두개를 생성하여 배치 후 Circle에는 중력과 충돌 설정, Square에는 충돌만 설정하자.


5. 실행해 보면 공이 떨어져서 바닥에 붙는 것을 확인 할 수 있다.
6. 공이 떨어져서 충돌이 발생하는 시점에 바닥의 색상을 변경하는 스크립트를 작성해 보자.
스크립트
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CollisionEvent : MonoBehaviour
{
private SpriteRenderer spriteRenderer;
//Start 보다 먼저 발생하는 이벤트
private void Awake() {
spriteRenderer = GetComponent<SpriteRenderer>();
}
// Start is called before the first frame update
void Start()
{
spriteRenderer.color=Color.white;
}
// Update is called once per frame
void Update()
{
}
private void OnCollisionEnter2D(Collision2D other) {
spriteRenderer.color = Color.red;
}
}

| 연습문제 |
앞장에서 배운 키보드로 이동하는 방법을 활용하여 방향키를 이용하여 공을 움직이도록 처리해 보고 공이 바닥에서 떨어져 나갔을 때 색상을 원래대로 흰색으로 변경하도록 처리해 보자.
반응형