﻿1
00:00:04,110 --> 00:00:05,100
‫ยินดีต้อนรับกลับ.

2
00:00:05,370 --> 00:00:15,390
‫ดังนั้นเราจึงได้สร้างตัวชี้ส่วนประกอบแคปซูลใหม่และประกาศไปข้างหน้า ดังนั้นเราจึงไม่ต้องรวมไฟล์ส่วนหัวในฐานเมื่อชั่วโมง

3
00:00:15,450 --> 00:00:25,410
‫ถึงเวลาแล้วที่จะสร้างออบเจ็กต์ย่อยส่วนประกอบแคปซูลสำหรับ POM ฐานของเรา และเมื่อเราทำเช่นนั้น เราจะตั้งค่าส่วนประกอบรูทของเราให้เป็นแคปซูล

4
00:00:26,380 --> 00:00:30,010
‫แล้วเราจะสร้างส่วนประกอบแคปซูลของคุณได้อย่างไร?

5
00:00:30,130 --> 00:00:31,750
‫กระบวนการนี้ไม่จริงมาก

6
00:00:31,750 --> 00:00:37,300
‫เอ็นจิ้น unreal เฉพาะของเอ็นจิ้นได้สร้างออบเจ็กต์ย่อยเริ่มต้น

7
00:00:37,450 --> 00:00:39,880
‫นี่คือฟังก์ชันเทมเพลต

8
00:00:39,910 --> 00:00:46,060
‫ฟังก์ชันเทมเพลตจะปรับให้เข้ากับประเภทที่เลือก เพื่อให้เราเลือกประเภทที่ต้องการและสร้างค่าเริ่มต้นได้

9
00:00:46,060 --> 00:00:48,460
‫วัตถุย่อยจะปรับให้เข้ากับประเภทนั้น

10
00:00:48,460 --> 00:00:53,290
‫เราส่งประเภทที่เราต้องการสร้างเป็นสร้างวัตถุย่อยเริ่มต้น

11
00:00:53,590 --> 00:00:57,210
‫ต่างจากฟังก์ชันปกติตรงที่มีวงเล็บมุมเหล่านี้

12
00:00:57,220 --> 00:01:00,400
‫นี่คือที่ที่เราผ่านในประเภทที่จะสร้าง

13
00:01:00,430 --> 00:01:04,930
‫ตอนนี้สร้างวัตถุย่อยเริ่มต้นยังใช้อาร์กิวเมนต์ในวงเล็บ

14
00:01:04,930 --> 00:01:08,140
‫นี่จะเป็นชื่อที่เรากำหนดให้กับวัตถุย่อย

15
00:01:08,140 --> 00:01:12,220
‫ซึ่งแตกต่างจากชื่อตัวแปรและถูกส่งผ่านเป็นสตริงตามตัวอักษร

16
00:01:12,550 --> 00:01:13,960
‫นี่คือตัวอย่าง

17
00:01:13,960 --> 00:01:17,170
‫สมมติว่าเราต้องการสร้างองค์ประกอบตาข่ายแบบคงที่

18
00:01:17,350 --> 00:01:24,700
‫ดังนั้นเราจึงเรียกสร้างวัตถุย่อยเริ่มต้นและสิ้นสุดวงเล็บมุมที่เราส่งผ่านในองค์ประกอบตาข่ายแบบคงที่ประเภท

19
00:01:24,700 --> 00:01:27,190
‫u และในวงเล็บเราตั้งชื่อให้กับมัน

20
00:01:27,190 --> 00:01:31,300
‫ตอนนี้คุณได้เห็นแล้วว่าสำหรับ String Literals คุณควรใช้มาโครข้อความ

21
00:01:31,300 --> 00:01:35,200
‫ดังนั้นเราจึงส่งสตริงตามตัวอักษรของเราไปใช้มาโครข้อความที่นี่

22
00:01:35,230 --> 00:01:38,890
‫อย่างที่ฉันบอกไป นี่คือชื่อภายในที่ใช้โดย Unreal Engine

23
00:01:38,920 --> 00:01:41,080
‫มีฟังก์ชั่นอื่นที่ใช้สิ่งนี้

24
00:01:41,080 --> 00:01:45,130
‫ตัวอย่างเช่น มีฟังก์ชันที่เรียกว่า get default sub object ตามชื่อ

25
00:01:45,160 --> 00:01:50,890
‫มันดึงวัตถุย่อยที่เป็นของวัตถุเฉพาะ และคุณสามารถเรียกมันว่าส่งผ่านในชื่อเฉพาะ

26
00:01:50,890 --> 00:01:54,190
‫และมันจะค้นหาวัตถุย่อยที่มีชื่อที่เลือกนั้น

27
00:01:54,370 --> 00:01:59,440
‫ดังนั้นการเรียกฟังก์ชันโดยรวมเพื่อสร้างออบเจ็กต์ย่อยเริ่มต้นจึงมีลักษณะดังนี้

28
00:01:59,620 --> 00:02:03,580
‫ประเภทอยู่ในวงเล็บมุมและชื่ออยู่ในวงเล็บ

29
00:02:03,580 --> 00:02:09,460
‫ตอนนี้สร้างวัตถุย่อยเริ่มต้นส่งคืนที่อยู่ของส่วนประกอบที่สร้างขึ้นใหม่

30
00:02:09,460 --> 00:02:15,910
‫ในกรณีของเรา หากเราใช้องค์ประกอบตาข่ายแบบคงที่เป็นประเภท เราก็จะได้ที่อยู่ของส่วนประกอบตาข่ายแบบคงที่ที่ใช้

31
00:02:15,910 --> 00:02:21,970
‫และเราสามารถเก็บไว้ในตัวชี้ได้ เนื่องจากพอยน์เตอร์เก็บที่อยู่ของสิ่งต่างๆ

32
00:02:21,970 --> 00:02:26,050
‫สมมติว่าเราสร้างตัวชี้องค์ประกอบการใช้ตาข่ายแบบคงที่ที่เรียกว่าตาข่าย

33
00:02:26,050 --> 00:02:33,220
‫จากนั้นเราสามารถนำที่อยู่นั้นกลับมาโดยสร้างวัตถุย่อยเริ่มต้นและเก็บที่อยู่นั้นไว้ในตัวชี้ตาข่ายของเรา

34
00:02:33,700 --> 00:02:40,960
‫ตอนนี้คุณรู้แล้วว่าการสร้างออบเจ็กต์ย่อยเริ่มต้นทำงานอย่างไร คุณจะใช้สิ่งนี้เพื่อสร้างออบเจ็กต์ส่วนประกอบแคปซูล

35
00:02:40,990 --> 00:02:58,540
‫คุณจะทำสิ่งนี้ในคอนสตรัคเตอร์ PON พื้นฐานใช้สร้างออบเจ็กต์ย่อยเริ่มต้นเพื่อสร้างส่วนประกอบแคปซูลส่งผ่านส่วนประกอบแคปซูลของคุณและวงเล็บมุมเป็นประเภทที่จะสร้างและส่งผ่านในคอลไลเดอร์แคปซูลที่ห่อด้วยแมโครข้อความในวงเล็บ

36
00:02:58,900 --> 00:03:03,880
‫หยุดวิดีโอชั่วคราวและเพิ่มสิ่งนี้ลงใน base pont CP ใน Constructor ทันที

37
00:03:07,720 --> 00:03:08,170
‫ตกลง.

38
00:03:08,170 --> 00:03:09,430
‫ดังนั้นเราจึงมาอยู่ที่ Bass Pond

39
00:03:09,640 --> 00:03:13,270
‫ซีพีและเราต้องการสร้างส่วนประกอบแคปซูล

40
00:03:13,270 --> 00:03:22,150
‫ดังนั้นเราจะนำตัวแปรคอมพ์ของแคปซูลและกำหนดค่าที่ส่งคืนโดยสร้างออบเจ็กต์ย่อยเริ่มต้น

41
00:03:22,510 --> 00:03:29,620
‫อย่างที่เราเห็น ฟังก์ชันเทมเพลตนี้มีวงเล็บมุมและวงเล็บ และเราเห็นว่าประเภทอยู่ในวงเล็บมุม

42
00:03:29,620 --> 00:03:34,480
‫เราจะใช้ส่วนประกอบแคปซูล U

43
00:03:34,570 --> 00:03:41,320
‫และสำหรับวงเล็บ เราจะใช้แมโครข้อความ และเราจะเรียกแค็ปซูลคอลไลเดอร์นี้

44
00:03:42,160 --> 00:03:43,210
‫และเราไปที่นั่น

45
00:03:43,390 --> 00:03:48,870
‫ตอนนี้เราใช้ส่วนประกอบแคปซูลของคุณเพื่อสร้างวัตถุประเภทนี้

46
00:03:48,880 --> 00:03:52,450
‫และเมื่อเราใช้ประเภท เราจะรวมไฟล์ส่วนหัวไว้ด้วย

47
00:03:52,960 --> 00:03:56,290
‫ทีนี้มาดูกันว่าจะเกิดอะไรขึ้นเมื่อเราพยายามคอมไพล์

48
00:03:56,320 --> 00:04:00,560
‫อีกครั้ง คุณสามารถใช้ live coding หรือคอมไพล์ที่นี่ในโค้ด VZ

49
00:04:00,580 --> 00:04:03,820
‫ฉันจะรวบรวมที่นี่ในรหัส VTS ตลอดทั้งส่วนนี้

50
00:04:03,820 --> 00:04:09,550
‫ดังนั้นคุณคงรู้ได้ว่าเมื่อฉันคอมไพล์ ฉันได้ปิดตัวแก้ไข Unreal Engine และฉันกำลังรวบรวมจากที่นี่

51
00:04:09,550 --> 00:04:14,770
‫ฉันต้องการดูข้อความแสดงข้อผิดพลาดที่นี่ และตอนนี้รหัส VTS กำลังพยายามรวบรวมสิ่งนี้ที่นี่

52
00:04:14,770 --> 00:04:17,950
‫เราได้รับข้อผิดพลาดที่แตกต่างจากที่เราเห็นในวิดีโอที่แล้ว

53
00:04:17,980 --> 00:04:21,430
‫การใช้ส่วนประกอบแคปซูลชนิด u ที่ไม่ได้กำหนดไว้

54
00:04:21,610 --> 00:04:27,970
‫คราวนี้เรากำลังพยายามใช้ส่วนประกอบแคปซูล U ในไฟล์ CPP เพื่อสร้างวัตถุ

55
00:04:28,180 --> 00:04:33,190
‫นี่คือรหัสข้อผิดพลาดในกรณีที่คุณต้องการให้ Google ระบุข้อผิดพลาดประเภทนี้สำหรับข้อมูลเพิ่มเติม

56
00:04:33,610 --> 00:04:40,150
‫ตอนนี้เราได้เห็นข้อผิดพลาดในการรวบรวมสองประเภทที่แตกต่างกันในส่วนนี้ของหลักสูตร และเราทราบสาเหตุของข้อผิดพลาดนี้แล้ว

57
00:04:40,150 --> 00:04:42,700
‫เรายังไม่ได้รวมส่วนประกอบแคปซูลของคุณ

58
00:04:42,820 --> 00:04:50,530
‫นี่คือส่วนประกอบแคปซูล U ในเอกสารประกอบของ Unreal Engine และนี่คือส่วนประกอบที่เราต้องการสำหรับประเภทนี้

59
00:04:50,530 --> 00:04:56,710
‫ผมจะคัดลอกและวางไว้บนสุดของ Base Pond CPP

60
00:04:56,740 --> 00:05:02,890
‫ตอนนี้ถ้าฉันพยายามคอมไพล์อีกครั้ง คอมไพล์สำเร็จแล้ว เราไม่เห็นข้อผิดพลาด

61
00:05:03,100 --> 00:05:04,870
‫ฉันจะปิดเทอร์มินัลเดี๋ยวนี้

62
00:05:04,990 --> 00:05:07,510
‫ดังนั้นเราจึงได้สร้างส่วนประกอบแคปซูล

63
00:05:07,540 --> 00:05:11,920
‫สิ่งต่อไปที่ฉันจะทำคือตรวจสอบให้แน่ใจว่าส่วนประกอบของแคปซูลคือราก

64
00:05:11,950 --> 00:05:18,890
‫ตอนนี้เราเห็นวิธีกำหนดส่วนประกอบเป็นรูทและพิมพ์เขียวโดยคลิกและลากใน C ++

65
00:05:18,910 --> 00:05:20,430
‫นอกจากนี้ยังค่อนข้างง่าย

66
00:05:20,440 --> 00:05:26,590
‫เราเพียงแค่นำตัวแปรองค์ประกอบรูทนั้นมากำหนดค่าของคอมพ์แคปซูล

67
00:05:26,800 --> 00:05:30,520
‫ตอนนี้เราได้ระบุว่าคอมพ์แคปซูลควรเป็นส่วนประกอบรูท

68
00:05:30,790 --> 00:05:32,290
‫มาเรียบเรียงใหม่อีกครั้ง

69
00:05:32,470 --> 00:05:36,910
‫และตอนนี้ หลังจากที่รวบรวมได้สำเร็จ ฉันอยากจะกลับไปแก้ไข

70
00:05:37,000 --> 00:05:37,350
‫ตกลง.

71
00:05:37,360 --> 00:05:42,570
‫ฉันได้เปิดเอดิเตอร์ขึ้นมาแล้วและฉันจะใช้ฐานของฉัน --, คลาส C++ แล้วลากเข้าไป

72
00:05:42,580 --> 00:05:44,100
‫และตอนนี้ตรวจสอบออก

73
00:05:44,110 --> 00:05:46,330
‫เราเห็นส่วนประกอบของแคปซูล

74
00:05:46,420 --> 00:05:48,260
‫ตอนนี้ในโลก ซับออก

75
00:05:48,280 --> 00:05:53,870
‫มันแสดงให้เห็นว่าฐาน -- ที่ฉันเพิ่งลากเข้าไปนั้นถูกเลือกอยู่เหนือการค้นหาในแผงรายละเอียด

76
00:05:53,890 --> 00:05:58,660
‫ฉันสามารถลากมันลงมาและดูส่วนประกอบทั้งหมดบนฐานนี้ได้ --

77
00:05:58,660 --> 00:06:03,430
‫และทั้งหมดที่เราเห็นคือคอมพ์แคปซูลนี้ เพราะนั่นเป็นส่วนประกอบเดียวที่มี

78
00:06:03,520 --> 00:06:09,490
‫ตอนนี้เราได้เพิ่มส่วนประกอบแคปซูลของเราแล้ว และเห็นผลของสิ่งนั้นเมื่อเราเพิ่มอินสแตนซ์ของคลาสนี้ในโลกจริงใน

79
00:06:09,490 --> 00:06:13,120
‫Unreal Engine Editor

80
00:06:13,760 --> 00:06:25,070
‫โดยสรุปแล้ว เราได้เรียนรู้วิธีสร้างส่วนประกอบแคปซูลจาก C++ และเราทำให้มันเป็นส่วนประกอบรูทโดยกำหนดค่าของตัวแปรองค์ประกอบรูทให้กับคอมพ์แคปซูล

81
00:06:25,100 --> 00:06:29,600
‫ในวิดีโอหน้า เราจะเพิ่มส่วนประกอบเพิ่มเติมให้กับฐานของเราในคลาส C++

82
00:06:29,810 --> 00:06:30,770
‫แล้วเจอกันครับ

