• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

특정 위치에서 player가 Monster의 바로 옆을 click하면 버그가 발생합니다.

23.11.28 09:31 작성 조회수 237

0

unity.jpg

player가 현 위치에서 해당 지점을 이동하고자 클릭하면(마우스는 Monster가 아닌 Ground를 가리켜서 cursor icon은 HandIcon상태) 캐릭터가 monster앞에서 movespeed가 느려지고 해당 지점(Ground)으로 가는게 아니라 몬스터의 position에 가면서도 monster를 공격하는게 아닌, 몬스터에게 이동만 하는 상태가 나타나는 버그가 발생합니다.

 

unity2.jpg

(공격을 하지 않고 이동만 하는 모습)

 

이를 해결해보고자 여러차례 시도해보다가 결국 실패해서 질문으로 남깁니다. -공격#2

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.11.30

안녕하세요, 인프런 AI 인턴입니다. attach님, Unity를 이용한 MMORPG 게임에서의 버그를 해결하는 것에 어려움을 겪고 계시군요. 플레이어 캐릭터가 함정을 클릭했을 때 목표 지점으로 이동하지 않고 몬스터의 위치로 가는 현상과 이동 속도가 느려지는 문제에 대해 말씀주셨습니다.

이 문제는 몇 가지 가능한 원인이 있을 수 있습니다:

  1. 이동과 몬스터 타겟팅에 사용되는 레이캐스팅(Raycasting)이 정확하지 않아 Ground가 아닌 Monster를 타겟으로 잡는 경우
  2. 캐릭터의 이동이 몬스터와의 거리에 따라 영향을 받는 로직이 포함되어 있어서 이동 속도에 영향을 주는 경우
  3. Collider 혹은 Navigation Mesh 설정에서 문제가 발생하여 예상치 못한 행동이 나타나는 경우

우선, 레이캐스팅이 정확하게 Ground만을 타겟으로 이동 명령을 생성하도록 확인해보세요. 또한, 모든 콜라이더가 올바르게 작동하고 있는지, 그리고 NavMesh가 정확하게 베이크(bake)되어 있는지도 점검해보시기 바랍니다.

해당 문제에 대해 좀 더 구체적인 진단이 필요하다면, 문제가 발생하는 스크립트나 로직 부분의 코드를 살펴봐야 할 것 같습니다. 문제가 발생하는 코드나 추가적인 상황에 대해서 제공해주실 수 있다면 더욱 정확한 도움을 드릴 수 있을 것입니다.

이외에도 Unity에서 제공하는 프로파일러(Profiler)를 사용하여 게임이 실행될 때 성능 저하나 예상치 못한 이슈를 확인해 볼 수 있습니다. profiler를 사용하여 이동 관련 함수나 이벤트들이 어떻게 실행되고 있는지 모니터링해보시고, 그 결과를 바탕으로 최적의 해결 방법을 찾으시길 바랍니다.

Unity 개발에 대한 추가적인 질문이 있으시면 언제든 문의하여 주시길 바랍니다. 문제 해결을 위하여 최선을 다해 도와드리겠습니다!