‫Xin chào và chào mừng.
‫Trong bài giảng này, chúng ta sẽ tạo một thành phần mới trong C ++, hộp kích hoạt này, sẽ báo cáo cho chúng ta khi chúng ta
‫bước vào bên trong hốc tường hoặc chúng ta đặt bất kỳ đối tượng nào trong hốc tường.
‫Bạn có thể thấy rằng chúng tôi đang nhận được một thông báo về bản thiết kế nhỏ ở góc trên cùng bên trái.
‫Và để làm được điều đó, chúng ta sẽ phải hiểu cách hoạt động của chồng chéo và ngăn chặn và các
‫phản ứng va chạm khác nhau trong Unreal.
‫Hãy đi sâu vào và tìm hiểu.
‫Bây giờ chúng ta đã làm quen với cách hoạt động của các kênh theo dõi.
‫Chúng tôi biết rằng bạn có thể có các phản ứng theo dấu vết trên các đối tượng khác nhau trong cảnh của chúng tôi, chẳng hạn như cây bụi này.
‫Ở đây, bạn có thể thấy rằng nó có phản hồi bỏ qua đối với dấu vết vũ khí, nhưng nó chặn dấu vết hiển thị.
‫Sau đó, có ví dụ về kính chống đạn này.
‫Nó chặn vũ khí nhưng cho phép tầm nhìn xuyên qua và một bức tường gạch chặn cả hai.
‫Vì vậy, bạn có thể thấy cách hệ thống này hoạt động với các kênh theo dõi.
‫Bây giờ, điều gì sẽ xảy ra nếu chúng ta đang cố gắng quyết định xem vật nào có thể chồng lên nhau, vật
‫nào đi qua, vật nào chắn nhau?
‫Điều đó có thể phức tạp hơn một chút.
‫Chúng tôi đã thấy điều này khi chúng tôi cố gắng để gargoyle trùng với con tốt của chúng tôi.
‫Bây giờ đây là cách nó hoạt động.
‫Về cơ bản, chúng tôi sử dụng các loại đối tượng này.
‫Mỗi đối tượng có thể thuộc về có thể là một kiểu đối tượng cụ thể.
‫Và điều này khác với kiểu hệ thống kiểu trong C ++.
‫Đây là những kiểu va chạm.
‫Vì vậy, bạn có thể có đối tượng A và đối tượng B và trong cài đặt của chúng, nếu chúng ta đi xem xét các cài
‫đặt trên gargoyle của chúng ta, chẳng hạn, bạn có thể thấy rằng chúng có loại đối tượng riêng.
‫Đây là một đối tượng tĩnh trong thế giới, nhưng sau đó chúng cũng có phản ứng với các loại
‫đối tượng khác.
‫Vì vậy, bạn có thể thấy rằng vật thể này sẽ chặn các động tĩnh của thế giới khác, nó sẽ chặn các động lực của
‫thế giới khác, nó sẽ chồng lên các loại tốt, nó sẽ chặn các cơ quan vật lý và khá nhiều chặn mọi loại khác.
‫Và rõ ràng là con tốt nếu chúng ta đi và tìm người chơi BP của mình.
‫Và nhìn vào thành phần viên nang của nó, xem chi tiết và cuộn xuống nơi nó được cài đặt trước va
‫chạm.
‫Nếu chúng ta có thể mở rộng cài đặt trước Va chạm cầm đồ, chúng ta không thể chỉnh sửa nó, nhưng chúng ta có thể thấy những gì nó đang làm.
‫Và bạn có thể thấy rằng nó có phản ứng riêng với thế giới tĩnh.
‫Vì vậy, phản ứng của nó với thế giới tĩnh sẽ là chặn nó.
‫Vì vậy, chúng tôi thực sự có hai tùy chọn khác nhau ở đây.
‫Con tốt đang nói rằng tôi chặn các động tĩnh trên thế giới, nhưng gargoyle lại nói rằng tôi chồng lên con tốt.
‫Vậy điều gì nên xảy ra?
‫Đây là nơi xuất hiện bảng này và tôi có một liên kết đến bài đăng trên blog này
‫nếu bạn muốn đọc toàn bộ trong tài nguyên bài giảng.
‫Vì vậy, bạn có thể thấy rằng nó chiếm ít tương tác chặn nhất giữa hai.
‫Vì vậy, nếu đối tượng A là con tốt và chúng ta đang nói, này, tôi nên chặn con thú đó, nhưng đối tượng B là con gargoyles và
‫nó đang nói, này, tôi nên chồng lên con tốt đó.
‫Vì vậy, nó sẽ ít bị chặn nhất trong số hai thứ đó và nó sẽ chồng chéo lên nhau.
‫Vì vậy, điều đó có nghĩa là nếu bạn muốn hai thứ chặn nhau, cả hai cần phải đồng ý rằng đó là
‫những gì họ muốn làm.
‫Vì vậy, chúng ta hãy xem xét một ví dụ khác ở đây.
‫Chúng tôi đã có trình phát thuộc loại đối tượng tốt và phản ứng của đối tượng đối với các con tốt khác là
‫chặn chúng và các đối tượng tĩnh thế giới là chặn chúng.
‫Bức tường gạch là một vật thể tĩnh trong thế giới.
‫Nó có thể chặn con tốt và chặn thế giới tĩnh.
‫Vì vậy, hai người sẽ đồng ý với nhau.
‫Bây giờ cây bụi cũng là thế giới tĩnh, nhưng nó chồng lên những con tốt.
‫Nó rất giống kiểu gươm của chúng ta, nhưng nó chặn sự tĩnh lặng của thế giới.
‫Vì vậy, nếu bạn đi xuống và xem điều gì sẽ xảy ra là con tốt sẽ cố gắng đi qua bụi rậm và điều
‫đó có thể vì nó chiếm ít tùy chọn chặn nhất, điều này chồng chéo và nó tạo ra một sự
‫kiện chồng chéo mà chúng ta có thể mắc vào trong mã. hoặc blueprint, trong khi nó sẽ không thể đi qua bức tường
‫gạch và nó lại tạo ra một sự kiện hit, một thứ mà chúng ta có thể bám vào trong Blueprint
‫hoặc C ++.
‫Vậy tại sao tôi lại đi sâu vào tất cả vấn đề này?
‫Bởi vì những gì tôi muốn làm là đặt một vật thể mà chúng ta về cơ bản là vô hình bên trong bức tường này, cho phép chúng ta
‫đặt gargoyle vào đây và chúng ta nhận được một sự kiện khi điều đó xảy ra.
‫Vì vậy, gargoyle sẽ hỗ trợ một sự kiện và nói, Này, tôi có một cái gì đó trùng lặp với tôi.
‫Vậy tại sao tất cả những điều này lại quan trọng?
‫Bởi vì tôi muốn đặt một vật vô hình nhưng sẽ chồng lên gargoyle và cho chúng tôi biết về sự
‫thật đó.
‫Sau đó, chúng tôi có thể truy vấn nó từ C ++ hoặc chúng tôi có thể lấy các sự kiện trong Blueprint theo cách nào đó.
‫Và cách chúng ta sẽ làm điều này, trước hết, tạo một bản thiết kế từ bức tường của ngục tối này.
‫Vì vậy, tôi sẽ nhấp vào nút kế hoạch chi tiết trong ngăn chi tiết, tạo một lớp
‫con mới và tôi sẽ đặt tên cho nó là tiếng bíp, gạch dưới bức tường bí mật và chúng ta sẽ nhấn chọn để tạo nó và một dấu ngoặc cho chính của chúng ta
‫cửa sổ và nó có một động cơ trên đó.
‫Những gì tôi cũng muốn thêm ở đây về cơ bản là một thành phần được gọi là va chạm hộp.
‫Vì vậy, nếu chúng ta nhấp vào một va chạm hộp, bạn có thể thấy nó hoàn toàn vô hình.
‫Nó chỉ cung cấp cho bạn một số phạm vi hộp mà chúng tôi có thể thay đổi, chúng tôi có thể làm cho chúng lớn hơn để
‫bất cứ nơi nào chúng tôi đặt gargoyle trong hộp này, nó sẽ chấp nhận nó.
‫Và chúng ta có thể thấy rằng nó có các tùy chọn va chạm ở dưới đây.
‫Chúng tôi đã có một chồng chéo tất cả động làm mặc định, nhưng là cài đặt trước mặc định.
‫Nhưng nếu chúng tôi nhấn tùy chỉnh, bạn có thể thấy chúng tôi có thể thay đổi các loại đối tượng và chúng tôi có thể thay đổi cách nó
‫phản ứng với những thứ khác nhau trong đây.
‫Và tôi nghĩ quan trọng nhất, như bạn có thể thấy, nó được thiết lập để chồng chéo với hầu hết các loại đối tượng, có
‫nghĩa là ngay cả khi chúng không được đặt chồng lên thế giới động, nó sẽ chồng lên nhau.
‫Nó sẽ không chặn bất cứ điều gì.
‫Nó sẽ để chúng tôi định vị vị trí của gargoyle ở đây.
‫Vì vậy, tôi sẽ xóa thành phần đó khỏi hiện trường, bởi vì những gì tôi muốn
‫làm là tạo một thành phần mới trong C ++ dựa trên va chạm hộp đó.
‫Bây giờ tôi chỉ muốn cho bạn thấy rằng với hộp này, nếu chúng tôi đặt nó trở lại cài đặt trước mặc định, nó đã
‫được bật, điều này đã chồng lên tất cả các động mà tôi tin và chúng tôi kiểm tra hoặc như đã được kiểm tra, thực sự tạo ra các sự kiện chồng
‫chéo đã được kiểm tra.
‫Sau đó, chúng ta có thể xem qua biểu đồ sự kiện của mình và chúng ta có thể nhấp chuột phải vào đây và tìm kiếm sự chồng chéo.
‫Và ngay ở trên cùng, bạn có thể thấy phần bổ sung bắt đầu chồng chéo cho hộp.
‫Vì vậy, nếu chúng ta nhấp vào đó và thực sự hãy đổi tên thành phần hộp để kích hoạt khu vực như thế nào.
‫Vì vậy, về cơ bản nếu chúng ta trùng lặp với khu vực kích hoạt, chúng ta sẽ nhận được danh sách các thuộc tính của thứ đang trùng
‫lặp với chúng ta để chúng ta có thể lấy.
‫Nó chồng chéo lên nhau.
‫Chúng tôi có thể lấy tên của nó.
‫Vì vậy, lấy tên hiển thị là tên của nút.
‫Và sau đó chúng tôi có thể lấy nó và in chuỗi kết quả và nối chuỗi đó với chốt thực thi và chúng
‫tôi có thể tiếp tục và chơi.
‫Và nếu chúng tôi đi bộ đến khu vực này, bạn có thể thấy rằng nó nói rằng máy nghe nhạc bíp là thứ chồng lên nó.
‫Bây giờ tôi không thể nhìn thấy khu vực đó vì nó quá tối.
‫Vì vậy, tôi sẽ lại đi đến bức tường bí mật, một tiếng bíp và tôi sẽ thêm một thành phần ánh sáng điểm, tôi
‫sẽ đặt trong hốc tường nhỏ này, xoay nó úp xuống và chiếu sáng không gian nơi
‫chúng tôi muốn đối tượng.
‫Bây giờ trong cảnh này, chúng ta có thể nhìn thấy nó rất rõ ràng.
‫Vì vậy, hãy tiếp tục và chơi và chúng ta có thể đi đến hốc tường đó.
‫Nếu chúng ta chồng lên nó, nó nói rằng có trình phát tiếng bíp chồng lên nhau và chúng ta có thể đi lấy gargoyle
‫của chúng tôi từ ô này bằng cách sử dụng bộ gắp mới được đúc của chúng tôi, và chúng tôi có thể lấy gargoyle đó và đặt nó ở khu vực này.
‫Tuy nhiên, nó dường như không tạo ra bất kỳ sự kiện chồng chéo nào, và đó là bởi vì giống như chúng ta cần, có hai
‫bên tham gia va chạm.
‫Cũng có hai bên để tạo ra các sự kiện chồng chéo.
‫Vì vậy, chỉ vì chúng tôi đã kích hoạt nó trên thành phần hộp đó không có nghĩa là gargoyle di chuyển vào nó thực sự sẽ cảnh
‫báo chúng tôi về bất kỳ sự kiện chồng chéo nào.
‫Vì vậy, những gì chúng tôi phải làm là chúng tôi phải đi đến gargoyle và kiểm tra nó, tạo ra các sự kiện chồng chéo nữa.
‫Vì vậy, sau đó các sự kiện chồng chéo sẽ xảy ra.
‫Hãy đi lấy gargoyle, đưa anh ta đến hốc tường và đưa anh ta vào.
‫Và bây giờ chúng ta đang có một sự kiện sắp diễn ra.
‫Khi điều đó xảy ra, bức tượng Gargoyle thực sự đã được đăng ký.
‫Bây giờ, tôi không muốn sử dụng các sự kiện kế hoạch chi tiết trong trường hợp cụ thể này.
‫Vì vậy, những gì tôi muốn làm là lấy thành phần vùng kích hoạt của chúng ta và thực sự biến nó thành một thành phần
‫C ++ nào đó có thể đánh giá xem nó đã có tượng Gargoyle ngay lập tức hay chưa.
‫Cách chúng ta sẽ làm điều này là chúng ta sẽ đi đến các thành phần thêm, tạo một thành phần C ++ mới.
‫Và là lớp cha, thay vì chọn thành phần hoạt động hoặc thành phần cảnh, chúng ta
‫sẽ đi đến tất cả các lớp và thay vào đó chúng ta sẽ tìm kiếm thành phần hộp.
‫Và bạn có thể thấy các thành phần hình dạng, thành phần hộp, thành phần mà chúng ta muốn và chúng ta có thể tiếp tục
‫và nhấn tiếp theo.
‫Vì vậy, tôi muốn thách thức bạn tạo thành phần này vì tôi đã chỉ cho bạn cách thiết lập
‫lớp cha.
‫Vì vậy, bạn sẽ đặt tên cho nó là các thành phần kích hoạt và bạn sẽ phải sao chép một số thứ từ các thành phần khác mà
‫chúng tôi đã tạo bởi vì nó không được thiết lập theo cùng một cách.
‫Khi chúng ta đang lấy từ một cha mẹ khác, bạn sẽ phải sao chép dòng lớp của mình.
‫Toàn bộ dòng đó về cơ bản trống trên thành phần kích hoạt khi bạn tạo nó.
‫Vì vậy, hãy sao chép nó từ grabber hoặc mover của bạn, và nếu không, bạn sẽ không thể thêm các thành phần của mình vào
‫bản thiết kế của mình.
‫Vì vậy, sau đó bạn nên sử dụng thành phần kích hoạt mới này để thay thế thành phần hộp hiện tại của chúng tôi và in thứ gì đó từ
‫Begin Play.
‫Một lần nữa, nó sẽ không được thiết lập tự động cho bạn, vì vậy bạn sẽ phải sao chép từ tệp
‫tiêu đề và tệp C ++ của các thành phần khác của chúng tôi để thiết lập nó.
‫Tạm dừng video và tiếp tục.
‫Được chứ.
‫Chào mừng trở lại.
‫Vì vậy, tôi sẽ gọi nó là thành phần kích hoạt.
‫Tất cả một từ và nhấn để tạo lớp.
‫Vì vậy, như đã dự đoán, dòng lớp của bạn không có gì bên trong dấu ngoặc đơn và nếu chúng ta xem trình soạn thảo của mình và đi
‫đến bức tường bí mật của BP, hãy thử thêm thành phần này và tìm kiếm trình kích hoạt, bạn
‫sẽ không thấy gì xuất hiện.
‫Và lý do cho điều này là nếu chúng ta xem qua dấu chấm H và xem xét dòng lớp sử dụng của nó, bạn có
‫thể thấy rằng có một chút ở đây nói rằng bản thiết kế có thể sinh ra thành phần.
‫Vì vậy, điều quan trọng là chúng ta cần phải sao chép điều này.
‫Nó cũng có một nhóm lớp.
‫Chúng tôi cũng có thể sao chép toàn bộ vì điều này cho phép chúng tôi tạo thành phần này trong bản thiết kế
‫để chúng tôi có thể đi và dán nó làm dòng lớp cho thành phần kích hoạt.
‫Và điều khác, nếu chúng ta bắt đầu lấy, bạn có thể thấy nó phát huy tác dụng lớn,
‫nó nằm trong một phần được bảo vệ và chúng ta có thể chỉ cần sao chép định nghĩa của chức năng bắt đầu chơi đó, sao chép nó
‫vào thành phần kích hoạt của chúng ta và đặt nó dưới dạng nó nằm trong bộ gắp, ngay bên dưới phần thân được tạo ra.
‫Sau đó, chúng ta có thể đi vào lấy CP của mình và xem mức độ lớn trong cuộc chơi đã được xác định.
‫Ở đây, bạn có thể thấy rằng nó có cách chơi từ thú vị đến siêu lớn này thực sự rất quan trọng.
‫Vì vậy, chúng ta sẽ sao chép nó, chuyển sang một thành phần kích hoạt.
‫CP Và chúng tôi sẽ thay đổi bạn lấy dấu hai chấm để bạn kích hoạt thành phần, bắt đầu chơi.
‫Và sau đó tại đây, chúng tôi có thể đưa vào nhật ký của bạn và chúng tôi sẽ viết một thông báo đơn giản chẳng hạn như thành
‫phần kích hoạt còn sống và chúng tôi sẽ tiếp tục và biên dịch.
‫Quá trình này có thể mất một chút thời gian, vì chúng tôi đã thực hiện một số thay đổi khá quan trọng đối với tệp tiêu đề của mình.
‫Và khi đã xong, chúng ta có thể đi vào bức tường bí mật BP của mình, đi thêm và tìm kiếm trình kích hoạt.
‫Và ở đây, bạn có thể thấy chúng tôi đã có thành phần kích hoạt đó.
‫Bây giờ chúng ta có thể thêm nó vào.
‫Chúng tôi có thể xóa khu vực kích hoạt mà chúng tôi đã thiết lập trước đó.
‫Chỉ cần tiếp tục và xóa nó và kiểm tra xem chúng tôi muốn xóa nó.
‫Về cơ bản, sự kiện này sẽ làm mất hiệu lực của sự kiện mà chúng tôi đã tạo và chúng tôi có thể kiểm tra xem các va chạm có được thiết lập
‫như chúng tôi muốn trên trình kích hoạt hay không nếu chúng tôi muốn xem xét.
‫Tuy nhiên, nó được thiết lập để chồng chéo tất cả các động và tạo ra các sự kiện chồng chéo.
‫Và cuối cùng, những gì chúng ta cần thay thế là sự kiện này ở đây, nơi chúng ta
‫sẽ chọn nhấp chuột phải của trình kích hoạt của mình và đi đến mở sự kiện thêm cho xung đột kích hoạt và thêm vào chồng chéo thành phần bắt đầu.
‫Đó là những gì chúng tôi đã sử dụng trước đây.
‫Móc chốt hoạt động và móc chốt thực thi để lên cấp độ dungeon.
‫Đi và nhặt chiếc gươm, thử và dán nó vào hốc tường và chúng tôi nhận thấy nó không hoạt động.
‫Vì vậy, bây giờ chúng tôi đã thiết lập trình kích hoạt đó.
‫Hãy đi đến khung nhìn và bạn có thể thấy rằng thực ra trình kích hoạt không phải là nó chưa được làm đủ lớn.
‫Chúng tôi đã không định vị nó một cách chính xác.
‫Vì vậy, chúng ta hãy đi và đặt nó ở trung tâm của hốc tường và hãy tăng thuộc tính phạm vi hộp để chúng ta bắt được
‫bất cứ thứ gì chúng ta đã đặt bên trong khu vực hốc tường này.
‫Không thành vấn đề nếu nó lớn hơn một chút và mang lại cho chúng ta một biên độ an toàn và chúng ta có thể đi vào
‫ngục tối, đánh trò chơi và sau đó bước vào hốc tường.
‫Và chắc chắn, nó phát hiện ra rằng người chơi BP đã đi vào hốc tường đó.
‫Công cụ tuyệt vời.
‫Trong bài giảng này, chúng ta đã học tất cả về các kiểu đối tượng và phản hồi kiểu đối tượng, và chúng ta đã
‫sử dụng điều đó để thiết lập thành phần kích hoạt này.
‫Hẹn gặp lại các bạn trong bài giảng tiếp theo.