Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

내비게이션 보이기

../../_images/nav_maps.png

NavigationMap은 NavigationServer :ref:`RID<class_RID>`로 식별되는 NavigationServer의 추상 탐색 세계입니다.

지도는 탐색 메시를 사용하여 거의 무한한 수의 탐색 영역을 보유하고 연결하여 길 찾기를 위한 게임 세계의 횡단 가능한 영역을 구축할 수 있습니다.

지도에는 회피 에이전트가 포함될 수 있습니다. 충돌 회피는 지도에 있는 에이전트를 기반으로 계산됩니다.

참고

서로 다른 NavigationMap은 서로 완전히 격리되어 있지만 내비게이션 영역과 회피 에이전트는 서로 다른 지도 간에 전환할 수 있습니다. NavigationServer 동기화 시 스위치가 적용됩니다.

내비게이션 생성 (-navmesh)

기본적으로 Godot는 루트 뷰포트의 각 World2D 및 :ref:`World3D<class_World3D>`에 대한 탐색 맵을 생성합니다.

2D 기본 내비게이션 지도 RID는 노드를 상속하는 모든 :ref:`Node2D<class_Node2D>`에서 ``get_world_2d().get_navigation_map()``를 사용하여 얻을 수 있습니다.

3D 기본 내비게이션 지도 RID는 노드를 상속하는 모든 :ref:`Node3D<class_Node3D>`에서 ``get_world_3d().get_navigation_map()``를 사용하여 얻을 수 있습니다.

extends Node2D

func _ready() -> void:
    var default_navigation_map_rid: RID = get_world_2d().get_navigation_map()

내비게이션 생성 (-navmesh)

NavigationServer는 특정 게임플레이에 필요한 만큼 많은 탐색 맵을 생성하고 지원할 수 있습니다. 추가 탐색 지도는 NavigationServer API를 직접 사용하여 생성 및 처리됩니다. 다양한 회피 에이전트 또는 배우 이동 유형을 지원합니다.

다양한 내비게이션 지도의 사용 예는 상속된 맞춤 타입을 지원하지 않습니다. 및 :ref:`doc_navigation_different_actor_locomotion`를 참조하세요.

각 내비게이션 지도는 대기 중인 변경 사항을 내비게이션 영역 및 회피 에이전트에 개별적으로 동기화합니다. 변경 사항을 수신하지 않은 내비게이션 지도는 처리 시간을 거의 또는 전혀 소비하지 않습니다. 내비게이션 지역 및 회피 에이전트는 단일 내비게이션 지도의 일부일 수 있지만 언제든지 지도를 전환할 수 있습니다.

참고

내비게이션 지도 스위치는 다음 NavigationServer 동기화 후에만 적용됩니다.

extends Node2D

func _ready() -> void:
    var new_navigation_map: RID = NavigationServer2D.map_create()
    NavigationServer2D.map_set_active(new_navigation_map, true)

참고

NavigationServer2D API 또는 NavigationServer3D API로 생성된 내비게이션 맵 간에는 차이가 없습니다.