이 페이지는 Unity의 타일맵을 사용하여 경로 탐색을 작동시키는 방법을 설명합니다.

타일맵은 Unity에서 2D 게임을 만들 때 매우 유용한 도구입니다. 이를 통해 격자 패턴 또는 육각형 격자와 같은 다른 규칙적인 패턴으로 스프라이트를 쉽게 효율적으로 렌더링할 수 있습니다.

타일맵을 사용할 때는 그리드 그래프(레이어형이 아닌) 또는 리캐스트 그래프를 사용하는 것이 좋습니다.

Tilemaps and Grid Graph


그리드 그래프와 함께 타일맵을 사용하는 것은 비교적 간단합니다. 씬에 타일맵을 만들면, 이 타일맵이 그리드 그래프의 인스펙터에 표시되어 그리드를 타일맵에 맞출 수 있습니다. 이는 수동으로 설정을 맞추는 것이 때때로 많은 삼각법을 필요로 하기 때문에 매우 유용합니다. 이 방법은 육각형 격자와 같은 더 특이한 모양에서도 작동합니다.


때로는 타일과 그리드 셀이 1대 1로 일치하지 않기를 원할 수 있습니다. 예를 들어, 더 세밀한 움직임을 허용하기 위해 타일당 3개의 그리드 셀을 사용할 수 있습니다. 이를 위해 먼저 위에서 설명한 대로 그리드를 타일맵에 맞춘 후, 노드 크기를 원래 값의 3분의 1로 조정하거나 게임에 가장 적합한 값으로 조정할 수 있습니다.

타일맵은 2D 물리를 사용하므로 "use 2D physics" 체크박스를 활성화하는 것이 좋습니다.

Use 2D Physics
Unity 2D 물리 API를 사용하십시오.

활성화된 경우 2D Physics API가 사용되며, 비활성화된 경우 3D Physics API가 사용됩니다.
이 설정은 콜라이더 타입을 3D 버전에서 해당하는 2D 버전으로 변경합니다. 예를 들어, 구형 콜라이더는 원형 콜라이더로 변경됩니다.
2D 물리가 사용될 때는 heightCheck 설정이 무시됩니다.

http://docs.unity3d.com/ScriptReference/Physics2D.html  참조
참조
이 설정은  Pathfinding.Graphs.Grid.GraphCollision.use2D 멤버에 해당합니다.


타일맵에 CompositeCollider2D를 사용하는 경우, Geometry Type을 Polygons로 설정해야 합니다. Outlines로 설정된 경우, 콜라이더가 그리드 그래프에 의해 제대로 감지되지 않을 수 있습니다.

Tilemaps and Recast Graph

리캐스트 그래프와 함께 타일맵을 사용하는 것도 비교적 간단합니다. 먼저 dimensions설정을 2D로 변경하여 그래프를 2D 모드로 전환해야 합니다.

Dimensions
3D 모드 또는 2D 모드를 사용할지 여부를 설정합니다.

DimensionMode  참조
참조
이 설정은 Pathfinding.RecastGraph.dimensionMode 멤버에 해당합니다.



그런 다음 타일맵에 TilemapCollider2D가 부착되어 있는지, 리캐스트 그래프 설정에서 rasterize colliders가 활성화되어 있는지, 마지막으로 타일맵의 레이어가 리캐스트 그래프 설정의  rasterization layer mask 에 포함되어 있는지 확인해야 합니다.
 cell size 를 조정하여 더 상세하거나 덜 상세한 그래프를 얻을 수 있습니다.

Graph Updates

런타임에 타일맵을 업데이트하는 경우, 그래프도 업데이트하고 싶을 수 있습니다. 이는 AstarPath.UpdateGraphs를 수정된 타일맵 부분의 경계를 사용하여 호출함으로써 수행할 수 있습니다. 일반 콜라이더로 그래프를 업데이트하는 것과 동일한 방식으로 작동합니다.

전체 맵의 대부분을 변경한 경우, AstarPath.active.Scan()을 호출하여 전체 그래프를 다시 계산할 수 있습니다.

'유니티 에셋 > A* Pathfinding project pro' 카테고리의 다른 글

Circling a target  (0) 2024.05.26
Utilities for turn-based games  (0) 2024.05.25
Pathfinding in 2D  (0) 2024.05.25
Agent-Specific Pathfinding  (0) 2024.05.25
Multiple agent types  (0) 2024.05.25

+ Recent posts