본문 바로가기
3Dsoftware/Unity 3D

Unity Boxcast의 Size가 1 이상일때 충돌 판정이 잘 안되는 이유?

by D.보니 2023. 6. 14.

Raycast Box형태로 쏴서 감지하는 방법.

Physics.BoxCast(transform.position, transform.lossyScale / 2, transform.forward, out hitInfo, transform.rotation, range)

(레이저를 발사할 위치, 사각형의 좌표의 절판 크기, 발사 방향, 충돌 결과, 회전 각도, 최대 거리)

 

transform.lossyScale는 부모 오브젝트의 절반에 해당하는 크기이다.

Vector3 boxSize = new Vector3(0.5f, 0.5f,0.5f);

transform.lossyScale 대신에 Boxsize를 사용 할 수 있다.

 

주의점

transform.lossyScale/1f 또는 transform.lossyScale*2 또는 Boxsize(1f,1f,1f) 또는 Boxsize(2f,2f,2f) 인 경우 되려 박스 크기는 커졌지만, 충돌 판정은 잘 되지 않는다.  그 이유는? 충돌 볼륨의 크기가 너무 크면 충돌체와 겹치는 부분이 더 많아 이로 인해 볼륨간의 간섭이 정확히 계산되지 않을 수 있다.

따라서 Box의 크기를 1 이하로 설정하는 것이 좋다.

 


도움이 되셨다면 아래 링크는 WONILMAX에서 개발한 3D 스토리 RPG 게임🎮입니다. 오픈 월드에서 펼쳐지는 흥미진진한 모험을 지금 경험하세요!🐰💙

https://play.google.com/store/apps/details?id=com.wonilmax.daisia 

 

데이지아 - Google Play 앱

3D 오픈월드 스토리 RPG

play.google.com