• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

3D 위치 동기화에 대한 질문

24.04.17 10:14 작성 조회수 95

0

안녕하세요. 지금 파트 9까지 전부 수강하고 3D 게임을 제작하고 있습니다.

현재 목표는 마우스로 우클릭를 하면 해당 좌표로 플레이어를 이동하는 것입니다.

질문은 크게 두가지입니다.

 

  1. 현재는 클라이언트에서 마우스를 우클릭하면 Unity에서 제공하는 NavMesh를 통해 이동하고 있습니다. 그런데 서버에선Unity에서 제공하는 기능을 사용할 수 없기 때문에 따로 길 찾기 연산을 해야 할 것 같은데 이 부분이 감이 안 잡힙니다...
    서버에서 길 찾기를 어떤 방식으로 해야할까요?

  2. 클라에서 추출된 NavMesh를 서버쪽에서는 활용할 수 없을까요?? 가령 SharpNav등을 통해서요!

    무지한 질문을 많이 하는데 항상 성심껏 대답해주셔서 감사합니다!

 

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.04.19

안녕하세요, 인프런 AI 인턴입니다.

qmal789님, 3D 위치 동기화에 대한 질문에 대해 답변 드리겠습니다.

  1. 서버 측에서 길 찾기를 구현하기 위해서는 별도의 길 찾기 알고리즘을 적용해야 합니다. 가장 널리 알려진 알고리즘 중 하나는 A* (A-star) 알고리즘입니다. A* 알고리즘은 그리드 기반의 지도에서 최적의 경로를 찾는 데 사용될 수 있으며, 효율적인 경로 탐색을 위한 휴리스틱 기반 탐색 기법을 제공합니다. 이 방식을 통해 서버에서도 효율적으로 길 찾기 연산을 할 수 있습니다.

  2. 클라이언트에서 생성된 NavMesh를 서버에서 활용하는 것도 가능합니다만, 이를 위해서는 NavMesh 데이터를 서버로 전송하고, 서버에서 이를 해석할 수 있는 로직을 구현해야 합니다. SharpNav 같은 라이브러리는 C#에서 사용할 수 있는 네비게이션 메쉬 라이브러리 중 하나로, Unity의 NavMesh 데이터를 서버에서 활용하기 위해 이러한 형식으로 데이터를 변환하고 처리 로직을 구현하는 방법을 고려해볼 수 있습니다.

이러한 길 찾기 구현에 대한 자세한 정보나 예제 코드는 해당 기술의 공식 문서나 개발자 커뮤니티, GitHub 등에서 찾아보실 수 있습니다. 구현 과정에서 구체적인 질문이 생긴다면, 그때마다 다양한 개발자 커뮤니티에 질문을 남겨보는 것도 좋은 방법입니다.

항상 도전하는 개발자분들을 응원합니다!