Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- list
- 공부
- 차이점
- 자료구조
- thread
- 프래그멘테이션
- MonoBehaviour
- 반복문
- 큐
- std::map
- 스택영역
- 해쉬맵
- 기술면접
- static_cast
- 객체지향
- 스택
- 리스트
- c#
- 멀티쓰레드
- 알고리즘
- 벡터
- 트리
- Queue
- map
- 배열
- rookiss
- 힙영역
- std::unordered_map
- vector
- 인프런
Archives
- Today
- Total
호빵의 IT 개발소
[유니티] 충돌 체크 본문
Collider
- 유니티에서 충돌 체크를 하기 위해 필요한 컴포넌트
- 콜라이더는 3D 오브젝트를 위한 Box Collider, Capsule Collider, Shpere Collider등이 있고, 2D 오브젝트를 위한 Box Collider 2D, Polygon Collider 2D, Circle Collider 2D등이 있습니다.
Collider를 이용한 충돌 체크 3가지 함수
void OnTriggerEnter(Collider other) : Trigger에 들어갔을 때
public class DeadTrap : MonoBehaviour
{
private void OnTriggerEnter(Collider other)
{
// 해당 트랩에 플레이어가 닿으면 함정 발동
if (!isActivated)
{
if (other.transform.tag != "Untagged" && other.transform.tag != "Trap")
{
StartCoroutine(theTrapDamage.ActivatedTrapCoroutine()); // 함정 발동 코루틴 실행
isActivated = true;
anim.SetTrigger("Activate");
theAudio.clip = sound_Activate;
theAudio.Play();
}
}
}
}
- 해당 트랩에 플레이어가 닿으면 함정이 발동 된다.
void OnTriggerStay(Collider other) : Trigger안에 있을때
public class Fire : MonoBehaviour
{
private void OnTriggerStay(Collider other)
{
// 해당 불에 플레이어가 닿고 있으면 지속 데미지
if (isFire && other.transform.tag == "Player")
{
if (currentDamageTime <= 0)
{
other.GetComponent<Burn>().StartBurning(); // 화상 효과
thePlayerStatus.DecreaseHP(damgae);
currentDamageTime = damageTime;
}
}
}
}
- 해당 불에 플레이어가 계속 닿아 있으면 지속적으로 데미지를 입는다.
void OnTriggerExit(Collider other) : Trigger를 벗어 날때
public class BoomTrap : MonoBehaviour
{
private void OnTriggerExit(Collider other)
{
// 해당 트랩에 플레이어가 닿은 뒤 빠져 나가면 지뢰가 터짐
if (!isActivated)
{
if (other.transform.tag != "Untagged" && other.transform.tag != "Trap")
{
StartCoroutine(theTrapDamage.ActivatedTrapCoroutine()); // 함정 발동 코루틴 실행
isActivated = true;
anim.SetTrigger("Activate");
theAudio.clip = sound_Activate;
theAudio.Play();
}
}
}
}
- 해당 지뢰에 플레이어가 닿은 뒤 빠져나가면 지뢰가 터진다.
참조 및 출처 :
'C#, 유니티 > 유니티엔진 기초' 카테고리의 다른 글
| [유니티] Rigidbody (0) | 2022.07.05 |
|---|---|
| [유니티] 선형 보간 Lerp (0) | 2022.07.05 |
| [유니티] 이벤트시스템(EventSystem) (0) | 2022.07.05 |
| [유니티] 정규화(normalized) (0) | 2022.07.05 |
| [유니티] Euler, Quaternion (0) | 2022.07.04 |
Comments