콜리전(Collision)
충돌검출처리를 하는데 수학적인 계산을 함 ex) 플레이어가 벽을 뚫지못하고 길로 갈 수 있게
Collision에서는 Collider 또한 가져올 수 있음
콜라이더(Collider)
컴포넌트는 물리 충돌 처리를 위한 오브젝트의 형태
오브젝트 간의 충돌을 인식하고 처리하는 영역을 정의
트리거(Trigger)
충돌검출처리를 하는데 수학 계산 안함
오브젝트가 콜라이더 영역에 들어왔을 때 특정 이벤트를 발생
ex)
1. 자동문같이 판정은 하는데 지나갈 수 있게
2. 때리는건 트리거로 처리.. - 때리는 사람의 움직임때문에 맞는 사람의 움직임이 이상하게 될 수 있음


리지드바디(Rigidbody)
Rigidbody는 GameObject 가 물리 제어로 동작하게 함
물리 엔진을 통해 다른 오브젝트와 상호작용
콜라이더가 붙어있다고해서 되는게 아니라 콜리전이나 트리거는 무조건 리지바디가 필요함

OX 퀴즈
Q1 - 만약 소스코드는 볼에 들어있고 리지디바디는 블럭에 있다면 콜라이더는 반응을 할까?
Q2 - 부모가 리지드바디만 가지고 있고 자식한테 스크립트가 있다면 콜라이더가 반응을 할까?
Q3 - 트리거와 콜리전이 들어온다면 트리거만 들어올까?
정답
더보기
OXO
수업에서 했던 내용 정리
using UnityEngine;
public class CollisionExample : MonoBehaviour
{
//콜백은 아니고 오버로딩된 함수를 사용
private void OncollisonEnter(Collision _collison)//붙어있을 때
{//콜리전 클래스에 출될된 오브젝트의 이름이 들어옴
Debug.Log("OncollisonEnter: " + _collison.gameObject.name);
}
private void OnCollisionStay(Collision _collision)//붙어있을 때
{
Debug.Log("OnCollisionStay : " + _collision.gameObject.name);
}
private void OnCollisonExit(Collision _collision)//떨어졌을 때
{
Debug.Log("OnCollisonExit : " + _collision.gameObject.name);
}
private void OnTriggerEnter(Collider _collison)
{
Debug.Log("OnTriggerEnter : " + _collison.name);
}
private void OnTriggerStay(Collider _collider)
{
Debug.Log("OnTiggerSTay : " + _collider.name);
}
private void OnTriggerExit(Collider _collider)
{
Debug.Log("OntriggerExit : " + _collider.name);
}
}'유니티' 카테고리의 다른 글
| [유니티] Break out 게임 만들기 -1 (0) | 2025.04.10 |
|---|---|
| [유니티] 카메라 컴포넌트 (0) | 2025.04.09 |
| [유니티] Controller Example (0) | 2025.04.04 |
| [유니티] Transform 만들기-2 Vector Spaces (0) | 2025.04.03 |
| [유니티] Transform 만들기 -1 (0) | 2025.04.03 |