Unity
Unity : 충돌 후 이동방향이 삐딱할 때
Sorting
2020. 12. 13. 21:16
반응형
취미 겸 유니티 프로젝트를 시작했는데
너무도 친절한 엔진이 낯설기만 하다.
충돌 후 목적지까지 이동 시에는 게걸음으로 이동하고,
목적지까지 도달한 후에는 캐릭터가 계속 뱅글뱅글 도는 문제가 있었다.
확인해보니 오브젝트가 충돌한 뒤, rigidbody 의 Angular Velocity 가 초기화되지 않고
계속 슬라이딩 벡터 계산 시의 값으로 남아있는 것을 발견했다.
충돌이 끝났을 때, 위 값을 다시 초기화 해줘야 했다.
충돌이 끝나는 시점은
void OnCollisionExit(Collision collision)
위 콜백함수로 알 수 있었다.
다음과 같이 OnCollisionExit() 콜백함수를 구현하니 정상적으로 동작하는것을 확인할 수 있었다.
private void OnCollisionExit(Collision collision)
{
rigidbody_.angularVelocity = Vector3.zero;
}
이렇게 구현하는 게 맞나..?
반응형