본문 바로가기

Unity

유니티 물리 충돌 이벤트

오브젝트 재질 접근은 MeshRenderer를 통해서 함

 

CollisionEnter : 물리적 충돌이 시작할 때 호출되는 함수

CollisionStay : 물리적 충돌이 발생하는 중일 때 호출되는 함수

CollisionExit : 물리적 충돌이 끝났을 때 호출되는 함수

> Collision : 충돌 정보 클래스

 

* Collision과 Trigger의 차이

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=lovelybarry&logNo=220844960463 

 

Color : 기본 색상 클래스

Color32 : 255 색상 클래스

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class OtherBall : MonoBehaviour
{
    MeshRenderer mesh;
    Material mat;

    void Start()
    {
        mesh = GetComponent<MeshRenderer>();
        mat = mesh.material;
    }

    private void OnCollisionEnter(Collision collision)
    {
        if(collision.gameObject.name == "Sphere")
            mat.color = new Color(0, 0, 0);

    }

    /*private void OnCollisionStay(Collision collision)
    {
        
    }*/

    private void OnCollisionExit(Collision collision)
    {
        if (collision.gameObject.name == "Sphere")
            mat.color = new Color(1, 1, 1);

    }
}