이동 표면에서의 내비게이션을 시연하는 예제 장면


이 이동 장면은 약간 다릅니다. 에이전트는 우주를 이동하는 우주선 위에서 동시에 이동합니다.

 

Contents

Graph setup

 

이동 표면에서의 내비게이션을 시연하는 예제 장면

그래프의 모든 노드를 매 프레임마다 이동시키는 것은 느리고, 이미 계산된 경로에 이 정보를 전파하는 것도 매우 까다롭습니다. 그래서 여기서 사용하는 이동 스크립트(LocalSpaceRichAI)는 이를 피합니다.

장면의 그래프는 실제로 정적입니다. 우주선이 움직이는 동안에도 같은 위치에 머물러 있습니다. 그러나 게임이 시작될 때 그래프가 스캔되면 우주선의 위치가 기록됩니다. 경로를 계산할 때 이동 스크립트는 자신의 위치와 목적지를 변환하여 우주선이 여전히 초기 위치에 있는 것처럼 보이도록 합니다. 이는 스캔된 그래프와 완벽하게 일치하게 합니다. 마찬가지로 경로를 따를 때는 경로상의 모든 점을 현재 우주선의 위치와 회전을 고려하여 변환합니다.

이 방법에는 몇 가지 제한이 있습니다. 예를 들어, 내비메시 컷팅 및 기타 그래프 업데이트는 작동하지 않습니다. 하지만 우주선이 어떻게 움직이든 경로를 따르는 데는 문제가 없습니다.


Detailed setup

장면은 다음과 같이 구성됩니다:

1. 우주선 추가: 이는 어떤 메시 또는 메시의 집합일 수 있습니다.

2. Recast 그래프 추가: 초기 위치에 있는 우주선을 커버하도록 구성됩니다.


3. 에이전트 추가: 에이전트를 우주선 GameObject의 자식으로 추가하여 우주선과 함께 이동하도록 합니다.
4. LocalSpaceGraph 컴포넌트 추가: 우주선 GameObject에 추가하여 우주선의 초기 위치를 추적하고, 에이전트가 우주선의 좌표 시스템과 세계 좌표 시스템 간을 번역할 수 있도록 합니다.
5. LocalSpaceRichAI 컴포넌트 추가: 에이전트에 추가하고, LocalSpaceGraph 컴포넌트를 LocalSpaceRichAI.graph 필드에 할당합니다.


6. 우주선 이동: BezierMover 컴포넌트를 사용하여 이동시킵니다. 이 컴포넌트는 매끄러운 곡선을 따라 일련의 점을 통해 우주선을 이동시킵니다.

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

Recast graph on a terrain  (0) 2024.05.22
Recast graph with tags  (0) 2024.05.22
Recast graph with doors  (0) 2024.05.22
Recast graph in a 3D game  (0) 2024.05.22
Example Scenes  (0) 2024.05.22

+ Recent posts