-
유니티를 이용한 반사 벡터 구하기오라버니의 공간 2015. 10. 19. 15:53반응형
주로 당구나 벽에서 튕기는 물체의 반사 벡터를 구할때 유용한 계산법이다.
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;}
반사벡터로 나온 수치를 이용하여 처리하면 된다.
유니티의 피직스를 이용하면 간단하지만 물체의 움직임을 코딩으로 통제하고 있을경우
피직스와 별도로 계산을 통해서 이용해야 할 경우가 많은데 이경우 사용하면 편리하다.
반응형'오라버니의 공간' 카테고리의 다른 글
EOS M(EFM)용 스피드 부스터(포컬리듀서) 반년 사용기 (2) 2015.11.17 유니티에서 멀티스레드 사용하기 (1) 2015.11.09 EOS M1 M2 M3 사용기 (8) 2015.10.19 각종 좌표 및 3D 좌표 정리 (0) 2015.10.13 알리 익스프레스 구매시 이용팁! (0) 2015.08.23