﻿1
00:00:04,260 --> 00:00:05,190
‫สวัสดีและยินดีต้อนรับ.

2
00:00:05,190 --> 00:00:10,170
‫ในการบรรยายนี้ เรากำลังจะทำให้ผู้เล่นของเรามองเห็นจากศัตรู เพื่อที่เราจะสามารถเป็นผู้เล่น

3
00:00:10,170 --> 00:00:17,100
‫ในการซ่อนตัวหลังสิ่งกีดขวางและไม่ให้ผู้ติดตามศัตรูไม่มี

4
00:00:17,100 --> 00:00:22,560
‫เล็งมาที่เราจนกว่าเราจะโผล่ออกมาและปรากฏแก่พวกเขา

5
00:00:22,560 --> 00:00:25,890
‫คุณจะเห็นว่าฉันซ่อนอยู่หลังมุมหนึ่ง และเขาหาฉันไม่พบ

6
00:00:25,890 --> 00:00:29,400
‫มาดูวิธีการทำโดยใช้เครื่องมือที่ไม่จริงกันดีกว่า

7
00:00:30,470 --> 00:00:35,120
‫จึงไม่เหมาะที่ศัตรูคนนี้ ก. ฉัน. สามารถติดตามเราได้ที่มุมโค้งมน

8
00:00:35,120 --> 00:00:40,720
‫ออกไปไกลแค่ไหน หลบหลังเสาแค่ไหนก็ยังหาเราเจอ

9
00:00:40,720 --> 00:00:43,430
‫มันยังคงมาและมุ่งมาที่เรา

10
00:00:43,430 --> 00:00:48,680
‫เราต้องการแก้ไขสิ่งนั้น และเราจะทำเช่นนี้โดยการตรวจสอบแนวสายตาจากศัตรูไปยังผู้เล่น

11
00:00:48,680 --> 00:00:57,260
‫ตอนนี้ ใน Unreal มีฟังก์ชันสำหรับสิ่งนี้อยู่แล้วในตัวควบคุมการมองที่เรียกว่าเส้นสายตา

12
00:00:57,260 --> 00:01:01,430
‫และถ้าคุณไปค้นหาสิ่งนั้น คุณจะพบว่ามีฟังก์ชันที่คืนค่าบูลีน

13
00:01:01,430 --> 00:01:06,440
‫ดังนั้นการบอกเราว่าเรามีแนวสายตาหรือไม่ จากนั้นจึงต้องใช้นักแสดงที่เราควรพยายามตรวจสอบแนวสายตา

14
00:01:06,440 --> 00:01:14,900
‫และพิจารณาสิ่งต่างๆ เช่น ตำแหน่งตาของเบี้ยที่เป็นปัญหาโดยอัตโนมัติ

15
00:01:14,900 --> 00:01:20,300
‫ทั้งหมดนี้ถูกเข้ารหัสใน Unreal แล้ว มันเจ๋งมาก ดังนั้นมันควรจะตรงไปตรงมาทีเดียว

16
00:01:20,300 --> 00:01:28,250
‫ถ้าเราไปที่ตัวควบคุม AI DHCP ของเรา สิ่งที่เราอยากทำโดยพื้นฐานคือเปลี่ยนแปลงสิ่งต่างๆ

17
00:01:28,250 --> 00:01:32,630
‫ใน TIC เพื่อให้เราทำสิ่งแรกสุดในสายตา

18
00:01:33,420 --> 00:01:43,050
‫แล้วสิ่งที่เราอยากทำถ้าเรามีเส้นสายตาคือเราต้องการย้ายไปที่และเราต้องการตั้งโฟกัส

19
00:01:43,380 --> 00:01:48,960
‫แต่ถ้าเราไม่ทำอย่างอื่น สิ่งที่เราอยากทำคือโฟกัสให้ชัดเจน

20
00:01:48,960 --> 00:01:57,630
‫จำไว้นะ เราเห็นฟังก์ชันนั้นมาก่อนแล้ว และเราต้องการทำ มาดูการหยุดเคลื่อนที่โดยพื้นฐานแล้ว

21
00:01:58,560 --> 00:02:01,470
‫และนั่นเป็นอีกฟังก์ชันหนึ่งที่เรายังไม่ได้เห็น

22
00:02:01,590 --> 00:02:09,000
‫สิ่งที่ฉันจะทำตอนนี้คือ ฉันสามารถท้าทายให้คุณนำสิ่งนี้ไปปฏิบัติทั้งหมดด้วยตัวเองหากคุณรู้สึกมั่นใจ

23
00:02:09,120 --> 00:02:14,970
‫ไม่อย่างนั้น อย่างอื่นจะซับซ้อนกว่าที่เราไม่เคยเห็นมาก่อน เพราะอีกสองเรื่อง เราได้ย้ายไปยังนักแสดงแล้ว

24
00:02:14,970 --> 00:02:18,480
‫เราได้โฟกัสที่ตั้งไว้แล้ว เราเคยทำมาก่อน

25
00:02:18,480 --> 00:02:22,500
‫และมีเพียงแค่เส้นสายตาที่เราเพิ่งเห็น

26
00:02:22,500 --> 00:02:23,460
‫มันค่อนข้างตรงไปตรงมา

27
00:02:23,460 --> 00:02:24,420
‫คุณสามารถใช้สิ่งนั้นได้

28
00:02:24,420 --> 00:02:25,620
‫แต่แล้วเรื่องอื่นล่ะ?

29
00:02:25,620 --> 00:02:29,070
‫มาลองใช้ส่วนคำสั่ง ELT กัน

30
00:02:29,070 --> 00:02:34,830
‫มันจะไม่คอมไพล์เพราะคุณต้องการ if ก่อนอย่างอื่น แต่ลองเขียน ELT

31
00:02:34,830 --> 00:02:35,820
‫clause กัน

32
00:02:36,180 --> 00:02:43,110
‫สิ่งแรกที่ต้องโฟกัสคือ เรากำลังบอกว่าหยุดพยายามติดตามผู้เล่นเพราะคุณมองไม่เห็นผู้เล่น

33
00:02:43,110 --> 00:02:47,610
‫คุณไม่ควรทำให้รู้สึกว่าคุณรู้ว่าผู้เล่นอยู่ที่ไหน แม้ว่าตาจะมองเห็นได้อย่างชัดเจน

34
00:02:47,610 --> 00:02:51,000
‫เพราะมันสามารถเข้าถึงตำแหน่งของผู้เล่น และอื่นๆ ได้

35
00:02:51,000 --> 00:02:56,160
‫แต่เราต้องสร้างภาพลวงตาที่ AI รู้เท่าที่มองเห็นเท่านั้น

36
00:02:56,370 --> 00:02:59,550
‫สิ่งที่เราจะทำคือเราจะเรียกให้โฟกัสชัดเจน

37
00:02:59,550 --> 00:03:07,410
‫และถ้าเราไปที่ตัวควบคุม AI H และดูโฟกัสที่ชัดเจน คุณจะเห็นว่ามันอยู่ในลำดับความสำคัญที่เราต้องเคลียร์

38
00:03:07,410 --> 00:03:13,620
‫ตอนนี้ขอเตือนว่าลำดับความสำคัญเหล่านี้เป็นระดับโฟกัสที่แตกต่างกัน

39
00:03:13,620 --> 00:03:20,820
‫ดังนั้นเราจึงมีการเคลื่อนไหวเริ่มต้นและการเล่นเกมเพลย์เป็นสิ่งที่มีความสำคัญสูงสุด

40
00:03:20,820 --> 00:03:24,270
‫และสิ่งที่เรากำหนดโดยค่าเริ่มต้นคือลำดับความสำคัญในการเล่นเกม

41
00:03:24,270 --> 00:03:29,580
‫ดังนั้นสิ่งที่เราต้องการจะทำคือล้างลำดับความสำคัญของการเล่นเกม ซึ่งหมายความว่าหากเรามุ่งเน้นที่การเคลื่อนไหวเป็นหลัก

42
00:03:29,580 --> 00:03:41,070
‫เช่น หากตาของเราต้องการย้ายกลับไปที่จุดป้องกัน การโฟกัสนั้นจะไม่ถูกล้างและจะเป็น ย้ายกลับไปที่จุดคุ้มกัน

43
00:03:41,430 --> 00:03:43,440
‫นั่นคือวิธีการทำงานของโฟกัส

44
00:03:43,440 --> 00:03:45,660
‫นั่นเป็นวิธีที่ระบบลำดับความสำคัญทำงานที่นั่น

45
00:03:45,660 --> 00:03:55,440
‫สิ่งที่เราแค่อยากจะทำคือคัดลอกรหัสลำดับความสำคัญของโฟกัสนี้ในการเล่นเกมโคลอน และนั่นคือลำดับความสำคัญที่เราต้องการทำให้ชัดเจนในบรรทัดนี้ที่นี่

46
00:03:55,440 --> 00:03:58,020
‫แล้วอีกอย่างคือหยุดการเคลื่อนไหว

47
00:03:58,020 --> 00:04:03,150
‫ดังนั้นเราจึงต้องการไปที่ RH ที่ควบคุมโดย AI อีกครั้งและดูการเคลื่อนไหวหยุด

48
00:04:03,150 --> 00:04:11,730
‫และแน่นอนว่า มีฟังก์ชันไม่มีอาร์กิวเมนต์ง่ายๆ ที่เรียกว่าหยุดการเคลื่อนไหว ซึ่งช่วยให้เราทำแบบนั้นได้

49
00:04:11,910 --> 00:04:12,780
‫ดังนั้นคุณไป

50
00:04:12,780 --> 00:04:16,020
‫นั่นคือข้อความที่เขียนโดยพื้นฐาน

51
00:04:16,020 --> 00:04:25,170
‫ดังนั้น ตอนนี้ ขอเตือนว่ายังคงเป็นเรื่องยากสำหรับคุณที่จะใช้ส่วน if กับเส้นสายตา if และการย้ายไปยังและกำหนดโฟกัส

52
00:04:25,170 --> 00:04:27,750
‫และโดยพื้นฐานแล้วคุณต้องการลบรหัสนี้ที่นี่

53
00:04:27,750 --> 00:04:33,000
‫ฉันแค่จะแสดงความคิดเห็นและจัดเรียงว่าคุณต้องการให้เป็นที่ใด

54
00:04:33,000 --> 00:04:33,870
‫ดังนั้นหยุดวิดีโอชั่วคราว

55
00:04:33,870 --> 00:04:35,130
‫ไม่มีความท้าทาย เลื่อนที่นี่

56
00:04:35,130 --> 00:04:38,190
‫เพียงแค่ไปและใช้สามบรรทัดนี้ด้วยตัวคุณเอง

57
00:04:39,210 --> 00:04:39,690
‫ตกลง.

58
00:04:39,690 --> 00:04:40,270
‫ยินดีต้อนรับกลับ.

59
00:04:40,290 --> 00:04:42,150
‫มาเริ่มกันเลยดีกว่า

60
00:04:42,150 --> 00:04:51,660
‫ถ้าใช่ ถ้าเปิดวงเล็บ แนวสายตา ไป แล้วเราต้องการทำ แนวสายตา ให้กับนักแสดง ซึ่งเป็นตัวจำนำผู้เล่น

61
00:04:51,660 --> 00:04:54,360
‫ที่เราต้องการเข้าถึง

62
00:04:54,360 --> 00:05:00,900
‫ให้ยกเลิกการใส่ความคิดเห็นว่าผู้เล่นจำนำที่นี่ และมันทำให้การเยื้องของเรามัวหมองเล็กน้อย

63
00:05:00,900 --> 00:05:02,160
‫มาแก้ไขกันเถอะ

64
00:05:02,490 --> 00:05:10,320
‫แล้วเราต้องการวงเล็บของเรา วงเล็บปีกกาของเราที่นี่ และเราต้องการที่จะย้ายไปยังนักแสดง

65
00:05:10,320 --> 00:05:14,460
‫อันที่จริง เราสามารถคัดลอกและยกเลิกการแสดงความเห็นเกี่ยวกับการย้ายไปยังนักแสดงได้ที่นี่

66
00:05:15,230 --> 00:05:18,380
‫และเราต้องการที่จะยกเลิกการแสดงความคิดเห็น

67
00:05:18,380 --> 00:05:19,100
‫ใช่ ไปกันเลย

68
00:05:19,100 --> 00:05:22,490
‫และจุดโฟกัส เราสามารถขยับสิ่งนั้นได้เช่นกัน

69
00:05:22,520 --> 00:05:28,070
‫ตอนนี้ จุดโฟกัส ไม่สำคัญว่าคุณจะทำก่อนหรือหลังย้ายไปหานักแสดง เพราะในขณะที่การย้ายไปยังนักแสดงจะกำหนดโฟกัส

70
00:05:28,070 --> 00:05:34,640
‫แต่จะกำหนดลำดับความสำคัญที่ต่ำกว่า โฟกัสการเคลื่อนไหวมากกว่าโฟกัสในการเล่นเกม

71
00:05:34,640 --> 00:05:38,900
‫ดังนั้น ไม่สำคัญว่าเราจะดำเนินการทั้งสองในลำดับใด

72
00:05:38,990 --> 00:05:44,030
‫และสุดท้าย เราสามารถลบบรรทัดที่แสดงความคิดเห็นนี้ซึ่งเราได้รับตัวจำนำผู้เล่นในการเริ่มเล่นเพราะเราไม่ต้องการมันอีกต่อไป

73
00:05:44,030 --> 00:05:49,280
‫และทุกอย่างอยู่ในเครื่องหมายถูกในขณะนี้ เพื่อให้เราสามารถลบการเริ่มเล่นออกได้

74
00:05:49,280 --> 00:05:54,170
‫ฉันจะปล่อยไว้เผื่อในกรณีที่เราต้องการในภายหลัง เพื่อช่วยฉันไม่ต้องยุ่งยากในการเพิ่มกลับเข้าไปใหม่

75
00:05:54,170 --> 00:05:58,280
‫ไปที่ Unreal และคอมไพล์กัน เสร็จแล้วมาเล่นกัน

76
00:05:58,280 --> 00:06:00,710
‫ลองดูว่าเราจะซ่อนตัวจากนักแสดงคนนี้ได้ไหม

77
00:06:00,710 --> 00:06:04,370
‫ฉันจะพยายามย้ายไปรอบ ๆ มุมอย่างรวดเร็วพอสมควร

78
00:06:04,760 --> 00:06:09,170
‫มันค่อนข้างยุ่งยากนิดหน่อยเพราะพวกมันสามารถเคลื่อนที่ได้เร็วที่สุดเท่าที่คุณจะทำได้ แต่ถ้าคุณไปอยู่ตรงมุมแบบนั้น

79
00:06:09,170 --> 00:06:11,570
‫พวกมันก็จะไป พระองค์ลืมตาฉันแล้ว

80
00:06:11,570 --> 00:06:13,310
‫เขาหยุดพยายามไล่ตามฉันแล้ว

81
00:06:13,310 --> 00:06:16,550
‫ฉันสามารถมองไปรอบ ๆ มุมและเห็นว่าฉันกำลังเคลื่อนไหว

82
00:06:16,550 --> 00:06:20,150
‫เขาไม่ได้เปลี่ยนการเล็งเพราะเราโฟกัสได้ชัดเจนแล้ว

83
00:06:20,210 --> 00:06:22,370
‫สามารถมองไปรอบมุมจากอีกด้านหนึ่งได้

84
00:06:22,640 --> 00:06:23,180
‫มาดูกัน.

85
00:06:23,180 --> 00:06:24,560
‫เลือกรอบที่นี่

86
00:06:24,590 --> 00:06:25,070
‫ไปเลย

87
00:06:25,070 --> 00:06:27,770
‫คุณจะเห็นว่าเขายังคงเล็งไปที่ตำแหน่งสุดท้ายที่ฉันอยู่

88
00:06:27,770 --> 00:06:34,220
‫แต่ถ้าฉันปรากฏขึ้นในสายตา เขาก็เล็งและเคลื่อนที่ภายในรัศมีการยอมรับ

89
00:06:34,400 --> 00:06:38,900
‫เมื่อพูดถึงเรื่องนี้ ฉันต้องการให้นักออกแบบสามารถกำหนดค่ารัศมีการยอมรับนั้นได้

90
00:06:38,900 --> 00:06:41,120
‫เลยย้ายมาไว้ในพร็อพเพอร์ตี้ใหม่กัน

91
00:06:41,240 --> 00:06:45,350
‫ฉันจะสร้างส่วนส่วนตัวที่นี่ด้วยคุณสมบัติใหม่

92
00:06:46,260 --> 00:06:48,330
‫ซึ่งจะไปแก้ไขที่ไหนก็ได้

93
00:06:48,780 --> 00:06:58,830
‫และเราต้องการให้มันเป็นทศนิยมที่เรียกว่ารัศมีการยอมรับ และให้ค่าเริ่มต้นเป็น 200

94
00:06:59,100 --> 00:07:04,530
‫จากนั้นรัศมีการยอมรับนี้ เราสามารถดำเนินการต่อไปและใช้ในการย้ายไปเป็นนักแสดง

95
00:07:04,530 --> 00:07:08,340
‫และถ้าคุณคอมไพล์มัน มันจะให้พฤติกรรมที่เหมือนกันทุกประการกับคุณ ยกเว้นตอนนี้

96
00:07:08,340 --> 00:07:11,940
‫คุณสามารถเปลี่ยนสิ่งนั้นได้ในพิมพ์เขียวคอนโทรลเลอร์ AI

97
00:07:11,940 --> 00:07:13,320
‫สำหรับการบรรยายครั้งนี้

98
00:07:13,320 --> 00:07:19,740
‫เราได้ค้นพบฟังก์ชันแนวสายตาดังกล่าว ซึ่งช่วยให้เราตรวจสอบได้ว่าตาสามารถมองเห็นหรือมองเห็นสิ่งใดสิ่งหนึ่งได้หรือไม่

99
00:07:19,740 --> 00:07:26,220
‫และเราได้ใช้ฟังก์ชันการซ่อนพื้นฐานนี้ ดังนั้น AI จึงไม่ติดตามเราเมื่อมองไม่เห็นเรา

100
00:07:26,250 --> 00:07:26,850
‫บรรยายต่อไป.

101
00:07:26,850 --> 00:07:33,570
‫เราจะปรับปรุงสิ่งต่าง ๆ จาก AI ที่ตั้งโปรแกรมเองนี้และใช้แผนผังพฤติกรรม

102
00:07:33,570 --> 00:07:39,000
‫เครื่องมือที่ทรงพลังจริง ๆ ในการทำให้ AI ของเราเจ๋งกว่านั้นมาก

