‫Xin chào và chào mừng.
‫Trong bài giảng này, chúng ta có con mắt đang theo dõi chúng ta trên khắp thế giới.
‫Nó sẽ đi điều tra khi anh ta mất dấu tôi.
‫Vì vậy, nó khá khó để mất.
‫Nhưng nếu tôi đi quá nhiều góc, anh ấy sẽ không thể theo kịp và cuối cùng anh ấy sẽ
‫mất hứng thú và quay trở lại vị trí xuất phát của mình ở đó.
‫Đó là những gì chúng ta sẽ triển khai trong bài giảng này bằng cách hoàn thành nhiệm vụ cây hành vi của chúng ta.
‫Hãy đi sâu vào và xem nó được thực hiện như thế nào.
‫Vì vậy, chúng tôi muốn thực hiện nhiệm vụ của mình, thực sự làm một điều gì đó.
‫Và đặc biệt chúng tôi muốn có thể xóa giá trị bảng đen đó, hãy làm những gì nó ghi trên hộp thiếc.
‫Vì vậy, làm thế nào để chúng tôi tiếp tục làm điều đó?
‫Để làm được điều đó, chúng ta cần đi đến lớp cơ sở của mình và xem xét những gì được triển khai ở đó.
‫Trên thực tế, chúng ta cần phải lên một cấp độ cao hơn, như bạn có thể thấy từ sự kế thừa của cơ sở bảng
‫đen tác vụ.
‫Trên đó chúng ta có nút nhiệm vụ BT.
‫Vì vậy, hãy sử dụng F 12 để điều hướng đến việc triển khai ở đó.
‫Và nếu bạn cuộn lên đầu tệp tiêu đề nút tác vụ BT, bạn có thể thấy có thông tin về
‫lớp này.
‫Và điều quan trọng nhất là đây là những chức năng ảo mà chúng ta có nhiều khả năng
‫muốn triển khai nhất.
‫Vì vậy, điều đầu tiên là thực thi nhiệm vụ.
‫Điều này được gọi khi nhiệm vụ bắt đầu thực thi, sau đó chúng ta có một nhiệm vụ trên bảng, đó là khi chúng ta quyết định rằng chúng ta
‫cần ngừng thực thi, ví dụ, vì một điều kiện đã trở thành sai và chúng ta đã thiết lập
‫báo hiệu đó.
‫Vì vậy, nó hủy bỏ nhiệm vụ này.
‫Đánh dấu vào nhiệm vụ xảy ra mọi lúc mà tác vụ đang thực thi, nhưng không phải là lần đánh dấu đầu tiên.
‫Vì vậy, đánh dấu đầu tiên sẽ gọi thực thi tác vụ sau đó.
‫Chúng tôi sẽ tiếp tục gọi nhiệm vụ đánh dấu mỗi lần.
‫Và đó là những hành vi có thể kéo dài hơn một tích tắc, chẳng hạn như di chuyển đến kẻ thù có thể
‫mất nhiều tích tắc.
‫Vì vậy, đánh dấu vào nhiệm vụ cho phép chúng ta làm điều gì đó.
‫Mọi đánh dấu và thông báo trên đều dành cho những thứ khác ngoài việc hủy bỏ có thể gửi thông báo đến nhiệm
‫vụ này.
‫Chúng tôi không thực sự phải lo lắng về chức năng cụ thể này.
‫Vì vậy, ba cái đầu tiên thực sự là những cái mà chúng tôi quan tâm hơn, và coi như nhiệm vụ của chúng tôi chỉ
‫đơn giản là xóa giá trị bảng đen ngay sau khi nó được thực thi và sau đó sẽ hoàn thành ngay lập tức.
‫Nó không cần phải thực hiện những việc trên nhiều lần.
‫Chúng tôi quan tâm đến tác vụ thực thi, vì vậy nếu chúng tôi tìm kiếm trong tệp tiêu đề này cho
‫tác vụ thực thi, bạn có thể thấy chữ ký đầy đủ ở đây và kiểu trả về ở đây là kết quả nút khởi động này.
‫Và nó có hai thứ là thành phần chủ sở hữu và bộ nhớ nút.
‫Bây giờ lý do nó chiếm bộ nhớ nút hơi phức tạp một chút, nhưng
‫điều quan trọng cần biết ở đây là một lớp tác vụ hoặc một cá thể lớp tác vụ, chỉ có một trong số chúng trên tất cả các bảng đen.
‫Về cơ bản, chúng được chia sẻ giữa mọi thứ, đó là lý do tại sao nếu bạn muốn lưu một
‫số thông tin liên quan đến một nút trong một cây hành vi cụ thể, thì điều bạn cần làm là lưu trữ nó trong con
‫trỏ bộ nhớ này.
‫Nhưng chúng tôi sẽ không làm bất cứ điều gì liên quan đến điều đó.
‫Nó cần nâng cao hơn một chút để làm điều đó.
‫Và có những cách khác để giải quyết vấn đề này, chẳng hạn như cho phép Unreal tạo nhiều phiên bản cho mọi cây
‫hành vi, có thể gọn gàng hơn một chút hoặc không, nhưng đây là cách hiệu quả hơn một chút và
‫chúng tôi không phải lo lắng về nó.
‫Cuối cùng, điều chúng tôi quan tâm là thực tế là chúng tôi có thể có được một thành phần của riêng mình, thành phần cây hành vi và
‫từ đó chúng tôi có thể đến những thứ khác như cầm đồ, v.v. Nhưng đó cũng là chủ đề
‫của một bài giảng khác.
‫Vì vậy, điều thú vị và quan trọng bây giờ chỉ là triển khai nhiệm vụ thực thi của chúng ta.
‫Vì vậy, chúng ta sẽ sao chép chữ ký, chuyển sang giá trị bảng đen rõ ràng H của chúng ta và hãy xem như ghi
‫chú công khai này, tôi nghĩ nó sẽ được bảo vệ vì nó nằm trong phần mặc định.
‫Vì vậy, chúng tôi sẽ tự tạo cho mình một phần được bảo vệ và dán nó vào đó và sau đó
‫chúng tôi sẽ tiếp tục tạo hoặc ghi đè chỉ để đảm bảo an toàn.
‫Và sau đó, chúng ta sẽ tạo một triển khai trong C ++, hãy nhớ rằng chúng ta luôn muốn được
‫gọi tới super khi chúng ta ghi đè để siêu thực thi nhiệm vụ với thành phần chủ sở hữu và bộ nhớ nút được
‫gọi đến cha mẹ của chúng ta ở đây.
‫Và sau đó những gì chúng tôi muốn làm là nắm lấy bảng đen của chúng tôi để chúng tôi có thể xóa chìa khóa.
‫Và có hai điều quan trọng ở đây.
‫Trước hết, làm sao chúng ta biết Key đã được chọn là gì?
‫Chà, nếu chúng ta đến Cơ sở Bảng đen H, bạn có thể thấy rằng một trong những phương pháp ở đó là lấy Chìa khóa
‫bảng đen đã chọn.
‫Vì vậy, bạn có thể dễ dàng chỉ cần gọi điều này trong C ++ của mình, nhận được Blackboard Key đã chọn và nó sẽ quay trở lại.
‫Nếu chúng ta di chuột qua nó, nó sẽ trả về tên F, tên F của phím bảng đen đã được chọn trong cây
‫hành vi.
‫Bây giờ, điều khác chúng ta cần làm là thực sự có thể nắm được bảng đen liên quan đến cây
‫hành vi này.
‫Vì vậy, vì vậy, chúng tôi đã có một comp của riêng mình.
‫Bây giờ hãy lưu ý ở đây rằng kiểu comp của chủ sở hữu được chuyển vào đây thực sự là một tham chiếu, không phải là một con trỏ.
‫Vì vậy, nó không thể là null khi bắt đầu.
‫Thật tuyệt.
‫Nhưng nó cũng có nghĩa là chúng ta cần sử dụng toán tử dấu chấm hơn là toán tử
‫mũi tên vì chúng ta không sử dụng con trỏ và từ đây chúng ta có thể chỉ cần lấy thành phần bảng đen.
‫Vì vậy, nó chỉ nhận được thành phần bảng đen nếu bạn di chuột qua nó, cái này là một con trỏ đến một
‫thành phần bảng đen, vì vậy bạn sẽ cần sử dụng các toán tử mũi tên.
‫Vậy là chúng ta đã biết cách xóa các phím trên bảng đen.
‫Đối thủ, đó sẽ là thách thức của bạn.
‫Vì vậy, hy vọng thử thách không quá phức tạp.
‫Bạn muốn xóa khóa đã chọn.
‫Chúng tôi, bạn có thể kiểm tra nơi chúng tôi đã làm điều này trước đây.
‫Bạn có cần bất kỳ bao gồm để làm điều này?
‫Có thể bảng đen cần bao gồm sử dụng khóa đã chọn trong cây hành vi của bạn làm khóa mà chúng tôi muốn
‫xóa.
‫Vì vậy, hãy tạm dừng video và tiếp tục.
‫Được rồi, chào mừng bạn trở lại.
‫Vì vậy, chúng ta hãy thử này.
‫Vì vậy, điều đầu tiên là chúng tôi đã có thành phần bảng đen của chúng tôi.
‫Hãy sử dụng toán tử lỗi ở đây.
‫Không có gì sắp xảy ra.
‫Vì vậy, tôi giả sử rằng tôi cần và thực sự có một số ô vuông màu đỏ mà tôi cần một hàm băm ở đây để thực hiện cây
‫hành vi và sau đó là thành phần bảng đen ở đây và bây giờ.
‫Hy vọng rằng tính năng tự động hoàn thành của tôi sẽ hoạt động, điều này sẽ cho phép tôi có được sự rõ ràng.
‫Hãy thử và làm mới những kỷ niệm của chúng ta.
‫Chúng ta đã làm điều này ở đâu trước đây?
‫Nếu chúng ta xem qua Shooter I, Controller CP và xem những gì chúng ta có ở đây, chúng ta sẽ có giá trị
‫rõ ràng.
‫Đó là một trong những chúng tôi đang tìm kiếm.
‫Vì vậy, chúng ta hãy thử giá trị rõ ràng đó.
‫Và nó mất những gì?
‫Nó cần một phím F hoặc một tên F, tên f tuyệt vời mà chúng ta có thể nhận được.
‫Và chúng ta đã nói chúng ta có thể lấy điều đó ở đâu với phím bảng đen được chọn nằm trên lớp này vì
‫nó nằm trong lớp cha.
‫Vì vậy, hãy chọn Blackboard Key và nó đơn giản như vậy.
‫Chúng tôi đang xóa giá trị của Khóa bảng đen đã chọn.
‫Bây giờ, một điều cuối cùng chúng ta cần làm.
‫Đây không phải là một phần của thử thách của bạn, vì vậy đừng lo lắng.
‫Nếu bạn không biết điều này là chúng tôi cần trả về vì có một giá trị trả về cho tác vụ thực thi giá trị bảng
‫đen rõ ràng của chúng tôi.
‫Và giá trị trả về là khá thú vị.
‫Chúng ta hãy có một cái nhìn.
‫Hãy theo dõi nó với F 12 và xem trạng thái khác nhau mà chúng ta có thể trả về từ bài kiểm tra thực thi của mình.
‫Bây giờ cái đầu tiên đã thành công.
‫Tuyệt quá.
‫Về cơ bản, điều đó báo hiệu cho cây hành vi rằng nút này đã hoàn thành việc thực thi và chúng ta có thể
‫chuyển sang nút tiếp theo.
‫Lại thât bại.
‫Đây là một kết thúc để chúng tôi có thể chuyển sang phần tiếp theo, nhưng lần này nó nói rằng nó không thành công.
‫Vì vậy, điều đó cung cấp cho các dấu hiệu khác nhau, chẳng hạn như các nút trình tự hoặc các nút đã chọn của chúng tôi về những
‫gì các nút đó thực sự nên làm.
‫Sau đó, chúng tôi đã bị hủy bỏ, về cơ bản cũng giống như thất bại và chúng tôi đang tiến hành.
‫Nếu bạn đang thực hiện một nhiệm vụ đang thực hiện trở lại, về cơ bản nó sẽ nói rằng bạn phải tiếp tục đánh dấu gọi cho đến khi
‫tôi nói với bạn cách khác, cho đến khi tôi nói rằng tôi đã hoàn thành bây giờ chúng tôi sẽ không sử dụng cái này.
‫Nhưng tốt nhất bạn nên nhớ rằng nếu bạn cần tạo một tác vụ có thời gian thực hiện lâu dài, chúng tôi sẽ chạy
‫trên nhiều tích tắc.
‫Sau đó, chúng tôi sẽ phải quay trở lại trong quá trình thực hiện.
‫Nhưng như tôi đã nói, chúng tôi muốn thành công.
‫Vì vậy, chúng ta hãy đi vào và làm điều đó.
‫Trả về kết quả nút EB Beat dấu hai chấm, dấu hai chấm.
‫Và nó sẽ thành công bởi vì chúng tôi đã thành công trong việc xóa bỏ giá trị đó về cơ bản không có vấn đề gì.
‫Vì vậy, chúng tôi có thể tiếp tục và lưu tất cả những thứ này, chuyển đến trình chỉnh sửa và nhấn biên dịch.
‫Và khi hoàn tất, chúng ta hãy tiếp tục và mở AI của chúng ta và cây hành vi.
‫Vậy nhịp đó ở đâu?
‫Và tôi gắn nó vào cửa sổ chính và chúng ta hãy xem xét.
‫Chúng tôi đã có một giá trị bảng đen rõ ràng, hiện có thể cho phép chúng tôi di chuyển đến vị trí đã
‫biết gần đây nhất, xóa giá trị bảng đen, đợi trong năm và sau đó chúng tôi sẽ thấy rằng việc điều tra vị trí người chơi đã biết
‫cuối cùng này sẽ không được đặt, vì vậy chúng ta nên quay trở lại vị trí xuất phát của chúng ta.
‫Vì vậy, hãy xem nếu hành vi này hiện đang hoạt động khi tác vụ đã được thực thi đầy đủ.
‫Vì vậy, anh ấy đến với tôi, anh ấy đang điều tra tôi.
‫Tôi sẽ đi và trốn.
‫Vì vậy, chúng ta hãy đi và ẩn.
‫Anh ấy đang đến để điều tra.
‫Hãy đi và trốn một lần nữa.
‫Vì vậy, hãy đi và trốn.
‫Hãy xem liệu chúng ta có thể phát hiện ra anh ta ở đó không.
‫Anh ấy nên đợi vào lúc này và sau đó anh ấy sẽ quay trở lại vị trí xuất phát của mình, điều này thật
‫không may khiến anh ấy giao nhau với tôi.
‫Vì vậy, hãy xem liệu điều này có thực sự hoạt động như chúng ta mong đợi hay không, bằng cách đưa kẻ thù của chúng ta ra một cửa
‫sổ và gắn nó sang bên phải và đặt cửa sổ chính của chúng ta ở bên trái.
‫Nó hơi chật chội một chút, nhưng chúng ta có thể làm được và sau đó chúng ta sẽ thử thoát khỏi gã này một
‫lần nữa và xem điều gì sẽ xảy ra với hành vi của hắn.
‫Bạn có thể thấy anh ấy đang di chuyển đến vị trí cuối cùng của người chơi được biết đến.
‫Và bây giờ anh ấy đang đợi, đã xóa sạch giá trị.
‫Và sau đó bạn có thể thấy anh ấy sẽ chuyển đến và bạn có thể thấy những thanh màu đỏ này trên bảng trang trí đang
‫cho chúng ta biết rằng cả hai điều kiện này đều không đúng.
‫Vì vậy, anh ta không thể làm một trong hai điều đó.
‫Cuối cùng, anh ấy đã di chuyển đến vị trí xuất phát.
‫Nên bây giờ nó chập chờn vì cơ bản là nó không thể làm gì được.
‫Vì vậy, về cơ bản là bài giảng này chúng ta đã thấy cách chúng ta có thể nhận các tác vụ để thực thi mã, hiểu các trạng thái khác
‫nhau mà bạn có thể trả về sau khi thực thi tác vụ, cách lấy bảng đen từ
‫tác vụ và cũng như cách lấy khóa hiện được chọn trên một nhiệm vụ bảng đen.
‫Trong bài giảng tiếp theo, chúng ta sẽ xem cách chúng ta có thể nắm bắt thế giới bên ngoài cây hành vi bảng đen, cách
‫chúng ta có thể nắm giữ con tốt từ bên trong tác vụ cây hành vi.
‫Tôi sẽ gặp bạn ở đó.