[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.36,0:00:03.18,Default,,0000,0000,0000,,Unity에서 게임 오브젝트는 Dialogue: 0,0:00:03.18,0:00:05.18,Default,,0000,0000,0000,,Nav Mesh Agent 컴포넌트를 이용해 NavMesh가 있는 씬을 Dialogue: 0,0:00:05.18,0:00:07.18,Default,,0000,0000,0000,,손쉽게 탐색할 수 있습니다. Dialogue: 0,0:00:08.53,0:00:10.53,Default,,0000,0000,0000,,여기 유니티에 씬이 하나 있습니다. Dialogue: 0,0:00:10.53,0:00:13.14,Default,,0000,0000,0000,,씬은 이미 NavMesh를 Bake해 놓았습니다. Dialogue: 0,0:00:14.36,0:00:16.97,Default,,0000,0000,0000,,또한 씬에는 빈 게임 오브젝트가 있고 Dialogue: 0,0:00:16.97,0:00:19.33,Default,,0000,0000,0000,,이것은 탐색 목표가 될 겁니다. Dialogue: 0,0:00:21.09,0:00:23.72,Default,,0000,0000,0000,,마지막으로, Nav Mesh Agent를 적용할 Dialogue: 0,0:00:23.72,0:00:25.72,Default,,0000,0000,0000,,Capsule이 있습니다. Dialogue: 0,0:00:26.15,0:00:29.72,Default,,0000,0000,0000,,Capsule에는 SampleAgentScript가 붙어 있습니다. Dialogue: 0,0:00:30.29,0:00:33.01,Default,,0000,0000,0000,,이 스크립트에는 public 변수 Target이 있고 Dialogue: 0,0:00:33.01,0:00:35.88,Default,,0000,0000,0000,,이 변수는 이미 Target이라는 Dialogue: 0,0:00:35.88,0:00:37.88,Default,,0000,0000,0000,,빈 게임 오브젝트에 설정되어 있습니다. Dialogue: 0,0:00:38.84,0:00:40.84,Default,,0000,0000,0000,,Nav Mesh Agent를 추가하려면 Dialogue: 0,0:00:40.84,0:00:43.11,Default,,0000,0000,0000,,Inspector 뷰에서 Add Component 버튼을 클릭하고 Dialogue: 0,0:00:43.11,0:00:45.41,Default,,0000,0000,0000,,이어서 Dialogue: 0,0:00:45.41,0:00:47.98,Default,,0000,0000,0000,,[Navigation]-[NavMesh Agent]를 선택합니다. Dialogue: 0,0:00:50.17,0:00:52.17,Default,,0000,0000,0000,,에이전트는 값을 수정하여 행동 양상을 변경할 수 있는 Dialogue: 0,0:00:52.17,0:00:54.84,Default,,0000,0000,0000,,여러 설정들을 가지고 있습니다. Dialogue: 0,0:00:55.44,0:00:58.58,Default,,0000,0000,0000,,Radius 은 에이전트의 반경을 나타냅니다. Dialogue: 0,0:00:58.58,0:01:02.18,Default,,0000,0000,0000,,Speed는 에이전트의 최고 속도입니다. Dialogue: 0,0:01:03.21,0:01:05.21,Default,,0000,0000,0000,,Acceleration은 에이전트가 얼마나 빨리 가속할 수 있는지 Dialogue: 0,0:01:05.21,0:01:07.03,Default,,0000,0000,0000,,지정합니다. Dialogue: 0,0:01:07.40,0:01:09.94,Default,,0000,0000,0000,,Angular Speed는 에이전트가 얼마나 빨리 Dialogue: 0,0:01:09.94,0:01:11.94,Default,,0000,0000,0000,,회전할 수 있는지 지정합니다. Dialogue: 0,0:01:12.77,0:01:14.77,Default,,0000,0000,0000,,Stopping Distance 속성은 Dialogue: 0,0:01:14.77,0:01:16.77,Default,,0000,0000,0000,,에이전트가 표적을 앞두고 Dialogue: 0,0:01:16.77,0:01:19.37,Default,,0000,0000,0000,,속도를 늦추기 시작하는 거리입니다. Dialogue: 0,0:01:21.30,0:01:23.82,Default,,0000,0000,0000,,Auto Traverse Off Mesh Links는 Dialogue: 0,0:01:23.82,0:01:25.82,Default,,0000,0000,0000,,에이전트가 Dialogue: 0,0:01:25.82,0:01:28.48,Default,,0000,0000,0000,,Off Mesh Links를 자동으로 사용할지를 지정합니다. Dialogue: 0,0:01:29.33,0:01:31.33,Default,,0000,0000,0000,,Off Mesh Links에 관해 자세한 사항은 Dialogue: 0,0:01:31.33,0:01:33.67,Default,,0000,0000,0000,,아래 링크된 학습 자료를 참고하십시오. Dialogue: 0,0:01:35.52,0:01:37.52,Default,,0000,0000,0000,,Auto Braking은 Dialogue: 0,0:01:37.52,0:01:40.13,Default,,0000,0000,0000,,에이전트가 목적지에 접근하면 자동으로 제동하는지 지정합니다. Dialogue: 0,0:01:40.73,0:01:43.16,Default,,0000,0000,0000,,이것을 체크해 두면 에이전트가 Dialogue: 0,0:01:43.16,0:01:45.16,Default,,0000,0000,0000,,표적을 지나쳐가지 않도록 방지합니다. Dialogue: 0,0:01:46.40,0:01:48.40,Default,,0000,0000,0000,,Auto Repath를 체크하면 Dialogue: 0,0:01:48.40,0:01:50.40,Default,,0000,0000,0000,,현재의 경로가 유효하지 않게 되었을 때 Dialogue: 0,0:01:50.40,0:01:52.93,Default,,0000,0000,0000,,에이전트가 경로를 재구축합니다. Dialogue: 0,0:01:53.93,0:01:57.09,Default,,0000,0000,0000,,Height 속성은 에이전트의 높이입니다, Dialogue: 0,0:01:57.68,0:02:00.56,Default,,0000,0000,0000,,Base Offset은 Dialogue: 0,0:02:00.56,0:02:02.56,Default,,0000,0000,0000,,에이전트 콜라이더의 세로 오프셋입니다. Dialogue: 0,0:02:04.26,0:02:06.21,Default,,0000,0000,0000,,Obstacle Avoidance Type에는 Dialogue: 0,0:02:06.21,0:02:08.21,Default,,0000,0000,0000,,여러 가지 옵션이 있습니다. Dialogue: 0,0:02:08.21,0:02:11.78,Default,,0000,0000,0000,,회피의 품질 수준이 높으면 회피가 더 정확합니다. Dialogue: 0,0:02:11.78,0:02:15.01,Default,,0000,0000,0000,,회피의 품질 수준이 낮으면 회피가 효율적입니다. Dialogue: 0,0:02:16.67,0:02:18.67,Default,,0000,0000,0000,,Avoidance Priority는 Dialogue: 0,0:02:18.67,0:02:21.42,Default,,0000,0000,0000,,탐색할 때 어느 에이전트가 우선순위를 가지는지 결정합니다. Dialogue: 0,0:02:22.02,0:02:25.47,Default,,0000,0000,0000,,우선순위가 높은 에이전트가 낮은 번호를 가져야 합니다. Dialogue: 0,0:02:26.74,0:02:29.85,Default,,0000,0000,0000,,마지막으로 NavMesh Walkable 속성은 Dialogue: 0,0:02:29.85,0:02:31.85,Default,,0000,0000,0000,,에이전트가 이동할 수 있는 Dialogue: 0,0:02:31.85,0:02:34.08,Default,,0000,0000,0000,,내비게이션 레이어를 명시합니다. Dialogue: 0,0:02:34.79,0:02:37.46,Default,,0000,0000,0000,,내비게이션 레이어에 관해 자세한 사항은 Dialogue: 0,0:02:37.46,0:02:41.40,Default,,0000,0000,0000,,아래 링크된 NavMesh 베이킹 강좌를 참고하십시오. Dialogue: 0,0:02:42.45,0:02:44.45,Default,,0000,0000,0000,,한 가지 짚고 넘어가야 할 것은, Dialogue: 0,0:02:44.45,0:02:46.03,Default,,0000,0000,0000,,이런 속성들을 변경하여 Dialogue: 0,0:02:46.03,0:02:48.46,Default,,0000,0000,0000,,넓은 범위의 각종 효과를 얻을 수는 있지만, Dialogue: 0,0:02:48.46,0:02:52.41,Default,,0000,0000,0000,,대부분 상황에서는 기본 속성에서도 잘 돌아간다는 것입니다. Dialogue: 0,0:02:53.78,0:02:55.78,Default,,0000,0000,0000,,Nav Mesh Agent 컴포넌트를 Dialogue: 0,0:02:55.78,0:02:57.78,Default,,0000,0000,0000,,생성하고 설정했으면 Dialogue: 0,0:02:57.78,0:03:00.47,Default,,0000,0000,0000,,이제 어디로 갈 것인지 알려주기만 하면 됩니다. Dialogue: 0,0:03:02.70,0:03:05.37,Default,,0000,0000,0000,,SampleAgentScript에는 Dialogue: 0,0:03:05.37,0:03:07.82,Default,,0000,0000,0000,,NavMeshAgent형 변수 Dialogue: 0,0:03:07.82,0:03:12.18,Default,,0000,0000,0000,,agent가 선언되어 있군요. Dialogue: 0,0:03:13.85,0:03:17.63,Default,,0000,0000,0000,,Start 메소드에서는 NavMeshAgent를 참조하고 Dialogue: 0,0:03:17.63,0:03:20.09,Default,,0000,0000,0000,,GetComponent 함수를 이용해 Dialogue: 0,0:03:20.09,0:03:23.04,Default,,0000,0000,0000,,이것을 agent 변수에 보관합니다. Dialogue: 0,0:03:24.37,0:03:26.85,Default,,0000,0000,0000,,에이전트에게 어디로 갈지 알려주려면 Dialogue: 0,0:03:26.85,0:03:29.44,Default,,0000,0000,0000,,NavMeshAgent 클래스의 Dialogue: 0,0:03:29.44,0:03:31.91,Default,,0000,0000,0000,,SetDestination 메소드를 사용합니다. Dialogue: 0,0:03:32.49,0:03:35.30,Default,,0000,0000,0000,,이것은 단일 vector3 함수입니다. Dialogue: 0,0:03:35.100,0:03:40.53,Default,,0000,0000,0000,,그럼 SetDestination 메소드를 호출할 텐데, Dialogue: 0,0:03:40.53,0:03:44.81,Default,,0000,0000,0000,,Agent.SetDestination을 입력하고 Dialogue: 0,0:03:46.06,0:03:49.65,Default,,0000,0000,0000,,괄호 안에 Dialogue: 0,0:03:49.65,0:03:51.88,Default,,0000,0000,0000,,target.position을 입력합니다. Dialogue: 0,0:03:52.41,0:03:54.90,Default,,0000,0000,0000,,에이전트에게 타겟 게임 오브젝트가 Dialogue: 0,0:03:54.90,0:03:56.90,Default,,0000,0000,0000,,있는 곳으로 이동하라고 알려주는 것입니다. Dialogue: 0,0:03:59.07,0:04:01.83,Default,,0000,0000,0000,,Unity로 돌아와서 씬을 실행해 보겠습니다. Dialogue: 0,0:04:02.50,0:04:05.78,Default,,0000,0000,0000,,Capsule 게임 오브젝트가 움직이기 시작하여 Dialogue: 0,0:04:05.78,0:04:08.34,Default,,0000,0000,0000,,레벨에서 이동하는 것을 볼 수 있습니다. Dialogue: 0,0:04:09.08,0:04:12.20,Default,,0000,0000,0000,,Capsule 이 타겟 게임 오브젝트에 당도하면 Dialogue: 0,0:04:12.20,0:04:14.20,Default,,0000,0000,0000,,멈추게 될 것입니다.