﻿1
00:00:04,320 --> 00:00:06,060
‫สวัสดีและยินดีต้อนรับการบรรยายนี้

2
00:00:06,060 --> 00:00:10,950
‫เราจะดูว่าเราจะเขียนสิ่งต่าง ๆ ลงในบันทึกผลลัพธ์ได้อย่างไร และเราจะเขียนค่าของตัวแปรลงในไฟล์นั้นได้อย่างไร

3
00:00:10,950 --> 00:00:16,290
‫ซึ่งจะช่วยให้เราดีบักเกมของเราได้

4
00:00:16,290 --> 00:00:18,450
‫มาดูกันว่ามันทำงานอย่างไร

5
00:00:19,470 --> 00:00:30,340
‫ดังนั้นใน Blueprint เราสามารถเขียนสิ่งต่างๆ บนหน้าจอได้เมื่อเราต้องการแสดงข้อมูลบางอย่างอย่างรวดเร็วหรืออาจแก้ไขข้อบกพร่องบางอย่างในอดีต

6
00:00:30,360 --> 00:00:43,610
‫เรามีใน C ++ ใช้คุณสมบัติใหม่ในการทำเช่นนั้น แต่จริง ๆ แล้วเราสามารถทำเช่นนี้ได้โดยใช้คำสั่งบันทึกและมันค่อนข้างซับซ้อนเล็กน้อยไม่จริงซึ่งเป็นสาเหตุที่ฉันเลี่ยงที่จะทำมันมาจนถึงจุดนี้

7
00:00:43,620 --> 00:00:47,850
‫ดังนั้นเราจึงคุ้นเคยกับไวยากรณ์ C++ มากขึ้นก่อนที่จะแนะนำให้คุณรู้จัก

8
00:00:48,180 --> 00:00:56,430
‫วิธีการทำงานก็คือ ถ้าคุณมีส่วนขยายที่นี่ ติดตั้งตัวอย่างสี่ส่วนที่ไม่จริงโดยใช้ตัวพิมพ์ใหญ่และตัวพิมพ์ใหญ่ สิ่งนี้จะง่ายขึ้นเล็กน้อยจริง

9
00:00:56,430 --> 00:01:01,200
‫ๆ เพราะคุณไม่จำเป็นต้องจำความซับซ้อนทั้งหมดของไวยากรณ์

10
00:01:01,200 --> 00:01:07,860
‫คุณเพียงแค่พิมพ์ คุณเข้าสู่ระบบ และกล่องโต้ตอบ IntelliSense จะปรากฏขึ้นพร้อมข้อความว่าคุณเข้าสู่ระบบเพื่อช่วยให้คุณเขียนโค้ดทั้งหมด

11
00:01:07,860 --> 00:01:13,590
‫และคุณสามารถกด ป้อน หรือเลือกรหัสด้วยเมาส์ได้

12
00:01:13,590 --> 00:01:18,240
‫แล้วสิ่งที่คุณจะเห็นคือ มันเขียนบางอย่างที่ดูเหมือนฟังก์ชัน

13
00:01:18,240 --> 00:01:21,120
‫มันไม่ใช่หน้าที่จริงภายใต้ประทุน

14
00:01:21,510 --> 00:01:27,660
‫มันมีเวทย์มนตร์ที่ไม่จริงอยู่บ้าง แต่โดยพื้นฐานแล้วมันคล้ายกับฟังก์ชั่น

15
00:01:27,660 --> 00:01:33,330
‫สิ่งที่เราจะทำในที่นี้คือ เรากำลังส่งข้อโต้แย้งสองสามข้อไปยังฟังก์ชันนี้

16
00:01:33,330 --> 00:01:40,890
‫อันแรกบอกเราว่าเรากำลังทำหมวดหมู่บันทึกประเภทใด

17
00:01:40,890 --> 00:01:44,700
‫อันที่สองบอกเราถึงระดับของบันทึก

18
00:01:44,700 --> 00:01:46,860
‫ดังนั้นจึงเป็นเรื่องเร่งด่วนอย่างยิ่ง

19
00:01:47,160 --> 00:01:56,790
‫และในที่สุด เราก็ได้สิ่งนี้มา ซึ่งโดยพื้นฐานแล้วเป็นฟังก์ชันภายในฟังก์ชันที่บอกข้อความที่เราจำเป็นต้องพิมพ์ออกมา

20
00:01:57,060 --> 00:01:58,980
‫แล้วมันทำงานอย่างไร?

21
00:01:58,980 --> 00:02:05,730
‫หากเราปล่อยสิ่งนี้ไว้ในโค้ดของเรา ไปที่ unreal hit คอมไพล์ เราต้องการที่จะดูว่ามันแสดงขึ้นที่ไหน?

22
00:02:05,730 --> 00:02:10,230
‫เมื่อการรวบรวมเสร็จสิ้นเราจะไปเล่นต่อ

23
00:02:10,530 --> 00:02:15,480
‫และสิ่งที่คุณกำลังมองหาคือมันจะไม่ปรากฏบนหน้าจอที่นี่

24
00:02:15,480 --> 00:02:17,520
‫มันจะอยู่ในเอาต์พุต

25
00:02:17,520 --> 00:02:22,630
‫เข้าสู่ระบบที่นี่และคุณสามารถดูได้ที่นี่

26
00:02:22,630 --> 00:02:28,230
‫มันบอกว่าแสดงข้อความของคุณและเรามีข้อความกี่ข้อความ?

27
00:02:28,230 --> 00:02:30,960
‫หนึ่งสองสามสี่ห้า.

28
00:02:31,110 --> 00:02:39,930
‫เหตุผลก็คือมันกำลังแสดงข้อความสำหรับนักแสดงทุกคนในฉากของเราซึ่งเป็นแพลตฟอร์มที่เคลื่อนไหว

29
00:02:39,960 --> 00:02:43,770
‫CP นั่นคือเหตุผลที่เราได้รับข้อความมากมาย

30
00:02:43,770 --> 00:02:48,030
‫และคุณจะเห็นว่าเราสามารถเปลี่ยนข้อความให้เป็นอะไรก็ได้ที่เราอยากให้เป็นที่นี่

31
00:02:48,540 --> 00:02:57,180
‫และเรายังใส่ข้อมูลเพิ่มเติมในข้อความนี้ได้ เช่น สถานที่เริ่มต้น หรือชื่อนักแสดง

32
00:02:57,180 --> 00:02:59,100
‫อะไรทำนองนั้น

33
00:02:59,280 --> 00:03:00,810
‫งั้นเราไปกันเลย

34
00:03:00,810 --> 00:03:06,120
‫เรามีบันทึกผลลัพธ์ เราได้รับข้อความ และคุณสามารถเริ่มดูว่าหมวดหมู่ที่ฉันกำลังพูดถึงคืออะไร

35
00:03:06,120 --> 00:03:13,710
‫คุณจะเห็นได้ว่าเรามีบันทึกอุณหภูมิที่นี่ แต่ด้านบนนี้เรามีเครื่องผสมสัญญาณเสียงบันทึก Log World

36
00:03:13,710 --> 00:03:18,480
‫จึงมีการบันทึกหมวดหมู่ต่างๆ ที่ช่วยให้เราแยกแยะได้ว่าข้อความนี้มาจากไหน

37
00:03:18,480 --> 00:03:21,060
‫มาจากภาคไหนของ Unreal?

38
00:03:21,060 --> 00:03:29,340
‫แต่บันทึกชั่วคราวเป็นสิ่งที่เราจะใช้เป็นส่วนใหญ่เพราะเป็นเพียงสถานที่ชั่วคราวสำหรับการออกจากระบบข้อความแก้ไขข้อบกพร่องแล้วมีการแสดงผล

39
00:03:29,340 --> 00:03:35,130
‫นี่คือระดับเริ่มต้น ระดับการบันทึก แต่เราสามารถมีข้อความ เป็นสิ่งที่แตกต่างกันมากมาย

40
00:03:35,130 --> 00:03:39,390
‫สามารถแสดงหรือค่าใดก็ได้จากตารางด้านล่างนี้

41
00:03:39,390 --> 00:03:43,680
‫ดังนั้นคุณจึงเห็นการแสดงผลที่นี่พิมพ์ข้อความไปยังคอนโซลและล็อกไฟล์

42
00:03:43,680 --> 00:03:48,150
‫เรามีบันทึกลงที่นี่ซึ่งพิมพ์ข้อความไปยังไฟล์บันทึกเท่านั้นและไม่แสดงในคอนโซล

43
00:03:48,150 --> 00:03:53,400
‫ดังนั้นนี่คือสิ่งที่คุณไม่ต้องการให้แสดงมากนัก แต่อาจต้องการใช้เพื่อแก้ไขข้อบกพร่อง

44
00:03:53,400 --> 00:03:58,770
‫หากคุณกำลังดีบักเกมของใครบางคนและมันทำงานบนเครื่องของพวกเขา พวกเขากำลังส่งไฟล์บันทึกถึงคุณ

45
00:03:58,770 --> 00:04:00,270
‫จากนั้นคุณได้รับคำเตือน

46
00:04:00,270 --> 00:04:07,530
‫นี่คือเมื่อสิ่งที่ดูเหมือนจะผิดพลาดและพิมพ์ไปยังคอนโซลบันทึกและเป็นสีเหลืองด้วย

47
00:04:07,560 --> 00:04:15,480
‫จากนั้นเราพบข้อผิดพลาดที่พิมพ์เป็นสีแดงและเป็นอันตรายถึงชีวิต โดยทั่วไปแล้วจะพิมพ์ไปที่คอนโซลและทำให้เครื่องยนต์ขัดข้อง

48
00:04:15,480 --> 00:04:22,500
‫ดังนั้นคุณจึงต้องการใช้วิธีนี้เป็นทางเลือกสุดท้าย แต่จะช่วยให้คุณมีระดับต่างๆ ในไฟล์บันทึกได้

49
00:04:22,500 --> 00:04:27,330
‫และผมจะแสดงให้คุณเห็นว่าถ้าเราใส่ข้อความต่างๆ ไว้ที่นี่

50
00:04:27,330 --> 00:04:32,790
‫ผมจะคัดลอกไลน์ของเราสำหรับการบันทึก และจะทำสามอัน

51
00:04:32,790 --> 00:04:37,980
‫เรากำลังจะมีการแสดงผล กำลังจะมีคำเตือน และเรากำลังจะมีข้อผิดพลาด

52
00:04:37,980 --> 00:04:40,890
‫โดยปกติแล้ว สิ่งเหล่านี้คือระดับที่เราจะใช้

53
00:04:40,890 --> 00:04:43,980
‫ไปดูกันเลยดีกว่าว่าหน้าตาเป็นอย่างไร

54
00:04:43,980 --> 00:04:49,170
‫เข้าสู่ Unreal กดปุ่มคอมไพล์แล้วหยุดและเริ่มเล่นใหม่

55
00:04:49,170 --> 00:04:55,290
‫และอีกอย่าง คุณสามารถเปิดบันทึกเอาท์พุตได้ด้วยการกดปุ่มตัวหนอนสองครั้ง

56
00:04:55,380 --> 00:05:02,070
‫มันปรากฏขึ้นมา เรามีบันทึกผลลัพธ์ และคุณจะเห็นว่าเรามีข้อความสามชุด จอแสดงผลซึ่งอยู่ในคำเตือนสีขาวล้วน

57
00:05:02,070 --> 00:05:05,970
‫ซึ่งเป็นสีเหลือง

58
00:05:05,970 --> 00:05:09,690
‫ดังนั้นมันจึงโดดเด่นขึ้นอีกหน่อย ข้อผิดพลาด ชัดเจน ซึ่งโดดเด่นกว่ามาก

59
00:05:09,690 --> 00:05:12,360
‫ตอนนี้ เราสามารถเพิ่มข้อมูลลงในข้อความบันทึกของเราได้แล้ว

60
00:05:12,360 --> 00:05:18,600
‫ฉันแค่จะลบบรรทัดคำเตือนและข้อผิดพลาดของบันทึกและเราสามารถเพิ่มเข้าไปได้

61
00:05:18,700 --> 00:05:21,280
‫ต่อมาในสตริงนี้ที่จะพิมพ์ออกมา

62
00:05:21,280 --> 00:05:27,190
‫วิธีที่เราจะทำเช่นนี้คือ ตัวอย่างเช่น ถ้าฉันต้องการพิมพ์ระยะการเคลื่อนที่ที่กำหนดค่าไว้สำหรับแพลตฟอร์มเฉพาะซึ่งค่อนข้างตรงไปตรงมา

63
00:05:27,190 --> 00:05:36,190
‫เราสามารถพูดได้ว่าระยะทางที่กำหนดค่าไว้ และนั่นคือข้อความที่จะแสดงขึ้น

64
00:05:36,190 --> 00:05:37,840
‫ฉันจะใส่เครื่องหมายทวิภาคที่นี่

65
00:05:37,840 --> 00:05:44,560
‫และจำไว้ว่า ทั้งหมดนี้อยู่ในเครื่องหมายคำพูดคู่เพื่อให้แน่ใจว่าเรารวมไว้ในข้อความ

66
00:05:45,010 --> 00:05:51,460
‫จากนั้นเราสามารถใช้เครื่องหมายเปอร์เซ็นต์ตามด้วยอักขระ F

67
00:05:51,610 --> 00:05:57,360
‫และคุณเห็นว่ามันถูกเน้นแตกต่างกันเพราะนี่คือสิ่งที่เรียกว่ารูปแบบที่ระบุที่นี่

68
00:05:57,400 --> 00:06:01,900
‫เป็นสิ่งที่มาจาก C ย้อนกลับไปในประวัติศาสตร์

69
00:06:01,900 --> 00:06:07,540
‫และโดยพื้นฐานแล้ว คุณทำสัญลักษณ์เปอร์เซ็นต์ แล้วก็ตัวอักษรบางตัว คุณสามารถเห็นตัวอักษรต่างๆ

70
00:06:07,540 --> 00:06:08,350
‫ข้างล่างนี้

71
00:06:08,380 --> 00:06:17,410
‫F สอดคล้องกับจุดทศนิยม และคุณสามารถดูตัวอย่างของผลลัพธ์ได้ในคอลัมน์ตัวอย่าง

72
00:06:17,410 --> 00:06:26,530
‫และยังมีอีกหลายอย่างด้านล่างนี้ ที่เราสามารถแทนด้วย D หรือ I เป็นจำนวนเต็มทศนิยมเช่นนั้น

73
00:06:26,980 --> 00:06:30,820
‫เราใช้ F เพราะเรามีเลขทศนิยม

74
00:06:30,820 --> 00:06:35,230
‫แล้วสิ่งที่เราต้องทำคือเพิ่มอาร์กิวเมนต์อื่นให้กับฟังก์ชันบันทึก E

75
00:06:35,230 --> 00:06:45,520
‫ดังนั้น ตรวจสอบให้แน่ใจว่าคุณกำลังดำเนินการนี้หลังจากที่คุณปิดวงเล็บสำหรับฟังก์ชันข้อความนี้แล้ว และเราจะใส่เครื่องหมายจุลภาคไว้ที่นี่แทน

76
00:06:45,520 --> 00:06:52,690
‫ดังนั้นระหว่างวงเล็บทั้งสองนี้ ควรอยู่ภายในชุดนอก แต่ควรอยู่นอกชุดใน หากมีเหตุผล

77
00:06:52,900 --> 00:07:00,910
‫แล้วสิ่งที่เราสามารถทำได้คือเราสามารถส่งผ่านค่าของตัวแปรของเรา ดังนั้นเราจึงสามารถทำตัวแปรระยะเคลื่อนที่ได้

78
00:07:00,910 --> 00:07:04,390
‫เช่นนั้น ไปที่ Unreal และดูสิ่งนี้ในการดำเนินการ

79
00:07:04,390 --> 00:07:11,860
‫ฉันกดปุ่มคอมไพล์ ปิดหน้าต่างคอมไพล์แล้วกดเล่น จากนั้นกด Tilde สองครั้งเพื่อเปิดบันทึก

80
00:07:11,860 --> 00:07:17,980
‫และคุณจะเห็นระยะการเคลื่อนที่ที่กำหนดค่าไว้ของเราแสดงขึ้นสำหรับแท่นต่างๆ 505 ร้อยสำหรับแท่นเคลื่อนที่สองแท่น

81
00:07:17,980 --> 00:07:24,130
‫และ 1500 สำหรับการผลักสามครั้งที่เราได้รับในที่เกิดเหตุ

82
00:07:24,130 --> 00:07:29,620
‫ข้อมูลชิ้นหนึ่งที่อาจน่าสนใจหรือให้ความรู้เล็กน้อยก็คือ ก่อนหน้านี้เราเคยพูดถึงวิธีที่เรายิงเกินหรือเราพุ่งเกินระยะทางที่เคลื่อนที่

83
00:07:29,620 --> 00:07:39,490
‫และมันน่าสนใจที่จะรู้ว่าระดับที่เกิดขึ้นเป็นอย่างไร

84
00:07:39,490 --> 00:07:43,510
‫สิ่งที่เราทำได้คือสร้างตัวแปร float ภายในคำสั่ง if

85
00:07:43,510 --> 00:07:45,520
‫ดังนั้นเราจึงรู้ว่าขณะนี้เราได้ทำเกินพิกัดแล้ว

86
00:07:45,520 --> 00:07:49,900
‫เราสามารถพูดได้ว่า overshoot ตัวแปร float ที่เรียกว่า overshoot

87
00:07:49,900 --> 00:07:56,440
‫เราจะกำหนดให้เท่ากับระยะทางที่เคลื่อนที่ลบระยะเคลื่อนที่

88
00:07:56,440 --> 00:07:59,740
‫นั่นบอกเราว่าโอเวอร์ชูตเท่าไหร่

89
00:07:59,740 --> 00:08:04,330
‫ฉันอยากให้คุณลองบันทึกตัวแปรโอเวอร์ชูตที่เราเพิ่งสร้างขึ้นที่นี่

90
00:08:04,330 --> 00:08:06,610
‫ใช้ฟังก์ชันบันทึกเทศกาลคริสต์มาส

91
00:08:06,610 --> 00:08:11,470
‫นี่คือการอ้างอิงอย่างน้อยประเภทของโครงสร้างที่คุณอาจจะใช้

92
00:08:11,470 --> 00:08:21,220
‫คุณยังสามารถฝึกใช้บันทึกการเติมข้อความอัตโนมัติเพื่อใส่เข้าไปแทน จากนั้นคอมไพล์และทดสอบโค้ดของคุณ และดูว่ามันใช้งานได้หรือไม่

93
00:08:21,220 --> 00:08:22,660
‫หยุดวิดีโอชั่วคราวและไปกันเลย

94
00:08:25,690 --> 00:08:26,170
‫ตกลง.

95
00:08:26,170 --> 00:08:26,970
‫ยินดีต้อนรับกลับ.

96
00:08:26,980 --> 00:08:30,790
‫เราจะใช้ตัวเลือกเติมข้อความอัตโนมัติที่นี่

97
00:08:30,790 --> 00:08:33,280
‫ฉันจะปิดแถบด้านข้างเพื่อให้มีพื้นที่เพิ่มขึ้นอีกเล็กน้อย

98
00:08:33,400 --> 00:08:43,360
‫และภายในนี้ หากหลังจากที่เราสร้างตัวแปรแล้ว เราจะพิมพ์บันทึกของคุณและกด Enter จากนั้นเราจะปล่อยให้มันแสดง

99
00:08:43,360 --> 00:08:52,690
‫เรากำลังจะทำให้แพลตฟอร์มข้อความเกินขอบเขต จากนั้นเราจะใช้เปอร์เซ็นต์ F จากนั้นระหว่างวงเล็บทั้งสองนี้

100
00:08:52,690 --> 00:09:02,020
‫เราจะเพิ่มอาร์กิวเมนต์ใหม่สำหรับตัวแปรโอเวอร์ช็อต ดังนั้นตอนนี้ กลับไปที่ Unreal

101
00:09:02,050 --> 00:09:08,770
‫ฉันกดปุ่มคอมไพล์ ปิดบันทึกการเข้ารหัสแบบสด กดปุ่มเล่น และแตะปุ่มตัวหนอนสองครั้งนั้น

102
00:09:09,310 --> 00:09:17,560
‫และคุณจะเห็นได้ว่าทุกครั้งที่แพลตฟอร์มหันกลับมา มันจะพิมพ์ข้อความบันทึกและบอกว่ามันเกินจำนวนไปกี่หน่วย

103
00:09:17,560 --> 00:09:18,730
‫ดูเน็ตได้จริง

104
00:09:18,730 --> 00:09:26,200
‫มีหลายกรณีที่เกินกำลังไปบ้าง จำนวนหน่วยที่เห็นได้ชัดเจน สามหน่วยหรือ

105
00:09:26,200 --> 00:09:27,190
‫0 5 ยูนิต

106
00:09:27,190 --> 00:09:30,370
‫นั้นก็คือ 0 นั่นเอง 5% ถึงสามเซนติเมตร

107
00:09:30,370 --> 00:09:35,230
‫ในระหว่างเกมของคุณ แพลตฟอร์มเหล่านี้อาจหลุดลอยไปบ้างก็เพียงพอแล้ว

108
00:09:35,230 --> 00:09:39,250
‫และเป็นเรื่องดีที่เราได้ดำเนินการแก้ไขสำหรับสิ่งนั้นแล้ว

109
00:09:39,280 --> 00:09:39,760
‫สิ่งที่ดี

110
00:09:39,760 --> 00:09:45,880
‫หวังว่าตอนนี้คุณจะมีเครื่องมืออื่นในคลังแสงของคุณ สำหรับการพยายามค้นหาว่าเกิดอะไรขึ้นในโค้ดของคุณ

111
00:09:45,880 --> 00:09:53,020
‫และต่อมาเมื่อคุณรู้สึกมั่นใจมากขึ้นในการสร้างโค้ดของคุณเอง พยายามหาว่าสิ่งใดใช้ไม่ได้ผล

112
00:09:53,470 --> 00:09:56,020
‫โอเค แล้วเจอกันใหม่ในบทเรียนหน้า

