이런저런 방법들을 다 써봤지만 RigidBody가 붙어있는 두 Object의 물리적 영향을 막을 수 있는 방법을 아직은 몰라서그냥 이동만 구현하는 Paddle 쪽에 RigidBody2D를 빼고, 기존에 Velocity로 이동을 구현했던 부분을 tarnsform의 position을 변경해 주는 식으로 구현을 했다.

이렇게 해도 한 가지 문제가 아직 남아 있는데, Ball이 Paddle 끝 쪽에 충돌이 됐을 때 MouseCursor 방향으로 Vector2가 생성이 되는데 이렇게 되면 Ball이 Paddle에 끌리듯이 이동하다가 나가는 현상이 있었다.
그래서 Ball의 Position이 Paddle의 모서리에 닿는 y 값을 찾아서 그때는 Vector2로 가는 게 아니라 Collider 충돌만 받게 해 가지고 기존에 사용하던 RigidBody의 Material에 의한 계산이 들어가게끔 했었는데, 조원 분이 해결해 주신 방법이 더 좋은 것 같아서 그걸 적용했다.
Paddle을 부모 Object로 두고 모서리 부분을 제외한 네모 영역에 BoxCollider를 넣어준다.
그리고 자식 Object에 CapsuleCollider를 넣어서 모서리 부분을 포함시켜주고, Layer를 부모 Object인 Paddle과 다르게 적용시켜준다.
그리고 Ball에 RayCast를 사용해서 자식 Object의 Layer가 감지되면 그때는 Collider 충돌만 일어나게끔 해주는 방식이다.
Position의 y 값으로 하는 것보다 RayCast를 이용하는 게 더 정확하게 감지하는 것 같다.
'내배켐 Unity TIL' 카테고리의 다른 글
Unity 29일차 TIL - Unity 팀 프로젝트 6 마무리 (0) | 2024.05.24 |
---|---|
Unity 28일차 TIL - Unity 팀 프로젝트 5 (RigidBody Material(Bounce)) (0) | 2024.05.24 |
Unity 26일차 TIL - Unity 팀 프로젝트 3 (RigidBody 2D) (0) | 2024.05.20 |
Unity 25일차 TIL - Unity 팀 프로젝트 2 (GetComponent<>) (0) | 2024.05.20 |
Unity 24일차 TIL - Unity 팀 프로젝트 1 (마우스 Position) (0) | 2024.05.16 |