유니티:충돌 이벤트
- 유니티:개요
- 유니티:기본 조작
- 유니티:카메라
- 유니티:오브젝트
- 유니티:코딩기초
- 유니티:UI
- 유니티:게임 내 화면
- 유니티:플레이어
- 유니티:맵
- 유니티:씬
- 유니티:몬스터
- 유니티:아이템
- 유니티:음향
- 유니티:빌드
- 유니티:VR
- 유니티:팁
충돌 이벤트
스크립트를 만든 후,
MeshRenderer mesh; //오브젝트의 재질에 접근.
Material mat;
void Start() {
mash = GetComponent<MeshRenderer>();
mat.mesh.material //필요한 속성을 가져온다.
}
private void OnCollisionEnter(Collision collision) //Collision =충돌 정보 클래스. 콜리더를 매개변수로 받아온다.
{
if(collision.gameObject.name=="My Ball"){ //어떤 오브젝트와 충돌할 것인가??
mat.color=new Color(1,1,1); //충돌이 일어나면 색을 바꾼다.
}
}
On만 입력해도 다양한 함수의 선택지가 나온다.
충돌관련함수 | 설명 |
---|---|
OnCollisionEnter | 충돌이 일어날 때 |
OnCollisionStay | 충돌중 |
OnCollisionExit | 충돌이 끝났을 때 |
Collision 충돌 정보 클래스.
전염병 전파 시뮬레이션을 만드는 데에도 좋겠다.
공간
물리적 물체처럼 반응하진 않지만, 내부에 들어오면 반응한다.
Collider 컴포넌트 안에서 is Treeger를 체크한다.
void FixedUpdate() {
OnTriggerStay(Collider other)
{
if(other.name=="Cube")
rigid.AddForce(1,2,3, ForceMode) //내부에 들어오면 일정한 힘을 받게끔.
온콜리더 함수와 동일한 형태이다. Enter, Stay, Exit가 있다.