티스토리 뷰

반응형

주로 당구나 벽에서 튕기는 물체의 반사 벡터를 구할때 유용한 계산법이다.

 

    void OnCollisionEnter(Collision collision)
    {

        // 입사벡터를 알아본다. (충돌할때 충돌한 물체의 입사 벡터 노말값)
        Vector3 incomingVector = direct;
        incomingVector = incomingVector.normalized;
        // 충돌한 면의 법선 벡터를 구해낸다.
        Vector3 normalVector = collision.contacts[0].normal;
        // 법선 벡터와 입사벡터을 이용하여 반사벡터를 알아낸다.
        Vector3 reflectVector = Vector3.Reflect(incomingVector, normalVector); //반사각
        reflectVector = reflectVector.normalized;

    }

 

반사벡터로 나온 수치를 이용하여 처리하면 된다.

유니티의 피직스를 이용하면 간단하지만 물체의 움직임을 코딩으로 통제하고 있을경우

피직스와 별도로 계산을 통해서 이용해야 할 경우가 많은데 이경우 사용하면 편리하다.

반응형
댓글