Collider4 [유니티/Unity] Physics2D.OverlapCircle 중앙 정렬 `Physics2D.OverlapCircle` 로 적을 탐지하려고 하는데 플레이어의 중앙과 맞지 않다. 이유는 `Pivot`이 아니라 `Center`로 잡혀있기 때문에 플레이어의 `Center`를 기준으로 다시 잡아주어야 한다. // 플레이어의 중앙을 계산 Vector2 playerCenter = playerCollider.bounds.center; // 중앙을 기준으로 적 감지 Collider2D enemy = Physics2D.OverlapCircle(playerCenter, attackRadius, enemyLayer);Collder 아무거나 플레이어에 넣어주고 그 경계의 중앙으로 잡아주면 된다. 짜자잔~ Unity 공부 기록 2024. 9. 6. 2024.05.24 TIL - Ray, Raycast, IsGrounded, 땅 충돌 체크 isGrounded 땅 충돌 체크하기 - Ray, Raycast bool IsGrounded() { Ray[] rays = new Ray[4] { new Ray(transform.position + (transform.forward * 0.2f) + (transform.up * 0.01f), Vector3.down), new Ray(transform.position + (-transform.forward * 0.2f) + (transform.up * 0.01f), Vector3.down), new Ray(transform.position + (transform.right * 0.2f) + (transform.u.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 5. 24. [Unity] 밑에서 위로 올라가는 물체의 중력 - Rigidbody, Dynamic, Kinematic 차이 밑에서 위로 올라가는 물체의 중력강아지가 고양이에게 밥을 먹이는 게임인데요문제는 밥에 Rigidbody를 적용했는데, 밑에서 위로 올라가면서 중력의 영향때문에 밑으로 떨어지는 현상이 일어납니다.밥이 위로 계속 발사되게 하려면, Rigidbody의 속성을 건드려야 합니다. Rigidbody 에서 Body Type을 Dynamic이 아닌 Kinematic으로 바꾸면 해결됩니다.Kinematic으로 바꾸면 더이상 중력의 영향을 받지 않게 됩니다. 주의할 점!Kinematic으로 바꾸면 OnCollisionEnter 로직도 동작하지 않게 됩니다. 물리 영향을 안받기 때문입니다.그래서 Collider에 있는 is Trigger 옵션을 켜서 OnTriggerEnter 함수를 사용하시면 됩니다. private .. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 4. 3. [Unity/2D] 중력, 충돌을 이용하여 빗방울 구현하기 - Rigidbody, Collider, OnCollisionEnter, Destroy 이전편 2024.03.28 - [Unity/2D] - [Unity/2D] 마우스 왼쪽 버튼이 눌러졌을 때 캐릭터 방향 전환하기 - Mouse Input 중력 컴포넌트 추가 - Rigidbody 플레이 버튼을 누르면 빗방울이 떨어지고 있지 않는데요. 중력이 없어서 그렇습니다. Rigidbody 컴포넌트를 추가해주면 중력이 적용됩니다. 여기서 Rigidbody는 3D에서, Rigidbody 2D는 2D에서 선택해주시면 됩니다. 충돌 컴포넌트 추가 - Collider 중력은 적용했지만 바닥을 뚫고 한 없이 밑으로 떨어질 것입니다. 그러면 바닥과 충돌하는지 알 수 있어야겠죠? 그래서 빗방울 오브젝트에 Circle Collider 컴포넌트를 추가합니다. 바닥 오브젝트에는 Box Collider 컴포넌트를 추가합니.. 스파르타 게임개발종합반(Unity)/사전캠프 공부 기록 2024. 3. 28. 이전 1 다음 반응형