물리충돌 이벤트

phoenixKim·2021년 3월 3일
0

골드메탈_입문

목록 보기
6/8

//출처는 골드메탈님 강의입니다!

  • OnCollisionEnter(Collision col)
  • OnCollision(Collision col)
  • OnCollisionExit(Collision col)

충돌되었을때 색 변경시키는 클래스

MeshRenderer mesh;
    Material mat;

    // Start is called before the first frame update
    void Start()
    {
        mesh = GetComponent<MeshRenderer>();
        mat = mesh.material;
    }
    
    //CollisionEnter : 물리적 충돌이 시작할 때 호출되는 함수.
    void OnCollisionEnter(Collision collision)
    {
        if(collision.gameObject.name == "MyBall")
            mat.color = new Color(0, 0, 0);
    }

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

Trigger를 이용해 큐브 올리기

//물리적인 충돌이 아니기 때문에 충돌 정보가 없다.
//그래서 매개 변수는 collider로 선언되어있다.
private void OnTriggerStay(Collider other)
{
if (other.gameObject.name == "Cube")
rigid.AddForce(Vector3.up * 3, ForceMode.Impulse);
}

  • Cube를 투명하게 만들어서 투명한 공간안에 들어가면 솟아오르게 만들었다.
    => fps게임에서 특정 공간 들어가면 붕~ 뜨게 만드는 동작을 구현 가능하다.

이때는 알파값은 낮춤으로써 투명하게 만들 수 있다.

profile
🔥🔥🔥

0개의 댓글

관련 채용 정보