﻿1
00:00:04,310 --> 00:00:05,240
‫Xin chào và chào mừng.

2
00:00:05,240 --> 00:00:11,660
‫Trong bài giảng này, chúng tôi giới thiệu hai loại nội dung mới là cây hành vi và bảng đen, đây là hai loại nội dung cho phép

3
00:00:11,660 --> 00:00:16,640
‫chúng ta làm những điều rất thú vị với A. TÔI..

4
00:00:16,640 --> 00:00:18,740
‫Cho phép chúng tôi làm phức tạp hơn nhiều.

5
00:00:18,740 --> 00:00:23,600
‫Tôi rất dễ dàng đi sâu vào và xem cách chúng tôi sử dụng chúng và thiết lập chúng.

6
00:00:25,140 --> 00:00:25,410
‫Được chứ.

7
00:00:25,410 --> 00:00:28,970
‫Vì vậy, chúng tôi muốn tạo ra một số hành vi AI tinh vi.

8
00:00:28,980 --> 00:00:33,960
‫Bây giờ, cách chúng tôi thường làm điều này trong Unreal là sử dụng một hệ thống được gọi là cây hành vi.

9
00:00:33,990 --> 00:00:35,050
‫Bây giờ, đây là những gì?

10
00:00:35,070 --> 00:00:38,990
‫Chà, cách tốt nhất để chúng tôi tìm hiểu là tạo một cái.

11
00:00:39,000 --> 00:00:41,970
‫Vì vậy, hãy tiếp tục và nhấp chuột phải và đi.

12
00:00:41,970 --> 00:00:45,150
‫Chúng tôi đang tìm kiếm ở đây dưới trí thông minh nhân tạo.

13
00:00:45,150 --> 00:00:48,450
‫Và có hai tùy chọn ở đây là hành vi, cây và bảng đen.

14
00:00:48,480 --> 00:00:51,050
‫Chúng tôi sẽ muốn cả hai điều này.

15
00:00:51,060 --> 00:00:54,650
‫Vì vậy, hãy bắt đầu với cây hành vi.

16
00:00:54,660 --> 00:00:59,670
‫Tiền tố cho điều này là BHT và chúng tôi sẽ gọi đây là kẻ thù.

17
00:00:59,670 --> 00:01:01,320
‫Vì vậy, hành vi kẻ thù của cây.

18
00:01:01,350 --> 00:01:03,780
‫Tôi chỉ kết thúc với điều đó.

19
00:01:03,780 --> 00:01:04,490
‫Của bạn đây.

20
00:01:04,500 --> 00:01:09,180
‫Và chúng ta cũng cần tạo ra một thứ khác trong đó, đó là một tấm bảng đen.

21
00:01:09,180 --> 00:01:11,250
‫Bây giờ, cái gì trên trái đất là một bảng đen?

22
00:01:11,250 --> 00:01:12,300
‫Chúng tôi sẽ đạt được điều đó chỉ sau một giây.

23
00:01:12,300 --> 00:01:15,930
‫Nhưng chúng ta sẽ gọi nó là kẻ thù không đội trời chung.

24
00:01:15,940 --> 00:01:19,110
‫Tôi đã nói trước đây, đánh bảng đen cho cây hành vi.

25
00:01:19,110 --> 00:01:22,320
‫Và trong khi chúng tôi ở đó, chúng tôi có một vài điều liên quan đến tôi ở đây.

26
00:01:22,320 --> 00:01:29,100
‫Tôi sẽ tạo một thư mục mới có tên là A. TÔI. và chúng ta sẽ di chuyển bảng đen, cây

27
00:01:29,100 --> 00:01:29,640
‫hành vi.

28
00:01:29,700 --> 00:01:33,900
‫Và ở đâu đó chúng tôi có game bắn súng, bộ điều khiển AI.

29
00:01:33,900 --> 00:01:40,530
‫Tất cả những điều đó sẽ được đưa vào Tôi chuyển đến đây và sau đó chúng ta có thể vào thư mục AI của mình để giải quyết mọi thứ liên quan đến AI.

30
00:01:41,070 --> 00:01:45,450
‫Trước hết, hãy mở cây hành vi của chúng ta và gắn nó vào cửa sổ chính.

31
00:01:45,660 --> 00:01:47,550
‫Vậy cái quái gì thế này?

32
00:01:47,550 --> 00:01:52,890
‫Vì vậy, điều này cho phép chúng tôi tạo cây các hành vi mà bạn có thể nói rằng chúng tôi có một phần của hành vi ở

33
00:01:52,890 --> 00:01:53,880
‫đây là để truy tìm.

34
00:01:53,880 --> 00:01:55,350
‫Một phần là để trolling.

35
00:01:55,350 --> 00:02:00,180
‫Một phần của nó là dành cho thứ khác, mở cửa, tất cả những thứ này.

36
00:02:00,180 --> 00:02:06,480
‫Chúng thường cấu trúc các hành vi dưới dạng rất nhiều cây hành vi và cây con, v.v.

37
00:02:06,480 --> 00:02:14,070
‫Chúng ta sẽ thấy rằng tất cả đang diễn ra một cách chi tiết, nhưng đủ để nói rằng đó là một cách tuyệt vời để tập hợp các hành vi tự

38
00:02:14,070 --> 00:02:15,780
‫nhiên trong trò chơi của bạn.

39
00:02:16,080 --> 00:02:17,610
‫Bây giờ nó không phải là tất cả và kết thúc tất cả.

40
00:02:17,610 --> 00:02:19,440
‫Có rất nhiều kỹ thuật AI.

41
00:02:19,440 --> 00:02:23,820
‫Đây có thể không phải là thứ mà bạn muốn sử dụng cho trò chơi của mình, nhưng đó là một khởi đầu tuyệt

42
00:02:23,820 --> 00:02:26,040
‫vời và bạn có thể đạt được khá nhiều điều với nó.

43
00:02:26,520 --> 00:02:30,620
‫Bây giờ, điều tiếp theo chúng ta có thể thấy ở trên cùng, bên phải, hai nội dung này được liên kết với nhau.

44
00:02:30,630 --> 00:02:33,000
‫Cây hành vi và bảng đen.

45
00:02:33,000 --> 00:02:35,100
‫Cái gì trên trái đất là một bảng đen?

46
00:02:35,100 --> 00:02:41,520
‫Chà, chiếc bảng đen giống như ký ức về A của bạn. TÔI. Về cơ bản, nó là nơi bạn lưu trữ một

47
00:02:41,520 --> 00:02:42,240
‫loạt các biến.

48
00:02:42,240 --> 00:02:46,650
‫Bạn nhập chúng từ trò chơi rất giống như chúng tôi đang làm với hệ thống

49
00:02:46,650 --> 00:02:51,150
‫hoạt ảnh, nơi bạn có những thuộc tính khác nhau này đang được thiết lập bởi trò chơi.

50
00:02:51,150 --> 00:02:53,820
‫Chúng tôi cũng làm điều tương tự với AI.

51
00:02:53,850 --> 00:03:00,180
‫Chúng tôi thiết lập rất nhiều thuộc tính cung cấp cho nó thông tin về thế giới trò chơi của nó và sau đó cây hành vi sẽ dựa trên những

52
00:03:00,180 --> 00:03:03,540
‫thuộc tính đó và sử dụng chúng để quyết định những gì nó sẽ làm.

53
00:03:03,540 --> 00:03:09,510
‫Nó có thể thiết lập những thuộc tính đó, nó có thể sử dụng chúng như một bộ nhớ, nó có thể đọc từ những thuộc tính đó và tất cả

54
00:03:09,540 --> 00:03:10,680
‫những thứ đáng yêu đó.

55
00:03:10,680 --> 00:03:17,040
‫Vì vậy, với suy nghĩ đó, làm thế nào chúng ta có thể thiết lập cây hành vi của mình trong bảng đen để chúng được liên

56
00:03:17,040 --> 00:03:17,790
‫kết với nhau?

57
00:03:18,030 --> 00:03:20,460
‫Chà, chúng tôi sẽ mở rộng trong ngăn chi tiết của chúng tôi.

58
00:03:20,460 --> 00:03:26,010
‫Bạn có thể thấy ở đây rằng có nội dung bảng đen này và tự động nó

59
00:03:26,010 --> 00:03:32,790
‫dường như đã điền nó cho chúng ta để nội dung bảng đen được liên kết với nội dung bảng đen này.

60
00:03:33,000 --> 00:03:38,730
‫Bây giờ chúng ta sẽ khởi hành từ C ++ một chút để sử dụng những nội dung này vì rõ ràng

61
00:03:38,730 --> 00:03:42,420
‫cây hành vi và bảng đen hoàn toàn nằm trong trình soạn thảo.

62
00:03:42,420 --> 00:03:44,460
‫Chúng không phải là bản thiết kế như vậy.

63
00:03:44,460 --> 00:03:49,320
‫Chúng là công cụ soạn thảo của riêng họ và chúng ta có thể giao diện với chúng bằng C ++.

64
00:03:49,320 --> 00:03:53,580
‫Nhưng điều đó có nghĩa là chúng ta sẽ sử dụng trình soạn thảo cho một vài bài giảng tiếp theo cũng như C ++.

65
00:03:53,580 --> 00:03:54,960
‫Mặc dù vậy, không có quá nhiều bản thiết kế.

66
00:03:54,960 --> 00:04:00,810
‫Vì vậy, thật tuyệt khi chúng ta đã có cho mình cây hành vi này và bảng đen này, nhưng làm thế quái nào chúng

67
00:04:00,810 --> 00:04:02,400
‫ta thực sự sử dụng nó?

68
00:04:02,400 --> 00:04:05,580
‫Về điều đó, chúng ta quay lại với bộ điều khiển AI của mình.

69
00:04:05,580 --> 00:04:14,040
‫Nếu bạn nhớ, tôi kiểm soát viên hoàn toàn chịu trách nhiệm điều hành các hành vi của chúng tôi và điều đó không ngoại lệ ở

70
00:04:14,040 --> 00:04:14,640
‫đây.

71
00:04:14,820 --> 00:04:19,110
‫Cây hành vi chỉ là một thứ khác mà bộ điều khiển AI có thể sử dụng hoặc chạy.

72
00:04:19,260 --> 00:04:24,810
‫Vì vậy, cách chúng ta sẽ làm điều này là chúng ta sẽ chuyển sang kiểm soát AI của mình và chúng

73
00:04:24,810 --> 00:04:30,090
‫ta cần có một cách tham chiếu trong bản thiết kế cây hành vi mà chúng ta muốn nó chạy.

74
00:04:30,600 --> 00:04:35,130
‫Vì vậy, điều đầu tiên tôi sẽ làm là tôi thực sự sẽ xem xét CP kiểm soát

75
00:04:35,130 --> 00:04:40,950
‫và nhận xét về những thứ trong TTIC vì thay vào đó chúng tôi sẽ thay thế chức năng này bằng chức năng cây

76
00:04:40,950 --> 00:04:41,640
‫hành vi.

77
00:04:41,760 --> 00:04:46,440
‫Và sau đó, điều đó có nghĩa là tôi có thể xóa bán kính chấp nhận này ở đây vì chúng tôi không còn cần nó nữa.

78
00:04:46,440 --> 00:04:51,180
‫Và thay vào đó, chúng tôi sẽ sử dụng một con trỏ đến hành vi mới.

79
00:04:51,780 --> 00:04:59,100
‫Và tôi phải đánh vần cây Con đường Mỹ và con trỏ, đó là cây hành vi mà chúng tôi muốn ở đó.

80
00:04:59,100 --> 00:05:02,310
‫Và tôi cần chuyển tiếp khai báo này với một lớp phía trước nó.

81
00:05:02,310 --> 00:05:08,910
‫Và về cơ bản ở đây, điều tôi muốn nói là đây là hành vi của AI và.

82
00:05:09,770 --> 00:05:13,340
‫Tôi sẽ giữ lại cách viết của người Mỹ ở đây chỉ để nhất quán.

83
00:05:13,340 --> 00:05:17,630
‫Vì vậy, đây là hành vi AI mà chúng tôi muốn ở đây để thực sự chạy hành vi.

84
00:05:17,630 --> 00:05:18,560
‫Nó không thể đơn giản hơn.

85
00:05:18,560 --> 00:05:22,700
‫Một lần nữa, điều khiển bằng mắt có một chức năng tích hợp cho việc này.

86
00:05:22,700 --> 00:05:24,500
‫Chúng tôi đã có hành vi chạy này.

87
00:05:24,500 --> 00:05:26,390
‫Hàm cây biến một boolean.

88
00:05:26,390 --> 00:05:30,650
‫Cho dù bạn có thể thực thi nó thành công hay không, hãy bắt đầu thực thi nó, nghĩa là.

89
00:05:30,650 --> 00:05:35,930
‫Và nó có nội dung nhịp được chỉ định cho cây hành vi mới.

90
00:05:36,290 --> 00:05:40,040
‫Vì vậy, đó là những gì chúng tôi sẽ muốn sử dụng và chúng tôi có thể làm lại điều này khi bắt đầu chơi.

91
00:05:40,040 --> 00:05:44,270
‫Vì vậy, những gì chúng ta sẽ làm là, trước hết, chúng ta sẽ kiểm tra xem chúng ta có thực sự có một cây hành vi ở đây

92
00:05:44,300 --> 00:05:44,660
‫hay không.

93
00:05:44,660 --> 00:05:47,210
‫Vì vậy, chúng ta sẽ nói tôi cư xử.

94
00:05:48,270 --> 00:05:53,640
‫Không bằng con trỏ null vì chúng tôi không muốn sử dụng nó theo cách khác.

95
00:05:53,640 --> 00:05:59,130
‫Và sau đó những gì chúng ta có thể làm là chúng ta có thể chạy cây hành vi được gọi là hành vi AI của chúng ta.

96
00:05:59,160 --> 00:06:06,420
‫Nó thực sự đơn giản để có được một hành vi AI chạy và chúng ta có thể tiếp tục và biên dịch.

97
00:06:07,420 --> 00:06:12,790
‫Và một điều nữa chúng ta có thể làm với cây hành vi là chúng ta có thể thấy chúng chạy trong thời gian chạy, nhưng để làm được

98
00:06:12,790 --> 00:06:15,150
‫điều đó, bạn cần phải có một số loại nút ở đây.

99
00:06:15,160 --> 00:06:18,910
‫Vì vậy, chúng tôi sẽ chỉ thêm vào một nút mà không hiểu đầy đủ những gì nó làm.

100
00:06:18,910 --> 00:06:23,830
‫Tôi sẽ thêm vào một nút trình tự và tôi sẽ nối nó bằng cách kéo xuống từ nút gốc,

101
00:06:23,830 --> 00:06:28,780
‫bit bên dưới nút gốc sẽ nổi bật khi tôi di chuột qua nó xuống đến bit phía trên nút

102
00:06:28,780 --> 00:06:29,350
‫trình tự.

103
00:06:29,440 --> 00:06:30,850
‫Và tôi sẽ cứu điều đó.

104
00:06:31,240 --> 00:06:39,700
‫Tôi sẽ đi qua và nhấn play và đi vào nội dung cây hành vi của tôi và bạn sẽ có thể thấy danh sách thả xuống ở

105
00:06:39,700 --> 00:06:43,420
‫đây, nhưng chúng tôi không làm vậy vì nó hiện không chạy.

106
00:06:43,420 --> 00:06:44,530
‫Vì vậy, chúng ta hãy dừng cuộc chơi.

107
00:06:45,010 --> 00:06:46,660
‫Và tại sao nó không chạy?

108
00:06:46,660 --> 00:06:49,360
‫Bởi vì chúng tôi chưa kết nối nó trong bộ điều khiển game bắn súng của mình.

109
00:06:49,360 --> 00:06:52,840
‫Vì vậy, hãy thực hiện thử thách nhỏ đó để bạn đạt được điều đó.

110
00:06:53,110 --> 00:06:54,610
‫Hy vọng rằng nó sẽ không quá khó.

111
00:06:55,060 --> 00:06:56,170
‫Được rồi, chào mừng bạn trở lại.

112
00:06:56,170 --> 00:07:01,330
‫Vì vậy, nếu chúng tôi đến và xem ở đây, chúng tôi đang tìm kiếm hành vi AI của mình.

113
00:07:01,510 --> 00:07:04,300
‫Vì một số lý do, nó yêu cầu một bản dịch lại để tôi hiển thị cho tôi.

114
00:07:04,300 --> 00:07:04,930
‫Nhưng đây rồi.

115
00:07:04,930 --> 00:07:06,760
‫Hành vi của AI là những gì chúng ta muốn.

116
00:07:06,790 --> 00:07:07,780
‫Chúng tôi nhấp vào trình đơn thả xuống.

117
00:07:07,780 --> 00:07:10,630
‫Chỉ có một lựa chọn vào lúc này vì chúng tôi chỉ có một cây hành vi.

118
00:07:10,630 --> 00:07:14,200
‫Vì vậy, hãy chọn cái đó và biên dịch và lưu.

119
00:07:14,200 --> 00:07:17,380
‫Và nếu bây giờ chúng ta hãy tiếp tục và chơi trò chơi.

120
00:07:18,010 --> 00:07:20,830
‫Và hãy đi xem kẻ thù đã đánh bại của chúng ta.

121
00:07:21,280 --> 00:07:26,140
‫Bạn có thể thấy rằng nó đang làm nổi bật nút hiện đang chạy và bạn có một menu

122
00:07:26,140 --> 00:07:32,350
‫nhỏ này thả xuống bên cạnh các nút dừng tạm dừng, cho bạn biết tôi điều khiển nào mà bạn hiện đang quan sát cây

123
00:07:32,350 --> 00:07:33,130
‫hành vi.

124
00:07:33,160 --> 00:07:38,350
‫Vì vậy, đây là một chức năng tuyệt vời để bạn có thể nhảy vào và sử dụng, được rồi, tại sao vậy?

125
00:07:38,350 --> 00:07:39,760
‫Tôi chỉ đứng yên.

126
00:07:39,760 --> 00:07:41,290
‫Tại sao anh ta không đuổi theo người chơi?

127
00:07:41,290 --> 00:07:46,510
‫Bạn có thể thấy phần nào của hành vi anh ta hiện đang chạy và thực hiện, À, bạn biết đấy, điều đó đã xảy ra

128
00:07:46,510 --> 00:07:47,110
‫sai lầm.

129
00:07:47,140 --> 00:07:48,910
‫Nó thực sự hữu ích cho việc gỡ lỗi.

130
00:07:48,910 --> 00:07:53,890
‫Bạn có thể đến và xem tất cả AI của bạn trên thế giới đang hoạt động như thế nào bằng cách sử dụng menu thả xuống này.

131
00:07:54,010 --> 00:07:54,550
‫Công cụ tuyệt vời.

132
00:07:54,550 --> 00:07:55,570
‫Đó là tất cả cho bài giảng này.

133
00:07:55,570 --> 00:08:01,930
‫Trong bài giảng tiếp theo, chúng ta sẽ xem xét cách chúng ta có thể thiết lập thông tin trong bộ nhớ bảng

134
00:08:01,930 --> 00:08:04,600
‫đen của AI của chúng ta từ C ++.

135
00:08:04,600 --> 00:08:05,560
‫Tôi sẽ gặp bạn ở đó.

