﻿1
00:00:04,350 --> 00:00:05,040
‫Xin chào và chào mừng.

2
00:00:05,040 --> 00:00:11,340
‫Trong bài giảng này, chúng ta sẽ để mắt đến những người theo dõi và điều hướng trên khắp thế giới, tránh các

3
00:00:11,340 --> 00:00:15,030
‫chướng ngại vật và thường chỉ là một chút phiền toái nhỏ.

4
00:00:15,030 --> 00:00:17,520
‫Hãy đi sâu vào và xem làm thế nào điều này có thể thực hiện được.

5
00:00:18,360 --> 00:00:25,200
‫Vì vậy, mảnh ghép rõ ràng, rõ ràng nhất tiếp theo mà chúng ta cần sắp xếp ở đây là hướng

6
00:00:25,440 --> 00:00:27,460
‫mắt về phía chúng ta.

7
00:00:27,480 --> 00:00:29,100
‫Thật không tốt khi họ chỉ đứng đó.

8
00:00:29,130 --> 00:00:31,770
‫Họ cũng cần phải di chuyển và sau đó họ sẽ cần phải bắn.

9
00:00:31,770 --> 00:00:34,800
‫Trước hết, hãy tìm cách chúng ta có thể thực hiện chuyển động.

10
00:00:35,340 --> 00:00:41,550
‫Bây giờ, khi bạn di chuyển bằng mắt cần phải biết về các chướng ngại vật, nó cần phải làm một cái gì đó gọi là tìm đường bởi vì

11
00:00:41,550 --> 00:00:45,210
‫tôi đang ẩn nấp trong hành lang này ở đây và nó muốn đi tới chỗ tôi.

12
00:00:45,240 --> 00:00:48,540
‫Nó cần biết rằng nó không thể chỉ di chuyển xuyên tường.

13
00:00:48,540 --> 00:00:53,880
‫Nó sẽ cần phải lên kế hoạch lộ trình để đi vòng qua các chướng ngại vật và tiến về phía tôi.

14
00:00:54,210 --> 00:01:01,260
‫Bây giờ, cách điều này thường hoạt động trong các trò chơi nói chung và cụ thể ở đây là Unreal là chúng tôi tạo một lưới

15
00:01:01,260 --> 00:01:08,670
‫cho chúng tôi biết vị trí có thể đi được trong một cấp độ và sau đó sử dụng các thuật toán khác nhau, một trong số đó

16
00:01:08,670 --> 00:01:10,440
‫được gọi là tìm đường sao.

17
00:01:10,440 --> 00:01:18,190
‫Bạn có thể điều hướng trên lưới này và tạo một kế hoạch tuyến đường và sau đó AI sẽ sử dụng kế hoạch tuyến đường này để di chuyển.

18
00:01:18,210 --> 00:01:20,360
‫Vì vậy, đó là loại phác thảo của quy trình.

19
00:01:20,370 --> 00:01:22,260
‫May mắn thay, rất nhiều điều đó đã được thực hiện cho chúng tôi.

20
00:01:22,260 --> 00:01:24,020
‫Chúng tôi không phải viết mã này từ đầu.

21
00:01:24,030 --> 00:01:28,290
‫Vì vậy, những gì chúng ta cần làm là, trước hết, có thể nhìn thấy lưới điều hướng.

22
00:01:28,290 --> 00:01:32,780
‫Và hiện tại, chúng tôi không thể nhìn thấy đủ lưới một phần vì không có lưới.

23
00:01:32,790 --> 00:01:38,490
‫Vì vậy, những gì chúng ta cần làm là nhìn vào cửa sổ diễn viên đã đặt của chúng ta ở đây, hoặc chúng ta đi đến cửa sổ

24
00:01:38,490 --> 00:01:40,260
‫và tìm kiếm các diễn viên đã đặt.

25
00:01:40,620 --> 00:01:47,190
‫Chúng tôi cần tìm kiếm lưới điều hướng và chúng tôi đang tìm khối lượng giới hạn lưới điều hướng.

26
00:01:47,190 --> 00:01:54,090
‫Bây giờ điều này tạo ra một khối lượng, một loại hộp và mọi thứ bên trong hộp đó sẽ được kiểm tra xem nó có thể điều

27
00:01:54,090 --> 00:01:58,380
‫hướng như thế nào, về cơ bản, cho dù nó bằng phẳng hay không quá dốc.

28
00:01:58,950 --> 00:02:03,300
‫Về cơ bản, ở nơi có tường, bạn không thể đi xuyên qua tường, không thể đi qua tường vì

29
00:02:03,300 --> 00:02:04,010
‫chúng quá dốc.

30
00:02:04,020 --> 00:02:09,090
‫Vì vậy, nếu chúng ta kéo khối lượng giới hạn lưới điều hướng và chỉ đưa nó đến

31
00:02:09,090 --> 00:02:16,590
‫đây và chỉ đặt nó một chút qua sàn để điều này cho phép sàn trở thành một phần của tính toán điều hướng đó, thì những gì

32
00:02:16,590 --> 00:02:21,120
‫chúng ta phải làm là kích hoạt khả năng hiển thị của Các mắt lưới NAV.

33
00:02:21,120 --> 00:02:25,890
‫Bạn có thể thực hiện việc này bằng cách nhấp vào nút hiển thị ở trên cùng bên trái của khung nhìn, sau

34
00:02:25,890 --> 00:02:28,110
‫đó nhấp vào điều hướng hoặc sử dụng phím tắt.

35
00:02:28,110 --> 00:02:29,880
‫P Vì vậy, tôi sẽ sử dụng phím tắt.

36
00:02:29,880 --> 00:02:33,870
‫P Và chọn tốt, bạn thậm chí không phải chọn âm lượng giới hạn.

37
00:02:33,870 --> 00:02:39,270
‫Bạn có thể ngay lập tức thấy lưới màu xanh lá cây này đã xuất hiện trong khối lượng giới hạn cho chúng ta biết đây

38
00:02:39,270 --> 00:02:40,800
‫là khu vực có thể đi bộ.

39
00:02:40,800 --> 00:02:48,300
‫Vì vậy, nếu chúng ta có kẻ thù của mình trong khu vực này và mục tiêu của hắn cũng ở trong khu vực đó, thì nó có thể tìm

40
00:02:48,300 --> 00:02:50,580
‫thấy một con đường dọc theo lưới này.

41
00:02:50,760 --> 00:02:55,200
‫Bây giờ chúng ta hãy xem điều gì sẽ xảy ra nếu chúng ta di chuyển nó đến nơi có chướng ngại vật.

42
00:02:55,200 --> 00:03:00,060
‫Bạn có thể thấy rằng loại lưới cắt ra xung quanh chướng ngại vật này.

43
00:03:00,060 --> 00:03:07,680
‫Vì vậy, những gì chúng tôi thực sự muốn làm là có khối lượng này bao gồm toàn bộ cấp độ của chúng tôi và bạn có thể chọn không

44
00:03:07,680 --> 00:03:14,100
‫hoặc chỉ làm điều đó trong các phân đoạn nhất định, nhưng cách dễ nhất là chỉ cần tăng giới hạn của khối lượng

45
00:03:14,100 --> 00:03:15,780
‫này, mà bạn có thể làm.

46
00:03:15,780 --> 00:03:20,310
‫Nếu bạn đi đến ngăn chi tiết ở bên phải, có cài đặt bàn chải và bạn có thể thay đổi kích thước

47
00:03:20,310 --> 00:03:26,850
‫của bàn chải như thế nào để bạn có thể thấy chúng tôi có thể làm cho nó lớn hơn, chúng tôi có thể làm cho nó rộng hơn và nó sẽ chuyển

48
00:03:26,850 --> 00:03:28,770
‫sang màu đỏ khi nó được tính toán lại.

49
00:03:28,770 --> 00:03:33,300
‫Bạn có thể thấy nó đang thực hiện việc xây dựng lưới điều hướng và càng lớn thì càng

50
00:03:33,300 --> 00:03:35,640
‫khó để xây dựng lưới điều hướng lâu hơn.

51
00:03:35,640 --> 00:03:37,590
‫Nhưng bạn có thể thấy rằng điều này đang hoạt động.

52
00:03:37,590 --> 00:03:39,210
‫Nó đang cắt các hành lang.

53
00:03:39,210 --> 00:03:43,000
‫Nó cắt bỏ những chướng ngại vật mà chúng ta không thể đi lại.

54
00:03:43,020 --> 00:03:52,170
‫Phần thứ hai của câu đố này là mắt của chúng ta có thể thực hiện các thuật toán root của nó trên lưới này.

55
00:03:52,200 --> 00:03:56,970
‫Bây giờ, chúng ta hãy tiếp tục và mở điều khiển mắt của game bắn súng BP, bởi vì tôi muốn cho bạn thấy một

56
00:03:56,970 --> 00:03:57,930
‫cái gì đó ở đây.

57
00:03:57,960 --> 00:04:02,370
‫Tôi sẽ mở toàn bộ trình chỉnh sửa kế hoạch chi tiết ở đây và xem ở đây.

58
00:04:02,370 --> 00:04:06,180
‫Có một thành phần được gọi là thành phần sau đường dẫn.

59
00:04:06,360 --> 00:04:13,320
‫Thành phần đó chịu trách nhiệm tìm lưới F và sau đó về cơ bản cho phép chúng ta tạo các đường dẫn và theo dõi chúng

60
00:04:13,320 --> 00:04:16,230
‫và di chuyển dọc theo chúng một cách tự động.

61
00:04:16,230 --> 00:04:19,080
‫Vì vậy, chúng tôi không phải xây dựng bất kỳ chức năng nào trong số đó.

62
00:04:19,080 --> 00:04:24,300
‫Tất cả những gì chúng tôi phải làm là sử dụng một chức năng có sẵn trên bộ điều khiển AI của chúng tôi.

63
00:04:24,300 --> 00:04:33,540
‫Nếu bạn tìm kiếm bộ điều khiển AI H và tìm kiếm động thái để hoạt động, thì hãy chuyển đến

64
00:04:33,540 --> 00:04:35,490
‫với dấu ngoặc mở.

65
00:04:35,490 --> 00:04:37,200
‫Sau đó, có một vài tùy chọn ở đây.

66
00:04:37,200 --> 00:04:40,350
‫Chúng tôi có một người cần phải di chuyển để yêu cầu.

67
00:04:40,470 --> 00:04:45,510
‫Có một số tùy chọn khác ở đây, nhưng chúng thực sự có tên khác.

68
00:04:45,510 --> 00:04:52,140
‫Bây giờ, trong các phiên bản Unreal sau này, chúng tôi đã chuyển sang diễn viên và chuyển đến vị trí, có điểm

69
00:04:52,140 --> 00:04:55,350
‫khác biệt giống như trọng tâm thiết lập của chúng tôi.

70
00:04:55,350 --> 00:05:00,630
‫Bạn có thể đặt tiêu điểm vào một thứ gì đó đang di chuyển giống như một tác nhân hoặc bạn có thể đặt tiêu điểm cho

71
00:05:00,630 --> 00:05:06,420
‫một điểm đến cụ thể, chẳng hạn như một điểm tham chiếu trong tuyến đường tuần tra của bạn, chẳng hạn, có thể là một sự di chuyển đến vị trí.

72
00:05:06,420 --> 00:05:10,680
‫Vì vậy, tôi muốn bạn thử chuyển sang làm thử thách của mình.

73
00:05:10,680 --> 00:05:16,560
‫Vì vậy, hãy có một lưới điều hướng trong cảnh của bạn, làm cho nó bao phủ nhiều cảnh bạn cần để bạn có thể di

74
00:05:16,560 --> 00:05:17,850
‫chuyển xung quanh và có.

75
00:05:17,910 --> 00:05:23,640
‫Tôi theo dõi bạn ở tất cả các địa điểm và sau đó gọi động thái đó là di chuyển để hành động hoặc di chuyển đến một địa điểm.

76
00:05:23,640 --> 00:05:29,300
‫Bạn quyết định nhà trọ nào bắt đầu chơi để AI đuổi theo chúng ta.

77
00:05:29,310 --> 00:05:31,110
‫Vì vậy, hãy tạm dừng video và tiếp tục.

78
00:05:32,330 --> 00:05:32,750
‫Được chứ.

79
00:05:32,750 --> 00:05:33,290
‫Chào mừng trở lại.

80
00:05:33,350 --> 00:05:34,470
‫Hãy thử xem.

81
00:05:34,490 --> 00:05:35,870
‫Vì vậy, điều đầu tiên trước tiên.

82
00:05:35,870 --> 00:05:44,660
‫Chúng tôi sẽ có Tôi sẽ sử dụng chuyển sang diễn viên và chúng tôi sẽ phải đặt mục tiêu diễn viên.

83
00:05:44,660 --> 00:05:51,920
‫Vì vậy, chúng ta hãy chuyển sang game bắn súng của chúng tôi, tôi điều khiển CP và trong đó bắt đầu chơi, chúng ta có thể chuyển sang diễn viên và chúng

84
00:05:51,920 --> 00:05:57,290
‫ta đã có một diễn viên là người chơi - điều mà chúng ta đã có từ bài giảng trước và hãy cùng

85
00:05:57,290 --> 00:05:57,590
‫xem.

86
00:05:57,590 --> 00:06:00,350
‫Có bất kỳ thuộc tính hữu ích nào khác ở đây không?

87
00:06:00,350 --> 00:06:01,940
‫Chúng tôi có bán kính chấp nhận.

88
00:06:01,940 --> 00:06:04,010
‫Hiện tại nó không có bán kính chấp nhận.

89
00:06:04,010 --> 00:06:06,140
‫Về cơ bản, nó càng gần càng tốt.

90
00:06:06,140 --> 00:06:08,870
‫Tôi nghĩ điều đó có thể hơi lấn cấn một chút.

91
00:06:08,870 --> 00:06:14,330
‫Tôi sẽ cung cấp cho nó một bán kính chấp nhận là hai mét, vì vậy nó sẽ cố gắng đi trong phạm vi hai mét của

92
00:06:14,330 --> 00:06:14,750
‫chúng tôi.

93
00:06:15,110 --> 00:06:16,910
‫Vì vậy, hãy tiếp tục và xây dựng điều đó.

94
00:06:17,690 --> 00:06:20,600
‫Và khi đã hoàn tất, hãy chuyển sang phần engine.

95
00:06:20,600 --> 00:06:21,740
‫Và chúng ta hãy xem xét.

96
00:06:21,740 --> 00:06:28,820
‫Tôi sẽ không mở rộng âm lượng thoát ở đây chỉ để cho bạn hiểu lý do tại sao chúng ta cần âm lượng thoát

97
00:06:28,820 --> 00:06:29,690
‫ngay từ đầu.

98
00:06:29,690 --> 00:06:32,120
‫Vì vậy, hãy bắt đầu với một alt p.

99
00:06:32,780 --> 00:06:33,530
‫Và chúng tôi đây.

100
00:06:33,530 --> 00:06:38,000
‫Chúng tôi đang ở trên lưới điều hướng và anh chàng này đã tự động di chuyển về phía chúng tôi.

101
00:06:38,000 --> 00:06:45,380
‫Nhưng nếu tôi rời khỏi lưới điều hướng đó, anh ta sẽ không thể đến gần tôi hơn nữa vì anh ta không thể tìm thấy đường đi.

102
00:06:45,380 --> 00:06:48,980
‫Anh ấy không thể tìm cách đến được với tôi.

103
00:06:48,980 --> 00:06:55,100
‫Vì vậy, những gì chúng tôi sẽ làm là chúng tôi thực sự, tôi không chắc đó là những gì thực sự đang diễn ra ở

104
00:06:55,100 --> 00:07:00,950
‫đây, bởi vì có thể những gì đang xảy ra là anh ấy đang ở trong bán kính chấp nhận của tôi và họ không

105
00:07:00,950 --> 00:07:01,550
‫thử lại.

106
00:07:01,550 --> 00:07:09,860
‫Vì vậy, một cách để kiểm tra đó là chỉ cần loại bỏ bán kính chấp nhận này và biên dịch lại, sau đó chúng ta có thể xem xét xem

107
00:07:09,860 --> 00:07:12,620
‫đó có phải là điều đang xảy ra hay không.

108
00:07:12,620 --> 00:07:16,340
‫Vì vậy, anh ấy đến ngay với tôi nếu tôi rời đi.

109
00:07:16,340 --> 00:07:19,130
‫Chà, về cơ bản anh ta đã quên lệnh đó.

110
00:07:19,130 --> 00:07:25,460
‫Vì vậy, những gì chúng tôi muốn làm là làm điều này trong tic, bởi vì về cơ bản một khi anh ta đến được với tôi, anh ta sẽ từ

111
00:07:25,460 --> 00:07:26,720
‫bỏ ý định theo đuổi tôi.

112
00:07:26,720 --> 00:07:28,940
‫Vì vậy, hãy chuyển điều này sang tic.

113
00:07:28,940 --> 00:07:31,580
‫Đây không phải là cách lý tưởng để làm điều đó, nhưng đó là những gì chúng tôi sẽ làm.

114
00:07:31,580 --> 00:07:38,030
‫Hiện tại, tôi sẽ sao chép chữ ký của Tic từ diễn viên H, và tôi biết rằng chữ ký đó nằm trong phần công khai,

115
00:07:38,030 --> 00:07:40,820
‫vì vậy tôi sẽ tạo phần công khai ở trên cùng.

116
00:07:42,770 --> 00:07:50,210
‫Sao chép chữ ký, ghi đè chữ ký, chỉ an toàn, sau đó triển khai nó trong C ++ và di chuyển tác nhân di chuyển của chúng

117
00:07:50,210 --> 00:07:57,980
‫tôi vào để đánh dấu và bán kính chấp nhận vẫn là hai mét, hãy thử điều này ngay bây giờ và rõ ràng là nó đang phàn nàn

118
00:07:57,980 --> 00:08:01,370
‫rằng chúng tôi không có một người chơi - ở đằng kia.

119
00:08:01,370 --> 00:08:06,530
‫Vì vậy, hãy bắt đầu và đảm bảo rằng chúng ta sẽ tiếp tục lặp lại dòng này để nắm

120
00:08:06,530 --> 00:08:09,230
‫giữ người chơi đầu tiên - trên gác mái.

121
00:08:09,230 --> 00:08:14,180
‫Và bây giờ chúng ta có thể kiểm tra nó một cách chính xác, đưa một con lợn thay thế vào thế giới.

122
00:08:14,180 --> 00:08:16,250
‫Anh ta đến và đưa chúng tôi đi trong vòng hai mét.

123
00:08:16,250 --> 00:08:18,710
‫Tôi rời xa anh ta và tôi sẽ nhìn vào điều đó.

124
00:08:18,710 --> 00:08:24,470
‫Anh ấy thậm chí không nhắm đúng vào tôi lần này, nhưng anh ấy đang cố gắng theo dõi.

125
00:08:24,740 --> 00:08:29,630
‫Nhưng ngay sau khi tôi rời khỏi lưới điều hướng đó, anh ấy không còn biết làm thế nào để tìm thấy tôi nữa.

126
00:08:29,630 --> 00:08:31,190
‫Vì vậy, chúng ta hãy sửa chữa nó, phải không?

127
00:08:31,190 --> 00:08:35,450
‫Chúng ta sẽ chuyển đến khối lượng thoát lưới điều hướng.

128
00:08:36,250 --> 00:08:37,390
‫Nếu tôi có thể chọn nó.

129
00:08:37,390 --> 00:08:37,990
‫Chúng ta bắt đầu.

130
00:08:37,990 --> 00:08:44,170
‫Và sau đó chúng tôi muốn thực sự thu nhỏ ở đây để thử và bao quát toàn bộ cấp độ của chúng tôi.

131
00:08:44,180 --> 00:08:49,210
‫Nhìn bề ngoài thì cấp độ này có vẻ hơi buồn tẻ, nhưng đó chỉ là cách mà mọi thứ thường hoạt động, là

132
00:08:49,210 --> 00:08:52,990
‫bạn xây dựng cấp độ để được nhìn từ bên trong chứ không phải từ bên ngoài.

133
00:08:52,990 --> 00:08:55,480
‫Vì vậy, hãy làm cho điều này rộng hơn nhiều.

134
00:08:55,480 --> 00:09:01,450
‫Hãy làm cho nó cao hơn nhiều để nó bao gồm tất cả các cấp và chỉ cần kéo nó ra để tất cả

135
00:09:01,450 --> 00:09:04,000
‫các phạm vi của cấp ở đây được bao phủ.

136
00:09:04,000 --> 00:09:11,920
‫Chỉ cần làm cho nó rộng hơn một chút, dài hơn một chút và chỉ cần đảm bảo rằng tất cả những điều này được bao gồm

137
00:09:11,920 --> 00:09:12,790
‫đầy đủ.

138
00:09:13,150 --> 00:09:16,690
‫Và bạn có thể thấy màu xanh lá cây đã xuất hiện khi nó được tính toán lưới điều hướng.

139
00:09:16,690 --> 00:09:22,120
‫Và hãy đảm bảo rằng số đo điều hướng đang giảm xuống đủ thấp để nó bao phủ các phạm vi

140
00:09:22,120 --> 00:09:26,140
‫thấp nhất trên bản đồ của chúng tôi dường như đang bao phủ nó.

141
00:09:26,140 --> 00:09:33,760
‫Vì vậy, nếu chúng ta tiếp tục và chúng ta có thể ẩn và điều hướng lưới bây giờ chúng ta đã thiết lập tất cả và chúng ta có thể thực hiện một alt p để

142
00:09:33,760 --> 00:09:40,480
‫tiếp tục và chơi và anh ta có thể tìm thấy chúng ta và theo dõi chúng ta khá nhiều ở bất cứ đâu mà chúng ta đi trong cấp độ này.

143
00:09:40,780 --> 00:09:47,830
‫Bạn có thể thấy rằng đầy tớ trung thành đáng tin cậy của chúng ta đang theo sau chúng ta bất cứ nơi nào chúng ta chọn đi.

144
00:09:47,860 --> 00:09:51,040
‫Anh ta chỉ bám đuôi và theo dõi chúng tôi, điều đó rất khó chịu.

145
00:09:51,040 --> 00:09:53,830
‫Nhưng anh ấy có thể làm được điều đó.

146
00:09:54,590 --> 00:09:55,190
‫Chà, một số thứ.

147
00:09:55,190 --> 00:10:02,450
‫Vì vậy, trong bài giảng này, chúng ta đã thấy cách chúng ta có thể tạo ra các thước đo NAV của mình và cách chúng ta có thể sử dụng chúng để khiến

148
00:10:02,450 --> 00:10:05,450
‫không khí của chúng ta theo dõi chúng ta xung quanh cấp độ.

149
00:10:06,490 --> 00:10:12,220
‫Bài giảng tiếp theo, chúng ta sẽ lặp lại vấn đề này để sửa lỗi và kiểm tra đường ngắm

150
00:10:12,220 --> 00:10:16,330
‫để chúng ta không nhất thiết phải luôn đuổi theo người chơi xung quanh.

151
00:10:16,330 --> 00:10:17,050
‫Xem ở đó.

152
00:10:18,390 --> 00:10:22,860
‫Và tôi vừa nhận thấy một lỗi nhỏ ngớ ngẩn mà tôi đã mắc phải ở đây, đó

153
00:10:22,860 --> 00:10:25,620
‫là tôi không gọi đến siêu dấu hai chấm tic.

154
00:10:25,620 --> 00:10:31,860
‫Vì vậy, đó thực sự là lý do tại sao đôi khi bạn gặp những lỗi kỳ lạ không giải thích được, nếu bạn không gọi cho cấp

155
00:10:31,890 --> 00:10:35,160
‫trên, thì mọi thứ không phải lúc nào cũng hoạt động như mong đợi.

156
00:10:35,160 --> 00:10:41,250
‫Đó là lý do tại sao tiêu điểm đã ngừng hoạt động, bởi vì về cơ bản chúng tôi đã tắt tic trên bộ điều khiển cao,

157
00:10:41,250 --> 00:10:42,270
‫điều này không tốt.

158
00:10:42,330 --> 00:10:47,520
‫Nếu bạn bật điều đó, thì mọi thứ sẽ hoạt động bình thường với tiêu điểm cài đặt.

