﻿1
00:00:04,770 --> 00:00:06,070
‫เฮ้ ยินดีต้อนรับกลับมา

2
00:00:06,090 --> 00:00:11,850
‫ในวิดีโอนี้ เราจะแยกความแตกต่างระหว่างอินสแตนซ์ของคลาสพิมพ์เขียวเฉพาะกับพิมพ์เขียวเริ่มต้น

3
00:00:11,850 --> 00:00:17,130
‫ซึ่งเป็นพิมพ์เขียวที่ใช้กับอินสแตนซ์ทั้งหมด

4
00:00:17,130 --> 00:00:25,050
‫เรายังจะดูว่าเราสามารถกำหนด อ่าน หรือเขียนการเข้าถึงสำหรับตัวแปร C++ เฉพาะในพิมพ์เขียวได้อย่างไร

5
00:00:25,050 --> 00:00:26,360
‫มาเริ่มกันเลยดีกว่า

6
00:00:26,370 --> 00:00:30,810
‫ตอนนี้เราพร้อมที่จะเริ่มเปิดเผยส่วนประกอบบางส่วนของเราไปยัง Blueprint แล้ว

7
00:00:30,930 --> 00:00:38,040
‫ดังนั้นที่นี่ เรามีส่วนประกอบของเรา และเราเห็นว่าถ้าเราคลิกบนส่วนประกอบแต่ละรายการ แผงรายละเอียดของเราจะว่างเปล่าทั้งหมด

8
00:00:38,040 --> 00:00:44,070
‫ดังนั้นเราจึงต้องเรียนรู้วิธีที่เราสามารถเปิดเผยคุณสมบัติบางอย่างให้กับพิมพ์เขียว และเราทำได้โดยการใช้มาโครคุณสมบัติ

9
00:00:44,070 --> 00:00:45,960
‫U ของเรา

10
00:00:45,960 --> 00:00:51,060
‫ลองย้อนกลับไปที่โค้ด VS และดูมาโครคุณสมบัติ You

11
00:00:51,090 --> 00:00:53,010
‫นี่คือมาโครพิเศษ

12
00:00:53,010 --> 00:00:59,730
‫เป็นเอกลักษณ์ของ Unreal Engine และมีวงเล็บชุดนี้ เนื่องจากตอนนี้สามารถใช้พารามิเตอร์อินพุตเพื่อแสดงวิธีเปิดเผยสิ่งต่าง

13
00:00:59,730 --> 00:01:06,390
‫ๆ ได้ด้วยวิธีใดวิธีหนึ่ง เราจะสร้างตัวแปรที่ใช้แล้วทิ้งสองสามตัวที่เราลบได้เมื่อเรา

14
00:01:06,390 --> 00:01:09,870
‫เสร็จแล้ว

15
00:01:09,870 --> 00:01:15,450
‫เราจะใช้สิ่งเหล่านี้เพื่อดูว่าสิ่งที่เปิดเผยนี้ทำงานอย่างไร เพื่อให้เราสามารถสร้างจำนวนเต็มได้

16
00:01:15,450 --> 00:01:21,600
‫มาสร้าง INT 32 และฉันจะเรียกสิ่งนี้ว่า int 32 ที่มองเห็นได้ทุกที่

17
00:01:21,600 --> 00:01:27,090
‫และตรงนี้ ผมจะเริ่มต้นมันเป็นค่า เช่น 12

18
00:01:27,090 --> 00:01:33,390
‫ในการที่จะเปิดเผยสิ่งนี้ต่อระบบการสะท้อน เราจะต้องสร้างมาโครคุณสมบัติใหม่

19
00:01:33,390 --> 00:01:36,480
‫ทีนี้ นี่เป็นเพียงตัวแปรจำนวนเต็มธรรมดา

20
00:01:36,660 --> 00:01:41,880
‫ไม่ใช่ส่วนประกอบแบบนี้ จึงไม่แสดงในแท็บส่วนประกอบ

21
00:01:41,910 --> 00:01:48,600
‫จำไว้ที่นี่ในพิมพ์เขียว เรามีส่วนส่วนประกอบนี้ และส่วนประกอบใดๆ จะแสดงขึ้นที่นี่ แต่ตัวแปรปกติใดๆ

22
00:01:48,600 --> 00:01:51,630
‫เหล่านั้นจะปรากฏขึ้น

23
00:01:51,630 --> 00:02:00,120
‫หากเราคลิกที่ BP Pond, Tank Self เป็นต้น เราจะเห็นตัวแปรอื่นๆ ทั้งหมดที่ไม่ใช่ส่วนประกอบ

24
00:02:00,120 --> 00:02:05,250
‫ย้อนกลับไปใน vs code มาตัดสินใจว่าเราจะเปิดเผยที่ใดก็ได้อย่างไร

25
00:02:05,250 --> 00:02:09,600
‫INT ฉันจะแนะนำคุณเกี่ยวกับคีย์เวิร์ดของอสังหาริมทรัพย์บางคำให้คุณทราบ

26
00:02:09,600 --> 00:02:13,090
‫ตัวเลือกเหล่านี้สามารถใส่ลงในวงเล็บสำหรับตัว U ได้

27
00:02:13,110 --> 00:02:14,280
‫มาโครคุณสมบัติ

28
00:02:14,490 --> 00:02:17,400
‫สำหรับอันนี้ เราจะเพิ่มที่มองเห็นได้ทุกที่

29
00:02:17,430 --> 00:02:19,860
‫ตอนนี้ ไปข้างหน้าและรวบรวมสิ่งนี้

30
00:02:20,100 --> 00:02:20,520
‫ตกลง.

31
00:02:20,520 --> 00:02:23,250
‫เราจึงได้รวบรวมกลับมาที่ตัวแก้ไข

32
00:02:23,250 --> 00:02:30,780
‫และที่นี่ใน BP Pond Tank ฉันเลือกถัง BP ด้วยตัวเองที่นี่ และฉันสามารถค้นหาในแผงรายละเอียดเพื่อให้มองเห็นได้

33
00:02:30,780 --> 00:02:38,340
‫และนี่คือที่มองเห็นของฉันได้ทุกที่โดยสังเกตว่าพิมพ์เขียววางช่องว่างระหว่างแต่ละคำด้วยวิธีที่เรา

34
00:02:38,340 --> 00:02:46,350
‫ตั้งชื่อสิ่งนี้ด้วย Camel Case แล้วลองดู เราจะเห็นว่ามีค่า 12 และเป็นสีเทา

35
00:02:46,350 --> 00:02:48,960
‫เราไม่สามารถแก้ไขสิ่งนี้ได้เลย

36
00:02:48,960 --> 00:02:50,580
‫นั่นคือความหมายที่มองเห็นได้ทุกที่

37
00:02:50,580 --> 00:02:54,270
‫หมายความว่ามองเห็นได้ แต่เราไม่สามารถแก้ไขคุณสมบัตินี้ได้

38
00:02:54,300 --> 00:02:57,540
‫เอาล่ะ มาสร้าง INT 32 ใหม่กัน

39
00:02:57,540 --> 00:03:00,960
‫ฉันจะเรียกสิ่งนี้ว่าการแก้ไขที่ใดก็ได้ int

40
00:03:01,260 --> 00:03:10,230
‫และสำหรับสิ่งนี้ ฉันจะให้ค่ามัน พูด 22 และอันนี้จะได้รับมาโครคุณสมบัติ U ของตัวเอง และแทนที่จะมองเห็นได้ทุกที่

41
00:03:10,230 --> 00:03:13,770
‫ฉันจะให้คีย์เวิร์ดอันนี้

42
00:03:13,770 --> 00:03:15,210
‫แก้ไขได้ทุกที่

43
00:03:15,300 --> 00:03:21,690
‫ไปข้างหน้าและรวบรวมสิ่งนี้และกลับมาที่นี่ในเครื่องมือแก้ไข ฉันจะค้นหาแทนเพื่อแก้ไขได้ทุกที่

44
00:03:21,690 --> 00:03:28,080
‫และนี่คือการแก้ไขของฉันทุกที่ และคุณจะเห็นว่ามันมีค่า 22 เท่านั้น มันไม่ได้เป็นสีเทาอีกต่อไป

45
00:03:28,080 --> 00:03:30,060
‫ฉันเลือกได้ ฉันเปลี่ยนได้

46
00:03:30,060 --> 00:03:31,320
‫มันสามารถแก้ไขได้

47
00:03:31,320 --> 00:03:32,970
‫นั่นคือสิ่งที่หมายถึงการแก้ไขทุกที่

48
00:03:32,970 --> 00:03:34,560
‫หมายความว่าเราสามารถเปลี่ยนแปลงได้

49
00:03:34,590 --> 00:03:42,600
‫ดังนั้นแม้ว่าเราจะเริ่มต้นเป็น 22 ใน C++ เราก็สามารถเขียนทับค่านั้นที่นี่ในพิมพ์เขียวและให้ค่าใหม่ได้

50
00:03:42,600 --> 00:03:48,780
‫ตอนนี้คุณได้เรียนรู้เกี่ยวกับ Visible ได้ทุกที่และแก้ไขได้ทุกที่ แต่มีคำหลักมากกว่าสองคำนี้

51
00:03:48,780 --> 00:03:57,450
‫ตัวอย่างเช่น มาสร้าง int 32 ใหม่และเรียกอินสแตนซ์นี้ว่า int ที่มองเห็นได้เท่านั้น และเริ่มต้นสิ่งนี้เป็น

52
00:03:57,450 --> 00:03:58,350
‫11

53
00:03:58,350 --> 00:04:05,940
‫ตอนนี้มันจะได้รับมาโครคุณสมบัติของคุณและคำหลักที่ฉันจะมอบให้กับสิ่งนี้คืออินสแตนซ์ที่มองเห็นได้เท่านั้น

54
00:04:05,940 --> 00:04:12,630
‫มารวบรวมสิ่งนี้และกลับมาที่นี่ในแผงรายละเอียดในพิมพ์เขียว ฉันจะค้นหาที่มองเห็นได้ ตอนนี้ สังเกตว่าเราสามารถมองเห็นได้ทุกที่

55
00:04:12,630 --> 00:04:17,340
‫int แต่ตัวแปรใหม่ของเราอยู่ที่ไหน

56
00:04:17,340 --> 00:04:19,440
‫เราเรียกมันว่าอินสแตนซ์ที่มองเห็นได้เท่านั้น

57
00:04:19,440 --> 00:04:21,960
‫INT ดูอินสแตนซ์ที่มองเห็นได้เท่านั้น

58
00:04:21,960 --> 00:04:24,720
‫INT เราไม่เห็นมันที่นี่ แต่ลองดูนี่สิ

59
00:04:24,720 --> 00:04:29,730
‫ฉันจะเอาถัง BP ของเราและลากหนึ่งในนั้นออกไปในโลกที่นี่

60
00:04:29,730 --> 00:04:31,560
‫และเราสามารถมองเห็นโลกภายนอกได้

61
00:04:31,560 --> 00:04:35,370
‫ทันใดนั้นเรามีถังบ่อ BP ที่นี่ในโลก

62
00:04:35,370 --> 00:04:42,300
‫ด้วยการเลือกสิ่งนี้ ฉันสามารถลงมาที่นี่ในแผงรายละเอียดและค้นหาที่มองเห็นได้ ตอนนี้ลองดูสิ ตอนนี้เราจะมองเห็น

63
00:04:42,300 --> 00:04:48,810
‫int ที่มองเห็นได้ทุกที่และอินสแตนซ์ที่มองเห็นได้เท่านั้น int ของเรา

64
00:04:48,810 --> 00:04:54,750
‫แล้วเราจะเห็นมันที่นี่ได้อย่างไร แต่เรามองไม่เห็นมันเมื่อเราดูพิมพ์เขียวจริง ๆ เอง

65
00:04:54,750 --> 00:04:56,790
‫มีความแตกต่างที่ฉันอยากจะทำ

66
00:04:56,790 --> 00:05:01,770
‫คุณจะเห็นว่าเมื่อเรามีพิมพ์เขียวของเราในเบราว์เซอร์เนื้อหา เราสามารถดับเบิลคลิกได้

67
00:05:01,770 --> 00:05:03,750
‫เปิดขึ้นมาและดูคุณสมบัติของมัน

68
00:05:03,750 --> 00:05:04,020
‫อะไร

69
00:05:04,090 --> 00:05:07,150
‫เรากำลังดูที่นี่เป็นพิมพ์เขียวเริ่มต้น

70
00:05:07,150 --> 00:05:11,140
‫ข้อมูลนี้มีข้อมูลเริ่มต้นทั้งหมดสำหรับพิมพ์เขียว

71
00:05:11,140 --> 00:05:16,360
‫แต่ทันทีที่ฉันลากมันออกมาในระดับ ตอนนี้เราก็มีสิ่งที่เรียกว่าตัวอย่าง

72
00:05:16,360 --> 00:05:23,530
‫ดังนั้นถัง BP โดยเฉพาะที่มีอยู่ในโลกนี้จึงเป็นตัวอย่างของถังบ่อ BP

73
00:05:23,530 --> 00:05:30,010
‫อันที่จริง เราสามารถลากออกมาได้หลายอินสแตนซ์ และแต่ละอินสแตนซ์ที่มีอยู่ในโลกคือตัวอย่างของถังบ่อ

74
00:05:30,010 --> 00:05:31,510
‫BP

75
00:05:31,510 --> 00:05:34,840
‫ซึ่งแตกต่างจากพิมพ์เขียวเริ่มต้น

76
00:05:35,080 --> 00:05:42,520
‫ต่อไปนี้เป็นกราฟเล็กๆ น้อยๆ สำหรับคุณที่จะอ้างอิง และเราจะเติมกราฟนี้ให้มากขึ้นเมื่อเราเรียนรู้เกี่ยวกับตัวระบุเพิ่มเติม

77
00:05:42,520 --> 00:05:49,420
‫จนถึงตอนนี้ เราสามารถมองเห็นได้ทุกที่เท่านั้น ซึ่งคุณจะเห็นอยู่ภายใต้ทั้งคอลัมน์ค่าเริ่มต้นและคอลัมน์อินสแตนซ์

78
00:05:49,540 --> 00:05:52,120
‫และอยู่ในแถวชื่ออ่านอย่างเดียว

79
00:05:52,120 --> 00:05:57,640
‫ดังนั้นคุณจึงเห็นได้จากกราฟนี้ว่าสถานที่ให้บริการของคุณจะมองเห็นได้จากทุกที่เท่านั้น

80
00:05:57,640 --> 00:06:02,260
‫จะไม่สามารถแก้ไขได้ แต่จะมองเห็นได้ทั้งบนค่าเริ่มต้นและอินสแตนซ์

81
00:06:02,260 --> 00:06:07,510
‫ในขณะที่อินสแตนซ์ที่มองเห็นได้มีเพียงการเข้าถึงแบบอ่านอย่างเดียว แต่บนอินสแตนซ์เท่านั้น

82
00:06:07,510 --> 00:06:10,540
‫คุณไม่สามารถมองเห็นได้บนพิมพ์เขียวเริ่มต้น

83
00:06:10,540 --> 00:06:17,530
‫จากนั้นเราได้เรียนรู้เกี่ยวกับการแก้ไขทุกที่ ซึ่งช่วยให้เราแก้ไขคุณสมบัติของคุณในค่าเริ่มต้นและอินสแตนซ์ได้จริง

84
00:06:17,530 --> 00:06:21,730
‫จึงมีอยู่ในคอลัมน์ค่าเริ่มต้นและอินสแตนซ์

85
00:06:21,730 --> 00:06:27,010
‫เพื่อเป็นความท้าทาย ฉันต้องการให้คุณเพิ่มตัวแปรให้กับคลาสบ่อฐาน

86
00:06:27,010 --> 00:06:32,920
‫ตอนนี้ใส่สิ่งนี้ในส่วนสาธารณะและสิ่งที่คุณจะทำคือตัดสินใจว่าคุณต้องการเพิ่มตัวแปรประเภทใดและจะเป็นอะไรก็ได้

87
00:06:32,920 --> 00:06:38,020
‫แต่ทำให้เป็นประเภทพื้นฐานเช่นจำนวนเต็มหรือทศนิยม

88
00:06:38,170 --> 00:06:44,740
‫คุณยังสามารถทำให้เป็นเวกเตอร์ F หรือสตริง F ได้ หากคุณต้องการเริ่มต้นมันด้วยค่าเริ่มต้นเหมือนกับจุดสิ้นสุด

89
00:06:44,740 --> 00:06:46,540
‫30 twos อื่นๆ ของเรา

90
00:06:46,810 --> 00:06:49,030
‫และนี่อาจเป็นตัวแปรใดก็ได้ที่คุณต้องการ

91
00:06:49,030 --> 00:06:52,990
‫คุณสามารถสร้างตัวแปรความเร็วหรือตัวแปรความแข็งแกร่ง

92
00:06:52,990 --> 00:06:54,370
‫คุณมีอิสระที่นี่

93
00:06:54,370 --> 00:07:04,440
‫เมื่อคุณสร้างตัวแปรนี้แล้ว ให้ตัดสินใจเลือกระดับการเข้าถึงที่คุณต้องการสำหรับสิ่งนี้ จากนั้นให้มาโครคุณสมบัติและเพิ่มการระบุที่ถูกต้องที่นี่

94
00:07:04,450 --> 00:07:10,210
‫ตอนนี้ตัดสินใจว่าคุณต้องการให้สิ่งนี้มองเห็นได้เฉพาะในอินสแตนซ์หรือค่าเริ่มต้น หรือถ้าคุณต้องการให้มองเห็นได้ทุกที่หรือแก้ไขที่ใดก็ได้

95
00:07:10,210 --> 00:07:21,160
‫ให้ใช้ตัวระบุตัวใดตัวหนึ่งที่เราได้เรียนรู้มาจนถึงตอนนี้และระบุตัวแปรนี้ให้ถูกต้อง ไปข้างหน้าและหยุดวิดีโอชั่วคราวและสร้างตัวแปรนี้ทันที

96
00:07:23,970 --> 00:07:24,690
‫ไม่เป็นไร.

97
00:07:24,690 --> 00:07:26,800
‫ผมจะไปสร้างตัวแปรก่อน

98
00:07:26,820 --> 00:07:29,250
‫ตอนนี้ ไม่เป็นไรถ้าคุณทำสิ่งที่แตกต่างไปจากเดิมอย่างสิ้นเชิง

99
00:07:29,250 --> 00:07:30,810
‫นี่เป็นเพียงเพื่อการปฏิบัติ

100
00:07:30,810 --> 00:07:38,100
‫ฉันจะทำลูกลอยและฉันจะเรียกความเร็วนี้และฉันจะเริ่มต้นความเร็วเป็น 400 F

101
00:07:38,700 --> 00:07:45,930
‫และฉันคิดว่าฉันต้องการให้ตัวแปรความเร็วนี้สามารถแก้ไขได้ทั้งในอินสแตนซ์และค่าเริ่มต้น

102
00:07:45,930 --> 00:07:52,050
‫ดังนั้นฉันจะให้มาโครคุณสมบัติ U และทำการแก้ไขได้ทุกที่

103
00:07:52,050 --> 00:07:54,360
‫ดังนั้นฉันจะไปข้างหน้าและรวบรวมสิ่งนี้

104
00:07:54,360 --> 00:08:00,180
‫และในโปรแกรมแก้ไข ฉันสามารถเลือกหนึ่งในฐานของฉัน -- อินสแตนซ์รถถัง

105
00:08:00,330 --> 00:08:06,870
‫และในแผงรายละเอียด ฉันสามารถเห็นตัวแปรความเร็วของฉัน และแน่นอนว่าฉันสามารถแก้ไขได้ที่นี่

106
00:08:06,870 --> 00:08:13,290
‫และถ้าฉันเปิด -- รถถัง นี่คือตัวแปรความเร็วของฉัน มันตั้งไว้ที่ 400 และแก้ไขได้

107
00:08:13,290 --> 00:08:20,220
‫โดยสรุปแล้ว เราได้เรียนรู้ความแตกต่างระหว่างอินสแตนซ์กับค่าเริ่มต้นของคลาสพิมพ์เขียวเฉพาะ

108
00:08:20,220 --> 00:08:27,240
‫นอกจากนี้เรายังได้เรียนรู้ตัวระบุคุณสมบัติใหม่สองสามตัว เช่น Visible Anywhere, Visible, Instance เท่านั้น และแก้ไขได้ทุกที่

109
00:08:27,240 --> 00:08:35,880
‫ในวิดีโอหน้า เราจะเรียนรู้วิธีควบคุมการเข้าถึงตัวแปร C++ ใน Blueprint ต่อไปโดยใช้ตัวระบุคุณสมบัติใหม่เหล่านี้

110
00:08:35,970 --> 00:08:36,900
‫เจอกันเร็วๆนี้ครับ

