서버 3D 장면 모델링(6): RecastNavigation 소개

RecastNavigation


RecastNavigation은 매우 강력한 길찾기 시스템으로 각 게임 엔진에 광범위하게 응용된다.언리얼, 유니티 등.
github 웹 주소:https://github.com/recastnavigation/recastnavigation

체소와의 관계


앞에서 소개한 바와 같이 에서 체소의 개념을 사용하여 서버 측의 3D 장면을 실현했다.
RecastNavigation의 실현을 이해한 후, 비교해 보면 전자는 너무 간단하고 난폭하다!
RecastNavigation은 체소 개념을 바탕으로 한층 더 추출하여 최종적으로 NavMesh의 개념을 이용하여 3D 장면을 표현한다.
추출 과정은 다음과 같습니다.
3D  =>     =>    


RecastNavigation의 최종 출력이자 운영 기반 데이터는 다음과 같습니다. .
를 사용하여 3D 장면을 설명합니다.
게다가 A*길찾기 알고리즘은 3D 장면의 가달성을 보장한다.
NavMesh 중국어 이름: A*길 찾기 알고리즘은 네비게이션입니다.볼록 다각형은 메쉬입니다.
따라서 NavMesh = A* + Convex Polygon

RecastNavigation 의 내용


주로 2가지 종류가 있습니다.
  • Recast, 데이터 생성
  • Detour, 기반 A* 길 찾기 알고리즘
  • Recast에서 생성된 데이터를 세분화하면 다음과 같은 세 가지 유형이 있습니다.
  • Solo Mesh, 순수한 인접 돌출 다각형 집합
  • Tile Mesh, Tile 기반 N개의 인접 볼록 다각형 집합
  • Temp Obstacles, 동적 장애물 지원, tile 구분 기반 N개 인접 볼록 다각형 집합
  • 상기 3가지는 각각 적합한 장면이 있고 업무 수요에 따라 선택하거나 결합한다.

    RecastNavigation은 무엇을 할 수 있습니까?

  • 3D 장면을 표현할 수 있음
  • 정확한 부여 게임 대상(x, y,z)에 접근할 수 있는 속성
  • 3D 장면 표면 2개 점의 가달성을 판단할 수 있다
  • 3D 장면 지형을 동적으로 바꿀 수 있음
  • RecastNavigation 부족


    RecastNavigation의 모든 작업은 지표면을 기반으로 합니다.
    따라서 공중의 대상에 대한 상호작용은 그것으로는 완성할 수 없다.
    보통 이때 physx와 같은 다른 엔진을 결합시킨다.
    다음은 저자의 원어를 참조합니다.
    Recast raycast checks “walkability” along the navmesh. You will need a starting point on the navmesh for that. To raycast against level geometry, you should use some other system, i.e. physics or roll your own.

    RecastNavigation 사용 예


    본인의 RecastNavigation 패키지 라이브러리:
    github 주소:https://github.com/fananchong/NavMeshScene
    오류와 부족을 바로잡는 것을 환영합니다

    좋은 웹페이지 즐겨찾기