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.

내비게이션 메시.

한 가장자리의 두 개 이상의 정점 위치가 정확히 겹치는 경우 NavigationServer에 의해 다양한 NavigationMesh가 자동으로 병합됩니다.

임의의 거리에 걸쳐 연결하려면 :ref:`doc_navigation_using_navigationlinks`를 참조하세요.

../../_images/navigation_vertex_merge.png

여러 NavigationPolygon 리소스의 경우에도 마찬가지입니다. 윤곽선 지점이 정확히 겹치는 한 NavigationServer는 이를 병합합니다. NavigationPolygon 윤곽선은 연결하려면 다른 NavigationPolygon 리소스에서 가져와야 합니다.

동일한 NavigationPolygon에서 윤곽선이 겹치거나 교차하면 탐색 메시 생성이 실패합니다. 다른 NavigationPolygons의 윤곽선이 겹치거나 교차하면 NavigationServer에서 탐색 영역 가장자리 연결을 만드는 데 실패하는 경우가 많으므로 피해야 합니다.

../../_images/navigation_vertex_merge2.png

경고

정확하게 정점 위치 병합을 의미합니다. 임포트된 메시에서 매우 정기적으로 발생하는 작은 부동 오류는 성공적인 정점 병합을 방해합니다.

또는 탐색 메시는 병합되지 않지만 가장자리가 거의 평행하고 서로 거리 내에 있을 때 NavigationServer에 의해 연결된 것으로 간주됩니다. 연결 거리는 각 내비게이션 지도의 ``edge_connection_margin``로 정의됩니다. 많은 경우 내비게이션 메시 가장자리가 부분적으로 겹칠 때 제대로 연결되지 않습니다. 일관된 병합 동작을 위해 항상 탐색 메시가 겹치는 것을 피하는 것이 좋습니다.

../../_images/navigation_edge_connection.png

탐색 디버그가 활성화되고 NavigationServer가 활성화된 경우 설정된 탐색 메시 연결이 시각화됩니다. 탐색 디버그 옵션에 대한 자세한 내용은 :ref:`doc_navigation_debug_tools`를 참조하세요.

기본 2D edge_connection_margin``는 ``navigation/2d/default_edge_connection_margin 아래의 프로젝트 설정에서 변경할 수 있습니다.

기본 3D edge_connection_margin``는 ``navigation/3d/default_edge_connection_margin 아래의 프로젝트 설정에서 변경할 수 있습니다.

모든 탐색 맵의 가장자리 연결 여백 값은 NavigationServer API를 사용하여 런타임 시 변경할 수도 있습니다.

extends Node2D

func _ready() -> void:
    # 2D margins are designed to work with 2D "pixel" values.
    var default_map_rid: RID = get_world_2d().get_navigation_map()
    NavigationServer2D.map_set_edge_connection_margin(default_map_rid, 50.0)

참고

에지 연결 여백을 변경하면 NavigationServer의 모든 탐색 메시 연결이 완전히 업데이트됩니다.