﻿1
00:00:04,110 --> 00:00:05,100
‫Chào mừng trở lại.

2
00:00:05,370 --> 00:00:12,150
‫Vì vậy, chúng tôi đã tạo một con trỏ thành phần viên nang mới và khai báo chuyển tiếp nó để chúng tôi không

3
00:00:12,150 --> 00:00:15,390
‫phải bao gồm tệp tiêu đề trong cơ sở sau h.

4
00:00:15,450 --> 00:00:22,140
‫Bây giờ đã đến lúc thực sự xây dựng một đối tượng con của thành phần viên nang cho POM cơ sở của chúng tôi Và khi chúng tôi làm điều

5
00:00:22,140 --> 00:00:25,410
‫đó, chúng tôi sẽ đặt thành phần gốc của chúng tôi là viên nang.

6
00:00:26,380 --> 00:00:30,010
‫Vì vậy, làm thế nào để chúng tôi thực sự tạo ra một thành phần viên nang cho bạn?

7
00:00:30,130 --> 00:00:31,750
‫Quá trình này là rất không thực tế.

8
00:00:31,750 --> 00:00:37,300
‫Công cụ không có thực cụ thể đã tạo đối tượng phụ mặc định.

9
00:00:37,450 --> 00:00:39,880
‫Đây là một chức năng mẫu.

10
00:00:39,910 --> 00:00:46,060
‫Hàm mẫu thích ứng với kiểu đã chọn để chúng ta có thể chọn một kiểu cụ thể và tạo mặc định.

11
00:00:46,060 --> 00:00:48,460
‫Đối tượng phụ sẽ thích ứng với kiểu đó.

12
00:00:48,460 --> 00:00:53,290
‫Chúng tôi chuyển kiểu mà chúng tôi muốn xây dựng vào tạo đối tượng phụ mặc định.

13
00:00:53,590 --> 00:00:57,210
‫Không giống như một hàm thông thường, nó có các dấu ngoặc nhọn này.

14
00:00:57,220 --> 00:01:00,400
‫Đây là nơi chúng ta truyền vào kiểu để xây dựng.

15
00:01:00,430 --> 00:01:04,930
‫Bây giờ tạo đối tượng con mặc định cũng lấy một đối số trong dấu ngoặc đơn của nó.

16
00:01:04,930 --> 00:01:08,140
‫Đây sẽ là tên mà chúng tôi gán cho đối tượng phụ.

17
00:01:08,140 --> 00:01:12,220
‫Tên này khác với tên biến và nó được chuyển vào dưới dạng một chuỗi ký tự.

18
00:01:12,550 --> 00:01:13,960
‫Vì vậy, đây là một ví dụ.

19
00:01:13,960 --> 00:01:17,170
‫Giả sử chúng ta muốn tạo một thành phần lưới tĩnh u.

20
00:01:17,350 --> 00:01:24,700
‫Vì vậy, chúng tôi gọi tạo đối tượng con mặc định và kết thúc dấu ngoặc nhọn mà chúng tôi chuyển vào thành phần lưới tĩnh kiểu u và trong

21
00:01:24,700 --> 00:01:27,190
‫dấu ngoặc đơn, chúng tôi đặt tên cho nó.

22
00:01:27,190 --> 00:01:31,300
‫Bây giờ bạn đã thấy rằng đối với String Literals, bạn nên sử dụng macro văn bản.

23
00:01:31,300 --> 00:01:35,200
‫Vì vậy, chúng tôi đang chuyển chuỗi của mình theo nghĩa đen bằng cách sử dụng macro văn bản ở đây.

24
00:01:35,230 --> 00:01:38,890
‫Bây giờ, như tôi đã đề cập, đây là tên nội bộ được Unreal Engine sử dụng.

25
00:01:38,920 --> 00:01:41,080
‫Có những chức năng khác sử dụng điều này.

26
00:01:41,080 --> 00:01:45,130
‫Ví dụ, có một chức năng được gọi là lấy đối tượng phụ mặc định theo tên.

27
00:01:45,160 --> 00:01:50,890
‫Nó truy xuất một đối tượng con thuộc một đối tượng cụ thể và bạn có thể gọi nó truyền bằng một tên cụ thể

28
00:01:50,890 --> 00:01:54,190
‫và nó sẽ tìm kiếm đối tượng con có tên đã chọn đó.

29
00:01:54,370 --> 00:01:59,440
‫Vì vậy, lệnh gọi hàm tổng thể để tạo đối tượng phụ mặc định trông như thế này.

30
00:01:59,620 --> 00:02:03,580
‫Loại đi trong ngoặc nhọn và tên đi trong ngoặc đơn.

31
00:02:03,580 --> 00:02:09,460
‫Bây giờ tạo đối tượng con mặc định trả về địa chỉ của thành phần mới được tạo.

32
00:02:09,460 --> 00:02:15,910
‫Vì vậy, trong trường hợp của chúng tôi, nếu chúng tôi sử dụng thành phần lưới tĩnh làm kiểu, thì chúng tôi nhận được địa chỉ của thành phần lưới

33
00:02:15,910 --> 00:02:21,970
‫tĩnh sử dụng và chúng tôi có thể lưu trữ địa chỉ đó trong một con trỏ vì con trỏ lưu trữ địa chỉ của mọi thứ.

34
00:02:21,970 --> 00:02:26,050
‫Vì vậy, giả sử chúng ta tạo một con trỏ thành phần lưới tĩnh sử dụng được gọi là mesh.

35
00:02:26,050 --> 00:02:32,500
‫Sau đó, chúng ta có thể lấy địa chỉ đó trả về bằng cách tạo đối tượng con mặc định và lưu trữ địa chỉ đó trong con trỏ lưới

36
00:02:32,500 --> 00:02:33,220
‫của chúng ta.

37
00:02:33,700 --> 00:02:39,550
‫Vì vậy, bây giờ bạn đã biết cách tạo đối tượng phụ mặc định hoạt động, bạn sẽ sử dụng điều này để xây dựng một

38
00:02:39,550 --> 00:02:40,960
‫đối tượng thành phần viên nang.

39
00:02:40,990 --> 00:02:47,230
‫Bạn sẽ thực hiện điều này trong hàm tạo PON cơ sở, sử dụng tạo đối tượng phụ mặc định để xây

40
00:02:47,230 --> 00:02:54,310
‫dựng đường truyền thành phần viên nang trong thành phần viên nang của bạn và dấu ngoặc nhọn làm kiểu để tạo và truyền trong trình

41
00:02:54,310 --> 00:02:58,540
‫tạo viên nang được bao bọc trong macro văn bản trong dấu ngoặc đơn.

42
00:02:58,900 --> 00:03:03,880
‫Tạm dừng video và thêm video này vào CP pont cơ sở trong hàm tạo ngay bây giờ.

43
00:03:07,720 --> 00:03:08,170
‫Được chứ.

44
00:03:08,170 --> 00:03:09,430
‫Vì vậy, chúng tôi ở đây trong Bass Pond.

45
00:03:09,640 --> 00:03:13,270
‫CP và chúng tôi muốn xây dựng một thành phần viên nang.

46
00:03:13,270 --> 00:03:21,400
‫Vì vậy, chúng tôi sẽ lấy biến comp nang của chúng tôi và gán giá trị được trả về bằng cách tạo đối tượng con

47
00:03:21,400 --> 00:03:22,150
‫mặc định.

48
00:03:22,510 --> 00:03:29,620
‫Bây giờ, như chúng ta đã thấy, hàm mẫu này có dấu ngoặc nhọn cũng như dấu ngoặc đơn, và chúng ta thấy rằng

49
00:03:29,620 --> 00:03:34,480
‫kiểu nằm trong dấu ngoặc nhọn, chúng ta sẽ sử dụng thành phần U nang.

50
00:03:34,570 --> 00:03:41,320
‫Và đối với các dấu ngoặc, chúng ta sẽ sử dụng macro văn bản và chúng ta sẽ gọi đây là máy va chạm viên nang.

51
00:03:42,160 --> 00:03:43,210
‫Và chúng ta bắt đầu.

52
00:03:43,390 --> 00:03:48,870
‫Bây giờ chúng tôi đang sử dụng bạn thành phần viên nang để tạo một đối tượng kiểu này.

53
00:03:48,880 --> 00:03:52,450
‫Và khi chúng tôi sử dụng một loại, chúng tôi bao gồm tệp tiêu đề của nó.

54
00:03:52,960 --> 00:03:56,290
‫Bây giờ chúng ta hãy xem điều gì sẽ xảy ra khi chúng ta cố gắng biên dịch.

55
00:03:56,320 --> 00:04:00,560
‫Bây giờ một lần nữa, bạn có thể sử dụng mã hóa trực tiếp hoặc bạn có thể biên dịch tại đây bằng mã VZ.

56
00:04:00,580 --> 00:04:03,820
‫Tôi sẽ biên dịch mã VTS ở đây trong suốt phần này.

57
00:04:03,820 --> 00:04:09,130
‫Vì vậy, bạn có thể biết rằng khi tôi biên dịch, tôi đã đóng trình chỉnh sửa Unreal Engine và tôi chỉ đang biên dịch từ

58
00:04:09,130 --> 00:04:09,550
‫đây.

59
00:04:09,550 --> 00:04:14,770
‫Tôi muốn thấy thông báo lỗi ở đây và mã VTS hiện đang cố gắng biên dịch mã này ở đây.

60
00:04:14,770 --> 00:04:17,950
‫Chúng tôi gặp lỗi khác với lỗi chúng tôi đã thấy trong video trước.

61
00:04:17,980 --> 00:04:21,430
‫Sử dụng thành phần viên nang loại u không xác định.

62
00:04:21,610 --> 00:04:27,970
‫Lần này, chúng tôi đang cố gắng sử dụng loại thành phần viên nang U ở đây trong tệp CPP để tạo một đối tượng.

63
00:04:28,180 --> 00:04:33,190
‫Đây là mã lỗi trong trường hợp bạn muốn Google loại lỗi cụ thể này để biết thêm thông tin.

64
00:04:33,610 --> 00:04:38,470
‫Vì vậy, bây giờ chúng tôi đã thấy hai loại lỗi biên dịch khác nhau trong phần này của khóa học và chúng tôi

65
00:04:38,470 --> 00:04:40,150
‫biết nguyên nhân của lỗi cụ thể này.

66
00:04:40,150 --> 00:04:42,700
‫Chúng tôi đã không bao gồm bạn thành phần viên nang.

67
00:04:42,820 --> 00:04:49,330
‫Bây giờ đây là thành phần nang U trong tài liệu của Unreal Engine và đây là thành phần chúng ta cần

68
00:04:49,330 --> 00:04:50,530
‫cho loại này.

69
00:04:50,530 --> 00:04:56,710
‫Vì vậy, tôi sẽ sao chép nó và dán nó vào đây ở trên cùng của Base Pond CPP.

70
00:04:56,740 --> 00:05:02,890
‫Bây giờ nếu tôi cố gắng biên dịch lại, biên dịch thành công, chúng tôi không thấy lỗi.

71
00:05:03,100 --> 00:05:04,870
‫Tôi sẽ đóng cửa nhà ga bây giờ.

72
00:05:04,990 --> 00:05:07,510
‫Vì vậy, chúng tôi đã tạo ra thành phần viên nang.

73
00:05:07,540 --> 00:05:11,920
‫Điều tiếp theo tôi muốn làm là đảm bảo thành phần viên nang là gốc.

74
00:05:11,950 --> 00:05:18,890
‫Bây giờ chúng ta đã thấy cách chỉ định một thành phần làm gốc và các bản thiết kế bằng cách nhấp và kéo trong C ++.

75
00:05:18,910 --> 00:05:20,430
‫Nó cũng khá dễ dàng.

76
00:05:20,440 --> 00:05:26,590
‫Chúng tôi chỉ cần lấy biến thành phần gốc đó và gán cho nó giá trị của capsule comp.

77
00:05:26,800 --> 00:05:30,520
‫Bây giờ chúng tôi đã chỉ định rằng capsule comp phải là thành phần gốc.

78
00:05:30,790 --> 00:05:32,290
‫Hãy biên dịch lại cái này.

79
00:05:32,470 --> 00:05:36,910
‫Và bây giờ sau khi biên dịch thành công, tôi muốn quay lại trình biên tập.

80
00:05:37,000 --> 00:05:37,350
‫Được chứ.

81
00:05:37,360 --> 00:05:42,570
‫Tôi đã mở trình chỉnh sửa và tôi sẽ lấy cơ sở -, lớp C ++ và kéo một lớp vào.

82
00:05:42,580 --> 00:05:44,100
‫Và bây giờ hãy kiểm tra điều này.

83
00:05:44,110 --> 00:05:46,330
‫Chúng tôi thấy một thành phần viên nang.

84
00:05:46,420 --> 00:05:48,260
‫Bây giờ trên thế giới, ngoài lót.

85
00:05:48,280 --> 00:05:53,350
‫Nó cho thấy rằng cơ sở - mà tôi vừa kéo vào bây giờ được chọn ngay phía trên tìm kiếm trong bảng

86
00:05:53,350 --> 00:05:53,870
‫chi tiết.

87
00:05:53,890 --> 00:05:58,660
‫Tôi có thể kéo cái này xuống và xem tất cả các thành phần trên cơ sở này -.

88
00:05:58,660 --> 00:06:03,430
‫Và tất cả những gì chúng ta thấy là viên nang này vì đó là thành phần duy nhất mà nó có.

89
00:06:03,520 --> 00:06:09,490
‫Vì vậy, bây giờ chúng tôi đã thêm thành phần viên nang của mình và chúng tôi thấy kết quả của điều đó khi chúng tôi thực

90
00:06:09,490 --> 00:06:13,120
‫sự thêm một phiên bản của lớp này vào thế giới trong Unreal Engine Editor.

91
00:06:13,760 --> 00:06:19,970
‫Vì vậy, tóm lại, chúng tôi đã học cách xây dựng một thành phần viên nang từ C ++ và chúng tôi đã đặt nó

92
00:06:19,970 --> 00:06:25,070
‫trở thành thành phần gốc bằng cách gán giá trị của biến thành phần gốc cho thành phần viên nang.

93
00:06:25,100 --> 00:06:29,600
‫Trong video tiếp theo, chúng ta sẽ thêm nhiều thành phần hơn vào cơ sở của chúng ta trong lớp C ++.

94
00:06:29,810 --> 00:06:30,770
‫Tôi sẽ gặp bạn sau.

