반응형
목표 |
충돌에 관련된 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;
}
}
연습문제 |
앞장에서 배운 키보드로 이동하는 방법을 활용하여 방향키를 이용하여 공을 움직이도록 처리해 보고 공이 바닥에서 떨어져 나갔을 때 색상을 원래대로 흰색으로 변경하도록 처리해 보자.
반응형
'응용프로그래밍 > 유니티기초' 카테고리의 다른 글
[유니티기초]1-06.스크립트를 이용하여 객체 생성 (0) | 2022.05.30 |
---|---|
[유니티기초]1-05. 프레임에 따라 update 되는 속도가 다른 것을 어느 컴퓨터에서나 동일한 속도를 보장 하는 deltaTime (0) | 2022.05.30 |
[유니티 기초]1-03.오브젝트를 키보드로 이동 시켜 보자. (0) | 2022.03.28 |
[유니티기초]1-02. Rigidbody를 이용하여 오브젝트를 점프 (0) | 2022.03.28 |
[유니티 이론] 1-01.유니티 에디터 화면 구성 살펴 보기 (0) | 2021.02.23 |