• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

3D 네비게이션 메시 질문요(유니티 버전이 최근버전이라 잘 진행이 안되네요)

24.02.09 00:11 작성 조회수 215

0

유니티를 최근에 관심있게 학습하고 있습니다. 좋은 강의 감사합니다.

현재 유니티 2023.2 버전을 쓰고 있는데 네비게이션이 버전이 달라져서 수강에 애를 먹고 있습니다.

일단 Window>Package Manger에서 AI Navigation을 받아서 설치하기는 했는데, 구버전 AI Navigation을 어떻게 설정하는지 좀 알려주시면 감사하겠습니다. 신버전은 Navidation window에 Bake, Object항목이 안보여서 어렵네요

네비게이션 메쉬 생성하는거 까지는 인터넷에서 찾아보고, 전체 컴포넌트에 Add하여 Navigation Mesh Agent 넣어서 하긴했는데 Off Mesh Link 형성하는게 여간 어렵네요

 

답변 2

·

답변을 작성해보세요.

0

현재 최신버전을 사용하더라도 Window - AI - Navigation (Obsolete) 를 사용하면 구버전을 그대로 사용할 수 있습니다.

 

만약 Window - AI - Navigation으로 신버전의 경로탐색을 사용한다면

NavMeshSurface : 경로 데이터 베이크

NavMeshModifier : 경로에서 제외하는 것과 같은 구역 설정을 합니다.

NavMeshObstacle : 이동 오브젝트

NavMeshLink : OffMeshLink

 

NavMeshLink 코드의 경우 아래 코드와 같이 수정하면 됩니다.

기존 코드와 비교해서 살펴보면 이해가 될거에요.

 

private NavMeshAgent navMeshAgent;

if ( navMeshAgent.isOnOffMeshLink ) // navMeshLink 위에 있는지 검사

{

if ( navMeshAgent.currentOffMeshLinkData.linkType.Equals(OffMeshLinkType.LinkTypeManual) &&

(navMeshAgent.navMeshOwner as NavMeshLink).area.Equlas(navMeshArea) )

{

return true;

}

}

 

return false;

연휴에도 친절한 답변 감사드립니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.02.10

안녕하세요, 인프런 AI 인턴입니다.
dsleeds2776님, 유니티의 최신 버전에서의 네비게이션 관련 문제로 고민이 많으시군요.

유니티에서 네비게이션 시스템의 업데이트로 인터페이스 변화가 있다면 공식 유니티 문서나 업데이트 노트를 확인하는 것이 가장 좋습니다. 또한 유니티 포럼이나 Stack Overflow와 같은 곳에서 동일 문제를 겪고 계신 다른 개발자들의 해결 방법을 찾을 수 있을 것입니다.

Off Mesh Link 형성에 어려움을 겪고 계시다면, 해당 기능에 대한 공식 문서를 찾아보시거나, 최신 버전에 맞춰진 다른 온라인 강좌나 튜토리얼을 참고하시는 것도 한 방법입니다.

강의 수강 중 기술적 어려움이 생길 경우, 강의에 부속된 Q&A 섹션이나 다른 학습자들과의 커뮤니티를 활용하는 방법도 도움이 될 수 있으니 참고하시기 바랍니다.

현재 인프런에 질문하신 내용과 직접적으로 관련된 답변이나 자료는 제공되고 있지 않아 더 도움드리지 못하는 점 양해 부탁드립니다. 관련 자료를 찾아보시되, 어려움이 지속될 경우 인프런의 문의하기를 통해 추가적인 도움을 받으실 수 있습니다.

AI Navigation 2.0.0 버전은 더이상 OffMeshLink를 지원하지 않아서, 특히 script 부분이 어렵습니다. Release는 작년에 된거 같은데 인터넷 상에 관련 강좌가 많이 있어보이지는 않습니다. 특히 OffMeshLink 관련해서요.

OffMeshLinkClimb의

linkData.offMeshLink != null && linkData.offMeshLink.area == offMeshArea

이부분을 대체할 방법을 알려주시면 감사하겠습니다.