Ball 을 Block에 붇딪혀 Collision시 간혹 통과하는 문제가 발생
private void OnCollisionEnter2D(Collision2D collision) { ... this.Direction = Vector3.Reflect(this.Direction, collision.contacts[0].normal); } private void FixedUpdate() { //MyBall Velocity this.RigiBody.velocity = this.Direction * this.Speed; }
위와 같이 한경우 간혹 Ball이 block을 통과하는 문제 발생.
아래와 같이 Dynamic으로 변경 후 문제 해결 (참고로, Kinematic은 물리 engine을 직접 구현하는 방식)
![](https://i1.wp.com/scanhand.cafe24.com/wp-content/uploads/2021/08/RigidBody2D.png?w=945)
추가로 반복적으로 일시적으로 흔들리는 듯한 증상이 발생
Debugging 결과 동일한 Block의 Collision이 발생 됨. 아래 Code와 같이 동일 Instance인 경우 무시하도록 수정
private void OnCollisionEnter2D(Collision2D collision) { if (this.LastCollisionInstanceId == collision.gameObject.GetInstanceID()) return; this.LastCollisionInstanceId = collision.gameObject.GetInstanceID(); }