이 게시글의 업데이트 버전입니다.
Unity로 게임을 만들면서 물리 충돌이 되지 않아 몇분 몇시간 허우적 거리셨다면 이 포스트에 해결 방안들을
전부 정리해 보도록 하겠습니다.
( 이 포스트에 있는 해결방법으로 해결이 되지 않는 문제가 있다면 댓글로 작성해주세요 ! )
1. 오타 확인
로직에 적혀있는 태그나 이름이 실제 오브젝트에 적용된 것 같은지등등..
오타 확인을 먼저 해주세요 !
2. 로직 안에 Trigger,Collider
한쪽의 Collider에 Trigger가 켜져 있다면 OnTrigger
양쪽 모두 Trigger가 켜져 있지 않다면 OnCollider
상황에 맞게 잘 작성해주었는지 확인 합니다.
3. Rigidbody의 Kinematic
Kinematic은 외부에서 가해지는 물리적 힘에 반응하지 않는 다는 의미기 때문에
어느 쪽에 Rigidbody든 이 Kinematic을 Dynamic으로 바꿔줘 보세요.
4.ProjectSetting -> Physics를 확인.
레이어 이름들이 적혀 있는데 이곳에 체크가 해제되어있다면 해당 레이어와 충돌을 하지 않겠다는 의미이기때문에
레이어 이름 확인 해주시고 체크가 해제되어있는지 체크해주세요.
5. Bullet Through Paper 현상
물체의 가속도가 너무 빨라서 게임 엔진에서 이를 감지하지 못하는 현상입니다.
RigidBody의 CollisionDetection을
Continuous로 바꿔주면 CPU에 무리가 가지만 감지를 더 자주 하기때문에 감지 할 수 있습니다.
외에 물체의 가속도를 조절 하거나
이외에 콜라이더를 좀 더 두껍게 해보는것도 방법이 될 수 도 있습니다.
3. Simulated
위의 리지드바디 컴포넌트 처럼 Simulated가 선택되어 있는지 확인해주세요.
이 Simulated가 체크 해제 되어있다면 런타임에 물리 시뮬레이션 상호작용을 하지 않습니다.
여기까지 몇 주 동안 서치로 제가 찾아낸 물리 문제들을 정리 해 보았는데,
도움이 되셨으면 좋겠습니다.
혹시 안되시는 사항이 있다면 최대한 바로 답글을 달아드리니 댓글 편하게 달아주세요~~!!
'🧩 코딩 > 코드 메모' 카테고리의 다른 글
선형 보간 / Lerp로 부드럽게 움직이기 (MoveTowards,Lerp, SmoothDamp 비교 ) (0) | 2022.11.29 |
---|---|
Unity Time.timeScale로 게임 내 시간 조절하기 🤸🏻♀️ (0) | 2022.10.30 |
Unity2D 물리 충돌이 되지 않을때(Trigger,Collider충돌) (2) | 2022.10.11 |
Unity 오류 CS0642: Possible mistaken empty statement (0) | 2022.09.27 |
UNITY 기초 플레이어 움직임 ( 점프(더블점프),회피 ) 애니메이터 (4) | 2022.09.12 |