반응형

Rigidbody2D 3

유니티 부모 오브젝트, 자식 오브젝트 레이어 셋팅과 Rigidbody 2D 유뮤에 따른 상호작용

유니티 부모 오브젝트, 자식 오브젝트 레이어 셋팅과 Rigidbody 2D 유무에 따른 상호작용  부모 오브젝트의 레이어는 parent자식 오브젝트의 레이어는 child벽 오브젝트의 레이어는 wall으로 셋팅해놓고 부모 오브젝트에는 Box Collider 2D, Rigidbody 2D 둘 다 있고자식 오브젝트에는 Box Collider 2D만 있고벽 오브젝트에는 Box Collider 2D, Rigidbody 2D 둘 다 있는 상황에서 Project Settings > Physics 2D > Layer Collision Matrix 셋팅을 child 레이어와, wall 레이어를 서로 감지하게 체크를 한 상태에서는 벽 오브젝트가 parent 레이어인 부모 오브젝트는 감지를 하지 않지만, child 레이어인..

Unity 2024.03.14

유니티 Rigidbody2D Collision Detection 옵션: 총알처럼 빨리 움직이는 물체 충돌 감지를 위한 셋팅

유니티 Rigidbody2D Collision Detection 옵션: 총알처럼 빨리 움직이는 물체 충돌 감지를 위한 셋팅  유니티에서 Rigidbody2D 컴포넌트를 사용할 때 Collision Detection 옵션은 두 가지 주요 모드를 제공합니다. Discrete 와 Continuous 이 옵션은 Rigidbody가 다른 오브젝트와 충돌을 감지하는 방식을 결정합니다. 2D 게임 개발 시 충돌 처리 방식을 올바르게 선택하는 것은 게임의 물리적 상호작용을 정확하고 신뢰할 수 있게 만드는 데 중요합니다.   Discrete Collision Detection- 정의: Discrete 충돌 감지는 가장 기본적이고 성능이 가장 좋은 충돌 감지 방식입니다. 이 모드에서는 매 프레임마다 오브젝트의 위치를 체크..

Unity 2024.03.14

Rigidbody2D의 velocity를 Vector2.zero로 했음에도 불구하고 zero가 안 먹히는 현상

Rigidbody2D의 velocity를 Vector2.zero로 했음에도 불구하고 zero가 안 먹히는 현상  움직이고 있던 공을 갑작스럽게 멈추기 위해,스크립트로 velocity를 Vector2.zero를 대입했음에도 먹히지를 않는다.  원인은, 코드로 저렇게 했음에도 불구하고 유니티 물리시스템이 FixedUpdate 되기 전까지 한 번 더 작용을 해버려서 그렇다. 그래서 해결을 하려면 어쨌든 FixedUpdated를 거쳐야 할 것 같다는 판단이다. 함수 안에서 .velocity = Vector2.zero 를 바로 하는 대신에 boolean 변수를 이용해봤다. 그리고 0.2f초 후에 원상복귀. 0.1f초로 테스트를 해보니, 될 때도 있고 안 될 때도 있어서 .2f초로 적용을 시켰다. 이 방법 말고 더..

Unity 2024.02.21
반응형