강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

junpil6189554 のプロフィール画像
junpil6189554

投稿した質問数

[C#とUnityで作るMMORPGゲーム開発シリーズ] Part3: Unityエンジン

ステータス

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

作成

·

432

0

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

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

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

unityC#

回答 2

1

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

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

junpil6189554 のプロフィール画像
junpil6189554

投稿した質問数

質問する