﻿1
00:00:04,430 --> 00:00:05,360
‫สวัสดีและยินดีต้อนรับ.

2
00:00:05,360 --> 00:00:09,830
‫ในการบรรยายนี้ เราจะเรียนรู้เกี่ยวกับสิ่งที่เรียกว่าวัตถุโลก ซึ่งเป็นวัตถุที่สำคัญมากใน

3
00:00:09,830 --> 00:00:10,820
‫Unreal

4
00:00:10,820 --> 00:00:18,500
‫ฉันจะดูว่าเราจะหาเวลาปัจจุบันในเกมของเราจากวัตถุนี้ได้อย่างไร และพิมพ์ไปยังคอนโซลเมื่อสิ้นสุดการบรรยายนี้

5
00:00:18,500 --> 00:00:20,690
‫มาดำดิ่งกันและดูว่ามันทำงานอย่างไร

6
00:00:21,230 --> 00:00:28,280
‫ดังนั้นเพื่อที่จะสามารถทำเส้นตามรอยหรือกวาดล้างได้ เราจำเป็นต้องเข้าใจแนวคิดอื่น

7
00:00:28,280 --> 00:00:34,550
‫วัตถุประเภทอื่นที่มีอยู่ในดินแดนที่ไม่จริง และวัตถุนั้นก็คือโลก

8
00:00:34,550 --> 00:00:37,640
‫ดังนั้นเราจึงได้จัดการกับระดับต่างๆ มากมาย

9
00:00:37,640 --> 00:00:41,540
‫ดังนั้นถ้าเราไปจับฉลากเนื้อหา เราก็ได้จัดการกับแผนที่เช่นกัน

10
00:00:41,540 --> 00:00:46,790
‫ดังนั้นแผนที่และระดับที่เราได้พูดคุยกันนั้นมีความหมายเหมือนกัน

11
00:00:46,790 --> 00:00:51,050
‫อย่างไรก็ตาม โลกก็อยู่ที่นั่นในตอนเริ่มต้น

12
00:00:51,050 --> 00:01:01,940
‫ในการเริ่มต้นคือโลกใหม่และโลกใหม่เป็นประเภท เป็นชั้นเรียนสำหรับสภาพแวดล้อมโดยทั่วไปที่เราเห็นเมื่อเราเล่นเกม

13
00:01:02,300 --> 00:01:05,360
‫แต่ไม่จำเป็นต้องเพียงระดับเดียว

14
00:01:05,360 --> 00:01:14,750
‫คุณสามารถโหลดระดับที่เรียกว่าระดับคุณใน C++ ซึ่งเป็นเพียงชุดของนักแสดงที่เราควรนำมาสู่โลกใหม่

15
00:01:14,750 --> 00:01:19,730
‫ดังนั้นคุณจึงสามารถโหลดระดับเข้าสู่โลกของคุณได้ แต่ไม่จำเป็นต้องมีเพียงระดับเดียว

16
00:01:19,730 --> 00:01:23,510
‫คุณสามารถโหลดได้หลายระดับในโลกเดียว

17
00:01:23,510 --> 00:01:28,280
‫และนั่นเป็นเพราะว่าบ่อยครั้งที่เรามีระดับการสตรีมเหล่านี้ เรามีระดับที่ใหญ่มากที่เราไม่ต้องการโหลดทุกอย่าง

18
00:01:28,280 --> 00:01:32,510
‫นักแสดงทุกคนเข้าสู่ระดับในครั้งเดียวด้วยเหตุผลด้านประสิทธิภาพ

19
00:01:32,510 --> 00:01:39,860
‫ดังนั้นเราจึงแบ่งมันออกเป็นหลายระดับ และทำให้เราสามารถใส่เฉพาะบางส่วนของฉากได้ตามต้องการ

20
00:01:39,860 --> 00:01:52,820
‫ดังนั้นถ้าเราดูที่หน้าเอกสารประกอบใน New World ฉันคิดว่ามันอธิบายโดยย่อว่าโลกเป็นวัตถุระดับบนสุดที่แสดงถึงแผนที่หรือแซนด์บ็อกซ์ที่นักแสดงและส่วนประกอบจะมีอยู่และแสดงผล

21
00:01:52,820 --> 00:01:57,500
‫และถ้าคุณมองลึกลงไปอีกหน่อย ก็บอกว่าโลกสามารถเป็นระดับเดียวถาวร

22
00:01:57,500 --> 00:02:03,890
‫โดยทั่วไปหมายถึงระดับที่จะอยู่ที่นั่นตลอดเวลาหรืออาจมีรายการตัวเลือกระดับการสตรีมหรือระดับพื้นฐานที่สามารถโหลดได้ทุกเมื่อที่เราต้องการ

23
00:02:03,890 --> 00:02:07,730
‫.

24
00:02:08,150 --> 00:02:10,850
‫ทีนี้ เหตุใดสิ่งนี้จึงน่าสนใจ

25
00:02:10,910 --> 00:02:14,600
‫เป็นเรื่องที่น่าสนใจเพราะทำให้เราสามารถทำการติดตามเส้นได้

26
00:02:14,600 --> 00:02:20,600
‫หากเราค้นหาเอกสารที่นี่สำหรับการติดตามบรรทัด คุณจะเห็นว่ามีฟังก์ชันมากมายที่นี่

27
00:02:20,600 --> 00:02:28,340
‫โดยเฉพาะอย่างยิ่งสิ่งที่น่าสนใจที่สุดสำหรับเราคือการติดตามบรรทัดทีละช่องหรือการติดตามบรรทัดแบบหลายช่องตามช่องทาง

28
00:02:28,340 --> 00:02:39,170
‫ซึ่งช่วยให้เราตามลำดับ เพื่อจับวัตถุแรกที่โดนหรือวัตถุทั้งหมดที่โดนโดยการติดตามเส้น

29
00:02:39,320 --> 00:02:45,350
‫และคุณจะเห็นว่ารายการอาร์กิวเมนต์ โดยเฉพาะอย่างยิ่งถ้าฉันดูที่การติดตามบรรทัดเดียว

30
00:02:45,350 --> 00:02:52,520
‫รายการอาร์กิวเมนต์มีจุดเริ่มต้น มีจุดสิ้นสุด มีแชนเนลการติดตามที่จะทำการติดตาม

31
00:02:52,520 --> 00:02:59,570
‫และมันให้ผลลัพธ์ในรายการพารามิเตอร์ ซึ่งค่อนข้างแปลกและเราจะพูดถึงมันในไม่ช้า

32
00:02:59,960 --> 00:03:02,000
‫แต่อย่างไรก็ตาม นี่คือการติดตามเส้น

33
00:03:02,000 --> 00:03:05,570
‫เรายังมีความสามารถที่จะทำการกวาด

34
00:03:05,570 --> 00:03:09,980
‫ดังนั้นหากเราค้นหาการกวาด คุณจะเห็นว่ามีแชนเนลการกวาดหลายช่อง

35
00:03:10,010 --> 00:03:12,620
‫นอกจากนี้ยังมีการกวาดทีละช่อง

36
00:03:12,620 --> 00:03:20,690
‫และที่นี่ เช่นเดียวกับจุดเริ่มต้นและจุดสิ้นสุด คุณยังมีรูปแบบการชนกันของรูปร่างการชนที่คุณสามารถผ่านเข้าไปได้

37
00:03:20,690 --> 00:03:26,900
‫โดยพื้นฐานแล้วหากเราคลิกที่รูปร่างการชนกันของ F นั้น คุณสามารถทำตามในเอกสารประกอบใน

38
00:03:26,900 --> 00:03:36,440
‫Unreal เพื่ออ่านเพิ่มเติมเกี่ยวกับมัน และคุณจะเห็นว่าโดยพื้นฐานแล้วรูปร่างการชนกันของ F รองรับการเป็นกล่องแคปซูลทรงกลมหรือเส้น

39
00:03:36,440 --> 00:03:43,880
‫เราจะใช้ทรงกลมในกรณีของเราอย่างนั้น และเราจะมาดูวิธีสร้างสิ่งเหล่านี้ในภายหลัง

40
00:03:43,880 --> 00:03:48,530
‫แต่คุณสามารถเห็นได้ว่าทำไมเราถึงต้องการครอบครองโลกใหม่นั้น เหตุใดจึงสำคัญสำหรับเรา

41
00:03:48,530 --> 00:03:52,550
‫แต่คำถามคือเราจะเข้าถึงโลกใหม่ได้อย่างไร?

42
00:03:52,550 --> 00:03:55,490
‫และเมื่อเราจับมันได้แล้ว เราจะใช้มันอย่างไร?

43
00:03:55,850 --> 00:03:59,360
‫ไปดูโค้ด Visual Studio กันดีกว่า

44
00:03:59,990 --> 00:04:06,710
‫ในทุกองค์ประกอบและนักแสดงทุกคน มีฟังก์ชันที่เรียกว่า Get World

45
00:04:06,890 --> 00:04:12,800
‫และถ้าคุณพิมพ์ get world แล้วใส่วงเล็บ ก็จะส่งคืนอ็อบเจกต์ประเภท U world

46
00:04:12,800 --> 00:04:16,070
‫อันที่จริง ตัวชี้ไปยังวัตถุประเภทโลกใหม่

47
00:04:16,070 --> 00:04:17,090
‫เลยเอามาเก็บไว้

48
00:04:17,090 --> 00:04:23,690
‫เรามีตัวชี้โลกใหม่ ซึ่งเราจะเรียกมันว่าโลกใช่ไหม

49
00:04:23,870 --> 00:04:25,700
‫และนั่นก็เท่ากับได้โลก

50
00:04:25,700 --> 00:04:28,550
‫แล้วเราก็ใส่เครื่องหมายอัฒภาคต่อท้ายได้

51
00:04:28,550 --> 00:04:34,550
‫ทีนี้ เพื่อที่จะได้อะไรจากโลกนี้ เราจะใช้ตัวดำเนินการลูกศร

52
00:04:34,550 --> 00:04:41,300
‫เรากำลังจะทำ World Arrow และจากนั้นเราก็จะสามารถไปดูรายละเอียดบางอย่างของโลกนั้นได้

53
00:04:41,300 --> 00:04:47,330
‫แต่ก่อนที่เราจะทำอย่างนั้น เราจำเป็นต้องรวมไฟล์ส่วนหัวของมันด้วย เพราะไม่เช่นนั้นไฟล์ C++

54
00:04:47,330 --> 00:04:52,580
‫นี้ เมื่อคอมไพเลอร์เข้าถึงไฟล์นั้น จะไม่ทราบว่ามีอะไรรวมอยู่ในประเภทโลกใหม่

55
00:04:52,580 --> 00:04:55,700
‫ไม่มีข้อมูลเกี่ยวกับโลกใหม่เลย

56
00:04:55,850 --> 00:04:59,990
‫เพื่อแก้ไขปัญหานั้น เราต้องดูเอกสารของเราสำหรับ New World

57
00:04:59,990 --> 00:05:03,470
‫เลื่อนไปที่ด้านบนสุดแล้วมองหาที่ที่มันอยู่

58
00:05:03,570 --> 00:05:10,530
‫รวมถึงและนั่นทำให้เรารวมที่เราจำเป็นต้องใช้ คุณสามารถดูได้รวมถึงเครื่องยนต์เสนอราคา Ford slash

59
00:05:10,530 --> 00:05:18,990
‫world นั่นคือสิ่งที่เราต้องการ ดังนั้นเราจะใส่มันหลังจากที่ฉันคว้า H ที่นี่ และตอนนี้ถ้าเรากดพื้นที่ควบคุม เราควรจะได้

60
00:05:18,990 --> 00:05:23,670
‫รายการของสิ่งที่เราสามารถทำได้กับโลกนี้โดยเฉพาะ

61
00:05:23,670 --> 00:05:26,400
‫และมีมากมายที่เรามี

62
00:05:26,400 --> 00:05:34,770
‫เห็นได้ชัดว่าเราสามารถหาเส้นของเราได้ เราสามารถหาการกวาดของเราได้หลายแบบหรือแบบเดี่ยว

63
00:05:34,770 --> 00:05:38,070
‫เลยอยากท้าให้คุณพิมพ์ไทม์แลปส์

64
00:05:38,070 --> 00:05:42,030
‫นี่คือคุณสมบัติที่มีอยู่ในวัตถุ New World

65
00:05:42,060 --> 00:05:53,010
‫คุณจะพบคุณสมบัติเวลาวินาทีที่อ่านเกี่ยวกับมันในเอกสารที่เชื่อมโยงกับการบรรยายนี้และเก็บไว้ในตัวแปรประเภทที่เหมาะสม

66
00:05:53,010 --> 00:06:01,260
‫อีกครั้ง การดูเอกสารประกอบจะบอกคุณว่าควรเป็นประเภทใด จากนั้นบันทึกไปที่คอนโซลอีกครั้งโดยใช้รูปแบบที่เหมาะสม

67
00:06:01,260 --> 00:06:03,900
‫ระบุวิดีโอหยุดชั่วคราวและไปได้เลย

68
00:06:07,350 --> 00:06:08,340
‫โอเค ยินดีต้อนรับกลับ

69
00:06:08,340 --> 00:06:17,790
‫ดังนั้นเราจะใช้สิ่งนี้ในและถ้าฉันค้นหาเวลาในเอกสารโลกใหม่คุณจะเห็นว่ามีทศนิยมเรียกว่าเวลาเป็นวินาที

70
00:06:17,790 --> 00:06:21,360
‫นั่นคือสิ่งที่ฉันต้องการในกรณีนี้คือเวลาเล่นเกม

71
00:06:21,360 --> 00:06:26,040
‫ดังนั้นหากคุณชะลอหรือเร่งเวลา สิ่งนี้ก็จะช้าลงหรือเร็วขึ้นเช่นกัน

72
00:06:26,040 --> 00:06:29,280
‫แต่มีบางอย่างที่ไม่ได้รับผลกระทบ

73
00:06:29,580 --> 00:06:30,480
‫มีความแตกต่างกัน

74
00:06:30,480 --> 00:06:33,570
‫คุณมีเวลา วินาที เวลายกเลิกการหยุด วินาที

75
00:06:33,570 --> 00:06:38,700
‫นอกจากนี้ยังมีวินาทีแบบเรียลไทม์ที่ไม่มีการหยุดชั่วคราวหรือเปลี่ยนแปลงแต่อย่างใด

76
00:06:38,910 --> 00:06:40,590
‫ผมเลยสนใจเวลาเป็นวินาที

77
00:06:40,590 --> 00:06:43,710
‫ไม่สำคัญหรอกว่าอันไหนที่เราใช้เพราะว่ามันลอยอยู่ทั้งหมดอยู่แล้ว

78
00:06:43,710 --> 00:06:48,360
‫ฉันจะสร้างทุ่นที่เรียกว่า Time และเก็บ World Arrow Time

79
00:06:48,360 --> 00:06:53,940
‫พูดสั้นๆ ในเวลาสั้นๆ ว่า เราไม่จำเป็นต้องใส่โลกให้อยู่ในตัวแปรของตัวเอง

80
00:06:53,940 --> 00:06:56,790
‫มันค่อนข้างสั้นพอที่จะเรียก get world

81
00:06:56,790 --> 00:06:57,960
‫นั่นคือสิ่งที่เรามักจะทำ

82
00:06:57,960 --> 00:07:01,590
‫จะได้รับโลกแล้วลูกศรเวลาวินาทีเช่น

83
00:07:01,590 --> 00:07:12,420
‫ตอนนี้เราสามารถทำบันทึก ซึ่งเราจะบอกว่าเวลาปัจจุบันคือ แล้วเราจะทำเป็นเปอร์เซ็นต์ F เพราะเรากำลังพิมพ์เลขทศนิยมตรงนี้

84
00:07:12,420 --> 00:07:19,790
‫แล้วเราก็ให้เวลาเป็นอินพุตได้ ลงในบันทึก

85
00:07:19,800 --> 00:07:28,440
‫ตอนนี้ ไปควบคุม alt f 11 กับโค้ดจริง จากนั้นเราจะเปิดและเชื่อมต่อบันทึกเอาต์พุต

86
00:07:29,760 --> 00:07:31,620
‫และกดเล่น

87
00:07:32,670 --> 00:07:40,860
‫และคุณจะเห็นว่าเรามีเวลาปัจจุบันซึ่งกำลังนับขึ้นเป็นวินาทีเมื่อเวลาผ่านไปในเกมของเราเช่นนั้น

88
00:07:40,860 --> 00:07:47,580
‫และถ้าเรากดปุ่มหยุดชั่วคราว คุณจะสังเกตเห็นว่าเวลาหยุดเดิน และถ้าเรากดปุ่มเล่น

89
00:07:47,580 --> 00:07:50,310
‫มันก็จะเล่นต่อจากที่ที่เราอยู่

90
00:07:50,610 --> 00:07:51,150
‫เขาต้องการ.

91
00:07:51,150 --> 00:07:56,130
‫คุณสามารถทดลองโดยใช้วินาทีแบบเรียลไทม์และดูว่าผลกระทบนั้นเกิดขึ้นหรือไม่

92
00:07:56,220 --> 00:07:57,690
‫แต่ฉันจะไม่ไปที่นี่

93
00:07:57,690 --> 00:08:03,600
‫เราได้แสดงให้เห็นว่าเราสามารถจับวัตถุโลกใหม่นี้ วัตถุโลกนี้ที่เราอยู่ในขณะนี้

94
00:08:03,600 --> 00:08:07,980
‫และเราสามารถได้รับคุณสมบัติจากมันโดยใช้ลูกศรของเรา

95
00:08:07,980 --> 00:08:11,580
‫โอเปอเรเตอร์ตบหลังตัวเอง แล้วเจอกันในการบรรยายครั้งต่อไป

