﻿1
00:00:04,460 --> 00:00:05,210
‫สวัสดีและยินดีต้อนรับ.

2
00:00:05,210 --> 00:00:11,570
‫ในการบรรยายนี้ เราจะทำการแก้ไขข้อผิดพลาดด้วย Raytracing เพื่อให้เราสามารถฆ่าตัวละครได้

3
00:00:11,570 --> 00:00:18,290
‫พวกมันไม่ได้ฆ่าตัวตาย และเราสามารถวิ่งข้ามจุดที่พวกเขาเคยไป โดยปิดการใช้งานแคปซูลของพวกเขา

4
00:00:18,290 --> 00:00:21,050
‫Collider มาดำดิ่งและดูว่าจะบรรลุเป้าหมายนี้ได้อย่างไร

5
00:00:21,740 --> 00:00:24,500
‫ดังนั้นเราจึงมีข้อบกพร่องแปลก ๆ เกิดขึ้นในขณะนี้

6
00:00:24,500 --> 00:00:35,930
‫ดังนั้นเราจึงมีจุดหนึ่งที่ดูเหมือนว่า AI ของศัตรูจะยิงตัวเองเข้าที่หน้า อย่างที่คุณเห็นจากข้อเท็จจริงที่ว่ามันกำลังจะตายเกลื่อนพื้นในไม่ช้า

7
00:00:35,930 --> 00:00:40,430
‫แต่ไม่เพียงเท่านั้น มันยังยิงต่อไปเมื่อมันตาย

8
00:00:40,430 --> 00:00:43,430
‫ดังนั้นเราจะแก้ปัญหาเหล่านั้นไปเรื่อย ๆ

9
00:00:43,430 --> 00:00:45,290
‫เรามาดูกันว่าเกิดอะไรขึ้น

10
00:00:45,290 --> 00:00:50,900
‫อย่างแรกเลย การยิงใส่หน้าตัวเอง ซึ่งอาจจะดูง่ายทีเดียวว่าเกิดอะไรขึ้น

11
00:00:50,900 --> 00:00:58,100
‫ดังนั้นหากเราเข้าไปที่ CP ปืนของเรา และดูว่าสิ่งนี้ทำงานอย่างไร เรากำลังดำเนินการติดตามบรรทัดนี้ทีละช่องเพื่อหาผลการยิง

12
00:00:58,100 --> 00:01:08,000
‫และเรากำลังดำเนินการจากตำแหน่งที่เป็นวิวพอร์ตของผู้เล่น , มุมมอง ขออภัย.

13
00:01:08,060 --> 00:01:13,370
‫และด้วย AI ที่เราได้พูดคุยกันไปแล้ว มันจะอยู่ในระดับสายตา

14
00:01:13,370 --> 00:01:15,080
‫นั่นคือสิ่งที่มันจะติดตามจาก

15
00:01:15,080 --> 00:01:17,660
‫และคุณจะเห็นว่าอาจมีปัญหาเล็กน้อยที่นี่

16
00:01:17,660 --> 00:01:21,950
‫ถ้าคุณเริ่มไล่ตามดวงตาของเขา คุณจะโดนแคปซูลนี้

17
00:01:21,950 --> 00:01:24,500
‫อันที่จริงเราเองก็มีปัญหาเหมือนกัน

18
00:01:24,500 --> 00:01:29,990
‫ความแตกต่างเพียงอย่างเดียวคือเพราะเรามีสิ่งนี้อยู่เหนือมุมมองของกล้อง

19
00:01:30,020 --> 00:01:37,550
‫เหนือมุมมองไหล่ จากนั้นเราจึงไม่ได้รับปัญหาเพราะเราหลีกเลี่ยงแคปซูลนั้นและไม่โดนมัน

20
00:01:37,550 --> 00:01:42,500
‫แต่เราสามารถตีแคปซูลของเราเองได้อย่างง่ายดายเช่นเดียวกับถ้ากล้องของเราอยู่ในตำแหน่งอื่น

21
00:01:42,920 --> 00:01:44,090
‫แล้วเราจะหยุดมันได้อย่างไร?

22
00:01:44,090 --> 00:01:50,030
‫ดังนั้นถ้าเราย้อนกลับไปนิยามสิ่งนี้ เราจะสร้างโครงสร้าง พารามิเตอร์การค้นหาการชนกันของ

23
00:01:50,030 --> 00:01:57,140
‫F ฉันจะเรียกพารามิเตอร์ จากนั้นเราจะเพิ่มตัวแสดงบางตัวที่ควรละเว้นเป็นส่วนหนึ่งของบรรทัดของเรา

24
00:01:57,140 --> 00:02:04,610
‫Trace เราทำเช่นนี้โดยทำ params dot add ละเว้นนักแสดงที่ถูกละเว้น แล้วนักแสดงที่เราควรละเว้นคืออะไร?

25
00:02:04,610 --> 00:02:06,590
‫อันแรกก็แค่ปืน

26
00:02:06,590 --> 00:02:10,460
‫นี่และอันที่สองคือเจ้าของ --

27
00:02:10,460 --> 00:02:14,870
‫ดังนั้น params จึงเพิ่มนักแสดงที่ถูกละเว้นรับเจ้าของ

28
00:02:14,870 --> 00:02:19,430
‫ดังนั้นโดยพื้นฐานแล้วเจ้าของปืนไม่ควรถูกปืนของเขาเอง

29
00:02:19,430 --> 00:02:25,270
‫ฉันหมายความว่า แน่นอน คุณก็รู้ คุณอาจต้องการใช้ปืนตีเบี้ยของคุณ แต่แล้ว ไม่

30
00:02:25,340 --> 00:02:26,900
‫ไม่ใช่ในกรณีนี้

31
00:02:26,900 --> 00:02:38,240
‫ดังนั้นพารามิเตอร์ที่เราจะส่งต่อเป็นอาร์กิวเมนต์สุดท้ายในการติดตามบรรทัดของเราทีละช่อง จากนั้นเราจะบันทึกและสร้างและดูว่าใช้งานได้หรือไม่

32
00:02:38,240 --> 00:02:44,510
‫ในตอนนี้ ตามอุดมคติแล้ว ถ้าเราไปตีเพลย์ เราควรจะเห็นใช่ เราได้รับผลกระทบของอนุภาคบนแคปซูลของเรา

33
00:02:44,510 --> 00:02:50,600
‫ต่อผู้เล่นของเรา และในที่สุด สุขภาพของเราก็จะลดลงเหลือศูนย์ และเราควรจบลงด้วยการเหยียดยาวบนพื้น

34
00:02:50,600 --> 00:02:52,850
‫.

35
00:02:52,910 --> 00:02:53,510
‫เราจะไปที่นั่น.

36
00:02:53,510 --> 00:02:54,830
‫แผ่ออกไปบนพื้นที่ไหนสักแห่ง

37
00:02:54,830 --> 00:02:56,420
‫ดูเหมือนเราจะผ่านพ้นไปแล้ว

38
00:02:56,420 --> 00:03:01,580
‫ฉันไม่รู้ว่าผู้เล่นตัวจริงของเราหายไปไหน แต่เรายังคงวางไข่บนพื้น

39
00:03:01,580 --> 00:03:03,140
‫แต่นี่เป็นข้อผิดพลาดอื่น

40
00:03:03,140 --> 00:03:08,840
‫คุณจะเห็นว่าเขายังคงยิงใส่เราและเขายังคงยิงและกระแทกแคปซูล

41
00:03:08,960 --> 00:03:10,970
‫และสิ่งเดียวกันก็เกิดขึ้นจริง

42
00:03:10,970 --> 00:03:15,200
‫ถ้าฉันจะฆ่าผู้ชายคนนี้ ไปฆ่าเขากันเถอะ

43
00:03:15,200 --> 00:03:15,920
‫ไปเลย

44
00:03:15,920 --> 00:03:17,060
‫การเดินทางไปที่นั่น

45
00:03:17,090 --> 00:03:20,450
‫มันยากกว่ามากถ้าไม่มีอะไรให้ชี้ไปที่หน้าจอ

46
00:03:20,450 --> 00:03:22,250
‫แต่คุณสามารถรับเขาได้

47
00:03:22,670 --> 00:03:25,010
‫แต่เขายังคงยิงยังคงยิงมาที่ฉัน

48
00:03:25,100 --> 00:03:29,420
‫และสิ่งที่เราจะได้เห็นก็คือแคปซูลของเขายังคงทำงานอยู่

49
00:03:29,420 --> 00:03:35,840
‫มีสองสิ่งที่เราอยากทำเมื่อตัวละครของเราถูกฆ่า ทั้ง AI และผู้เล่น

50
00:03:35,840 --> 00:03:42,710
‫ไปที่ตัวละคร CP ของนักกีฬาและหาฟังก์ชันรับความเสียหายของเรา

51
00:03:43,040 --> 00:03:44,870
‫และโดยพื้นฐานแล้วเราต้องการเพิ่มคำสั่ง if ในที่นี้

52
00:03:44,870 --> 00:03:47,150
‫เราอยากจะบอกว่าถ้าตายแล้ว

53
00:03:47,240 --> 00:03:49,400
‫โดยพื้นฐานแล้วเราได้รับความเสียหายเป็นครั้งสุดท้าย

54
00:03:49,400 --> 00:03:50,300
‫ตอนนี้เราตายแล้ว

55
00:03:50,360 --> 00:03:51,980
‫เราต้องทำอะไรบางอย่าง

56
00:03:52,250 --> 00:03:53,390
‫เราจำเป็นต้องทำความสะอาดบ้าง

57
00:03:53,660 --> 00:03:56,750
‫สิ่งแรกที่เราต้องทำคือถอดคอนโทรลเลอร์ออกจากตัวละครตัวนี้

58
00:03:56,750 --> 00:03:58,880
‫ผู้ควบคุมไม่ได้รับผิดชอบตัวละครนี้อีกต่อไป

59
00:03:58,880 --> 00:03:59,840
‫ตัวละครตายแล้ว

60
00:03:59,840 --> 00:04:04,070
‫คุณไม่สามารถทำอะไรที่จะทำให้เราไม่สามารถยิงได้

61
00:04:04,070 --> 00:04:06,860
‫ดังนั้น AI จะไม่ยิงเมื่อมันตายอีกต่อไป

62
00:04:06,860 --> 00:04:08,090
‫แบบนั้นมีเหตุผล

63
00:04:08,090 --> 00:04:12,950
‫และยิ่งไปกว่านั้น เราจะไม่สามารถเคลื่อนที่ไปรอบ ๆ โลกได้อีกต่อไป

64
00:04:12,950 --> 00:04:19,100
‫ทั้งหมดนั้นถูกปิดการใช้งานโดยทำการถอดออกจากคอนโทรลเลอร์ที่รอการทำลาย

65
00:04:19,250 --> 00:04:20,360
‫นั่นคือสิ่งที่เรากำลังจะทำ

66
00:04:20,870 --> 00:04:25,010
‫สิ่งต่อไปคือเราต้องการปิดการชนกันของแคปซูล

67
00:04:25,460 --> 00:04:32,150
‫เรากำลังจะทำส่วนประกอบ get capsule จากนั้นเราต้องรวม hash ไว้ด้านบน

68
00:04:32,680 --> 00:04:34,060
‫สำหรับส่วนประกอบของแคปซูล

69
00:04:34,070 --> 00:04:37,720
‫แล้วจะรวมส่วนประกอบและส่วนประกอบแคปซูลไว้ที่นั่นได้อย่างไร?

70
00:04:38,760 --> 00:04:40,940
‫จากนั้นเลื่อนลงไปที่การรับความเสียหายของเรา

71
00:04:41,270 --> 00:04:46,310
‫ฉันจะใช้ตัวดำเนินการลูกศรและเราจะเปิดใช้งานการชนกันของชุด

72
00:04:46,490 --> 00:04:48,890
‫ดังนั้นเราจึงต้องการตั้งค่าไม่เปิดใช้งาน

73
00:04:48,890 --> 00:04:51,260
‫นั่นเป็นเหตุผลที่เรากำลังเปิดใช้งานการชนกันแบบตั้งค่า แปลกพอสมควร

74
00:04:51,260 --> 00:04:55,340
‫มันจะเปิดใช้งานการชนกัน E, ทวิภาค, ทวิภาค, ไม่มีการชนกัน

75
00:04:55,430 --> 00:05:00,500
‫ดังนั้นเราจึงกำหนดให้เครื่องชนกันของแคปซูลของเราไม่มีการชนกัน ซึ่งน่าจะช่วยเราได้ในทันที

76
00:05:00,920 --> 00:05:01,250
‫ตกลง.

77
00:05:01,250 --> 00:05:04,450
‫ดังนั้นเราจะดำเนินการต่อและสร้างและดูว่ามันช่วยได้หรือไม่

78
00:05:04,460 --> 00:05:06,520
‫คอมไพล์อย่างน้อยก็ประสบความสำเร็จ

79
00:05:06,520 --> 00:05:07,430
‫ไปตีกันเล่นๆ

80
00:05:07,430 --> 00:05:09,140
‫ดังนั้นเขาจึงยิงใส่ฉัน

81
00:05:09,140 --> 00:05:10,910
‫ฉันสามารถยิงเขาจนกว่าเขาจะตาย

82
00:05:11,210 --> 00:05:11,840
‫เราจะไปที่นั่น.

83
00:05:11,840 --> 00:05:12,560
‫เขาตายแล้ว

84
00:05:12,740 --> 00:05:17,240
‫ฉันสามารถข้ามแคปซูลของเขาและฉันจะไม่ชนกับมันอีกต่อไป

85
00:05:17,240 --> 00:05:21,800
‫คุณยังสามารถเห็นได้ว่าเขาไม่ได้ยิงปืนของเขาอีกต่อไปแล้ว ซึ่งมันยอดเยี่ยมมาก

86
00:05:21,890 --> 00:05:24,050
‫และดูว่าเขาไปฆ่าเราหรือเปล่า

87
00:05:24,050 --> 00:05:24,920
‫พฤติกรรมเป็นอย่างไร?

88
00:05:24,920 --> 00:05:27,140
‫เลยต้องรอให้ครบสิบนัด

89
00:05:27,140 --> 00:05:32,450
‫และคุณจะเห็นว่าฉันแผ่ขยายออกไปจนตายได้มากพอๆ กับที่เขาทำ และเขายังคงยิงใส่ฉัน

90
00:05:32,450 --> 00:05:32,930
‫ไม่เป็นไร.

91
00:05:32,990 --> 00:05:39,200
‫เขาไม่ชนกับเครื่องชนที่ว่างเปล่าอีกต่อไป และฉันไม่สามารถควบคุมกล้องของฉันได้อีกต่อไปเพราะฉันตายแล้ว

92
00:05:39,200 --> 00:05:39,530
‫สุดยอด.

93
00:05:39,530 --> 00:05:41,780
‫ดังนั้นเราจึงมีพื้นฐานของเกมยิงมุมมองบุคคลที่หนึ่งที่นี่

94
00:05:41,780 --> 00:05:45,620
‫เรามีศัตรูที่ติดตามเรา ยิงมาที่เรา เรายิงมันได้

95
00:05:45,620 --> 00:05:46,820
‫เราทั้งคู่มีสุขภาพที่ดี

96
00:05:46,820 --> 00:05:48,830
‫เราทั้งคู่สามารถตายได้

97
00:05:48,860 --> 00:06:00,680
‫สิ่งต่อไปคือการตั้งค่าเงื่อนไขการจบเกมจริง ๆ เพื่อให้เราสามารถแสดงข้อความที่ดีให้กับผู้เล่นของเราว่าคุณแพ้หรือว่าคุณชนะถ้าคุณฆ่าผู้เล่นทั้งหมดในระดับนั้น

98
00:06:00,680 --> 00:06:02,300
‫และนั่นจะเป็นหัวข้อของการบรรยายต่อไป

99
00:06:02,300 --> 00:06:02,960
‫ดังนั้นคุณอยู่ที่นั่น

