유니티 3D 프로젝트 6 (물리 충돌 이벤트)

박준식·2022년 7월 19일
0

Unity3D

목록 보기
6/7

<충돌 이벤트>

MeshRenderer mesh;
Material mat;
void Start() {
	mesh = GetComponent<MeshRenderer>();
    mat = mesh.material;    
}
private void OnCollisionEnter(Collision collision) {
	if(collision.gameObject.name == "") {
		mat.color = new Color(0,0,0);
    }
} // 충돌 시
private void OnCollisionStay(Collision collision) {
	...
} // 충돌 중
private void OnCollisionExit(Collision collision) {
	...
} // 충돌 후

<트리거 이벤트>

Rigidbody rigid;
void Start(){
	rigid = GetComponet<Rigidbody>();
}
private void OnTriggerEnter(Collider other){
    ...
}
private void OnTriggerStay(Collider other){
	if(other.name == "") {
		rigid.AddForce(Vector3.up, ForceMode.Impulse);
        ...
    }
}
private void OnTriggerExit(Collider other){
    ...
}
// 물리적 충돌이 아님
// collider가 겹친지 아닌지만 판단함 -> 충돌 정보 없음

0개의 댓글