• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

플레이어 몬스터 접근시 넘어지면서 걷는 버그

22.11.21 16:20 작성 조회수 217

0

플레이어 컴포넌트에는 박스 콜라이더, 내브 메쉬에이전트가 적용되어 있고 몬스터에는 박스콜라이더가 접근 되어있습니다. is kinematic체크를 해서 충돌해제를 하더라도 기울어지면서 결국 넘어지고 걷는 행동을 하는데요 혹시 이런 경우 해결하신 분 계신가요?

마우스를 계속 클릭하고 있을 때에는 몬스터를 뚫고 넘어갑니다.

몬스터에 마우스를 클릭했을 때 매우 근접해졌을 때 몬스터 콜라이더에 의해서 넘어지는 것 같습니다. 콜라이더 제거시 넘어지지 않습니다. (클릭한 자리로 이동하려고 애씀.)

답변 2

·

답변을 작성해보세요.

1

노른자님의 프로필

노른자

2023.04.24

OnMouseClick() 의 아래부분 때문입니다.

_targetPoint = hit.point에서 hit.point의 백터값이 Ground 가 아닌 Monster의 백터값이기 때문에 백터의 Y값이 0이 아니여서 이동방향이 위로 향하게 되며 발생하는 버그입니다.

_targetPoint = hit.point 에서 hit.point의 Y값을 0으로 고정시켜주면 해결됩니다.

if (Physics.Raycast(ray, out hit, 100f, _mask))
    {
      _targetPoint = hit.point;

      if (hit.collider.gameObject.layer == (int)Define.Layer.Monster)
      {
        Debug.Log("Monster Clicked");
      }
      else
      {
        Debug.Log("Ground Clicked");
      }
    }

0

명탐정우샷미님의 프로필

명탐정우샷미

2022.11.22

저는 키보드 움직임 연결 해제하니 증상이 사라졌어요.