﻿1
00:00:04,590 --> 00:00:05,580
‫สวัสดีและยินดีต้อนรับ.

2
00:00:05,580 --> 00:00:12,240
‫ในการบรรยายนี้ เราจะแยกแยะมุมของพื้นที่ตาบอดของเรา โดยเชื่อมโยงกับการเล่นเกมของเรา

3
00:00:12,240 --> 00:00:17,550
‫และในกระบวนการนี้ เราจะต้องเรียนรู้คณิตศาสตร์มากมาย การแปลงและเวกเตอร์จำนวนมาก

4
00:00:17,550 --> 00:00:20,610
‫มาดำดิ่งลงไปแล้วคิดออกว่ามันทำงานอย่างไร

5
00:00:22,870 --> 00:00:27,280
‫ดังนั้นเราจึงต้องการได้มุมที่เราควรจะเคลื่อนที่

6
00:00:27,730 --> 00:00:38,020
‫อย่างไรก็ตาม ก่อนที่เราจะทำอย่างนั้น เราต้องทำคณิตศาสตร์นิดหน่อยเพราะเราต้องการเข้าใจว่าเราจะได้รับมุมนี้ซึ่งเป็นท้องถิ่นสำหรับผู้เล่นได้อย่างไร

7
00:00:38,440 --> 00:00:46,870
‫และฉันจะอธิบายสิ่งที่ฉันหมายถึงโดยท้องถิ่นและระดับโลกและวิธีที่เราจะได้สิ่งนั้นจากความเร็วทั่วโลกและความหมายของคำเหล่านั้นต่อไป

8
00:00:47,080 --> 00:00:48,070
‫มาดูกันเลย

9
00:00:48,070 --> 00:00:56,560
‫อย่างแรกเลย เราจำเป็นต้องมีไพรเมอร์พื้นฐานเล็กน้อยเกี่ยวกับการแปลงร่าง และการเปลี่ยนแปลงใดที่เราเคยเห็นหรือคุณเคยเห็นพวกมันมาก่อนเล็กน้อย

10
00:00:56,710 --> 00:01:00,850
‫เมื่อคุณดูองค์ประกอบฉากใดๆ นั่นคือองค์ประกอบเหล่านี้ในลำดับชั้น

11
00:01:01,270 --> 00:01:02,890
‫คุณสามารถเห็นได้ว่าพวกเขามีการเปลี่ยนแปลงที่นี่

12
00:01:02,890 --> 00:01:07,660
‫ตำแหน่ง การหมุน คุณสมบัติของมาตราส่วน นั่นคือการเปลี่ยนแปลงโดยพื้นฐาน

13
00:01:08,050 --> 00:01:13,000
‫แต่สิ่งหนึ่งที่คุณไม่เห็นในที่นี้คือ ส่วนหนึ่งของการแปลงนี้คือความจริงที่ว่าส่วนประกอบเดียวกันนี้อยู่ในลำดับชั้น

14
00:01:13,000 --> 00:01:21,010
‫หมายความว่าหม้อแปลงของพวกมันมีพาเรนต์ด้วย

15
00:01:21,460 --> 00:01:23,380
‫แล้วมันทำงานอย่างไร?

16
00:01:23,380 --> 00:01:26,440
‫นี่คือตัวอย่างของเล่นชนิดหนึ่ง

17
00:01:26,440 --> 00:01:31,030
‫เรามีลูกบาศก์ตรงนี้ซึ่งบอกว่าเป็นฐานของเรา เป็นศูนย์กลางของโลกหรืออะไรสักอย่าง

18
00:01:31,450 --> 00:01:33,730
‫นั่นจะเป็นพื้นที่โลกของเรา

19
00:01:33,940 --> 00:01:41,590
‫เรามีตัวละครตัวนี้ที่นี่ ใบหน้าที่ยิ้มน้อยๆ และเขามีตำแหน่งในโลกที่สัมพันธ์กับฐานบ้านของเขา

20
00:01:42,040 --> 00:01:47,710
‫แล้วตัวละครตัวนี้ก็มีปืนและปืนก็มีตำแหน่งที่สัมพันธ์กับตัวละคร

21
00:01:47,710 --> 00:01:56,620
‫ดังนั้นวิธีการทำงานของลำดับชั้นนี้คือผู้ปกครองของปืนคือตัวละคร ผู้ปกครองหรือตัวละครคือฐานบ้านของเขาหรือโลก

22
00:01:57,610 --> 00:02:01,780
‫แล้วเราก็มีระบบพิกัดท้องถิ่นภายในเหล่านี้

23
00:02:01,780 --> 00:02:06,610
‫ดังนั้นระบบพิกัดของโลกก็คือ ระบบโลก ระบบโลก

24
00:02:06,970 --> 00:02:12,430
‫จากนั้นพิกัดของตัวละครของเราก็อยู่ในตำแหน่งนั้น

25
00:02:12,430 --> 00:02:15,910
‫ดังนั้นปืนจึงอยู่ในตำแหน่งที่สัมพันธ์กับลักษณะของปืน

26
00:02:15,910 --> 00:02:16,870
‫นั่นหมายความว่าอย่างไร?

27
00:02:16,870 --> 00:02:22,720
‫นั่นหมายความว่าหากตัวละครตัดสินใจหนีออกไปเล็กน้อย ปืนก็จะเคลื่อนที่ไปด้วย

28
00:02:22,720 --> 00:02:28,120
‫เพราะตำแหน่งของปืนที่สัมพันธ์กับตัวละครนั้นยังคงเดิม แต่เนื่องจากตัวละครเคลื่อนที่

29
00:02:28,120 --> 00:02:31,120
‫ตำแหน่งในโลกจึงขยับ .

30
00:02:31,810 --> 00:02:33,790
‫สิ่งเดียวกันเกิดขึ้นกับการหมุน

31
00:02:33,790 --> 00:02:37,690
‫ถ้าตัวละครหันกลับมา ปืนก็ต้องหมุนด้วย

32
00:02:38,170 --> 00:02:42,340
‫นั่นเป็นวิธีที่ Transformers ทำงานโดยพื้นฐานแล้วถูกปรับขนาดด้วย แต่เราจะไม่ดูที่มาตราส่วน

33
00:02:42,340 --> 00:02:46,870
‫มันเหมือนกัน แต่มันซับซ้อนและเราไม่จำเป็นต้องทำ

34
00:02:46,870 --> 00:02:47,560
‫ลองดูที่

35
00:02:47,560 --> 00:02:49,000
‫มันไม่เกี่ยวข้องกับเรา

36
00:02:49,870 --> 00:02:52,300
‫มาดูสิ่งนี้กัน

37
00:02:52,300 --> 00:02:54,730
‫เรามีพื้นที่ทั่วโลกและพื้นที่ท้องถิ่น

38
00:02:54,730 --> 00:03:03,160
‫ดังนั้นพื้นที่ทั่วโลกจึงมีฐานที่ศูนย์กลางของโลกและตัวละครก็ออกไปทางขวา

39
00:03:03,460 --> 00:03:07,000
‫ในทางกลับกัน พื้นที่ในท้องถิ่นมองเห็นสิ่งต่าง ๆ ในแสงที่ตรงกันข้าม

40
00:03:07,000 --> 00:03:14,740
‫มันบอกว่าตัวละครเป็นศูนย์กลางของโลกและฐานไปทางซ้ายถอยหลัง

41
00:03:14,740 --> 00:03:17,260
‫คุณรู้ไหม นั่นคือความแตกต่างระหว่างระดับโลกและระดับท้องถิ่น

42
00:03:17,260 --> 00:03:19,240
‫ทุกอย่างขึ้นอยู่กับมุมมองของคุณ

43
00:03:19,240 --> 00:03:20,590
‫ทุกอย่างสัมพันธ์กัน

44
00:03:20,590 --> 00:03:29,290
‫นี่คือสิ่งที่เราหมายถึงเมื่อเราพูดถึงการเปลี่ยนแปลงระหว่างพื้นที่ระดับโลกและในพื้นที่ และเราสนใจสิ่งใด

45
00:03:29,290 --> 00:03:35,020
‫สำหรับมุมของเรา เราสนใจมุมในพื้นที่ที่สัมพันธ์กับตำแหน่งที่ผู้เล่นกำลังมอง

46
00:03:35,020 --> 00:03:38,770
‫เรากำลังพูดว่า คุณรู้ไหม เราจะย้ายไปทางขวาหรือไม่?

47
00:03:38,770 --> 00:03:42,190
‫นั่นคือสิ่งที่เรากำลังบอกว่าไม่ใช่ทั่วโลก แต่ในระดับท้องถิ่น

48
00:03:42,190 --> 00:03:45,340
‫เรากำลังย้ายไปยังผู้เล่นของเราทางด้านขวาหรือไม่?

49
00:03:45,340 --> 00:03:51,550
‫เพราะถ้าผู้เล่นของเราหมุนไปรอบ ๆ 180 องศา เขาไม่ควรเล่นแอนิเมชั่นทางซ้ายเพียงเพราะเขาหันหลังกลับ

50
00:03:51,970 --> 00:03:59,320
‫ความแตกต่างที่สำคัญอีกประการหนึ่งคือวิธีที่เราทำการแปลงสำหรับเวกเตอร์ประเภทต่างๆ

51
00:03:59,770 --> 00:04:04,390
‫ตัวอย่างแรกที่ฉันต้องการดูคือเวกเตอร์ตำแหน่ง

52
00:04:04,600 --> 00:04:13,090
‫เวกเตอร์ตำแหน่งโดยพื้นฐานแล้วเป็นเวกเตอร์ที่ให้ความแตกต่างระหว่างตำแหน่งปัจจุบันหรือจุดศูนย์ในระบบพิกัดของเรา

53
00:04:13,210 --> 00:04:19,750
‫ซึ่งเมื่อเราเพ่งความสนใจไปที่ตัวละคร ก็คือตัวของตัวละครเอง แล้วมันก็ให้ลูกศรชี้ไปที่

54
00:04:19,750 --> 00:04:24,850
‫ที่สิ่งที่ควรจะเป็น

55
00:04:24,850 --> 00:04:28,600
‫ในกรณีนี้ มันคือเวกเตอร์ตำแหน่งปืน

56
00:04:28,870 --> 00:04:34,180
‫ทีนี้ ถ้าเราแปลงสิ่งนี้เป็นพื้นที่โลกของเรา นี่คือสิ่งที่จะเกิดขึ้น

57
00:04:34,180 --> 00:04:40,570
‫ตอนนี้ลูกศรชี้จากศูนย์กลางของโลกใหม่ พื้นที่โลก และชี้ไปที่ปืน

58
00:04:41,050 --> 00:04:45,100
‫นั่นคือสิ่งที่เกิดขึ้นถ้าคุณแปลงเวกเตอร์ตำแหน่ง

59
00:04:45,310 --> 00:04:49,480
‫ทีนี้ ถ้าคุณทำเวกเตอร์ทิศทาง สิ่งต่างๆ จะดูแตกต่างออกไปเล็กน้อย

60
00:04:49,480 --> 00:04:57,460
‫เวกเตอร์ทิศทางคือเวกเตอร์ที่บอกว่านี่คือวิธีที่ฉันควรชี้ ไม่จำเป็นว่าสิ่งของอยู่ที่ไหน

61
00:04:58,060 --> 00:05:06,340
‫และนี่จะเปลี่ยนไปค่อนข้างแตกต่างเพราะตอนนี้เราไม่สนใจที่มันชี้ไปยังตำแหน่งเดียวกัน

62
00:05:06,340 --> 00:05:10,060
‫ตำแหน่งนั้นจึงไม่ได้รับการอัพเดตจริงๆ

63
00:05:10,060 --> 00:05:19,360
‫แต่มันทำให้เวกเตอร์หมุนและปรับขนาดหรืออะไรก็ตาม และเราลงเอยด้วยหน้าตาแบบนี้

64
00:05:19,690 --> 00:05:21,730
‫นั่นคือรูปแบบของการเปลี่ยนแปลงจริงๆ

65
00:05:21,770 --> 00:05:31,400
‫ประเทศที่เราต้องการจะทำเพราะเรากำลังจัดการกับความเร็วซึ่งเป็นเวกเตอร์ทิศทางมากกว่าเวกเตอร์ตำแหน่งหรือความเร็วไม่ได้บอกอะไรเราเกี่ยวกับตำแหน่งที่เราควรจะเป็น

66
00:05:31,400 --> 00:05:36,740
‫มันบอกเราเกี่ยวกับทิศทางที่เราควรจะไปและเราควรจะไปในทิศทางนั้นเร็วแค่ไหน

67
00:05:38,540 --> 00:05:45,320
‫ด้วยทฤษฎีนั้นให้พ้นทาง มาคำนวณทิศทางของเราจากความเร็วนี้กัน

68
00:05:45,320 --> 00:05:52,110
‫ดังนั้นเราจึงรู้ว่าความเร็วอยู่ในพื้นที่โลกและเราต้องการแปลงเป็นพื้นที่ท้องถิ่น

69
00:05:52,130 --> 00:05:58,010
‫นั่นหมายความว่าโดยทั่วไปแล้ว เรากำลังพยายามทำสิ่งตรงกันข้าม ปกติแล้วเพราะเรากำลังบอกว่า

70
00:05:58,010 --> 00:06:02,870
‫เรามีตำแหน่ง ตำแหน่งเฉพาะของปืน มันคือการเปลี่ยนแปลงเฉพาะที่

71
00:06:02,870 --> 00:06:10,220
‫เราต้องการหาว่ามันคืออะไรในอวกาศโลก เพื่อให้เราสามารถแสดงมันเทียบกับทุกสิ่งทุกอย่าง

72
00:06:10,430 --> 00:06:12,650
‫ตอนนี้ นั่นไม่ใช่สิ่งที่เราพยายามจะทำที่นี่

73
00:06:12,650 --> 00:06:13,880
‫เรากำลังพยายามทำสิ่งที่ตรงกันข้าม

74
00:06:13,880 --> 00:06:17,330
‫สิ่งที่เราต้องการจริงๆ เรียกว่า การแปลงผกผัน

75
00:06:17,330 --> 00:06:20,090
‫การเปลี่ยนแปลงด้วยวิธีนี้จากท้องถิ่นไปสู่ระดับโลก

76
00:06:20,120 --> 00:06:23,090
‫การแปลงผกผันเปลี่ยนจากทั่วโลกไปสู่ระดับท้องถิ่น

77
00:06:23,600 --> 00:06:27,980
‫เนื่องจากเรามีความเร็วทั่วโลก เราจึงต้องการแปลงแบบผกผัน

78
00:06:27,980 --> 00:06:32,270
‫ลองถอดตรงนี้แล้วมองหาการแปลงผกผัน

79
00:06:32,270 --> 00:06:34,880
‫และคุณจะเห็นว่าเรามีสองตัวเลือกนี้

80
00:06:34,880 --> 00:06:36,830
‫เราไม่สนใจเมทริกซ์พวกนี้

81
00:06:36,830 --> 00:06:39,980
‫เรามีสองทางเลือกสำหรับทิศทางและที่ตั้ง

82
00:06:39,980 --> 00:06:45,050
‫และอย่างที่ฉันบอกไป ความแตกต่างก็คือสถานที่หนึ่งจะย้ายตำแหน่งนั้นไปรอบๆ

83
00:06:45,050 --> 00:06:49,610
‫ทิศทางจะใช้การหมุนและมาตราส่วนเท่านั้น

84
00:06:49,610 --> 00:06:51,200
‫ดังนั้นเราจึงต้องการทิศทาง

85
00:06:51,870 --> 00:06:54,030
‫เราต้องแปลงร่างเพื่อหมุนมันด้วย

86
00:06:54,030 --> 00:06:57,900
‫เราจะต้องได้รับการเปลี่ยนแปลงของตัวจำนำของตัวละคร

87
00:06:57,900 --> 00:07:00,000
‫นั่นมันที่ไหน - ในโลก

88
00:07:00,120 --> 00:07:05,040
‫ไปข้างหน้าและคว้า -- เจ้าของและมองหาการแปลง

89
00:07:06,120 --> 00:07:08,070
‫พร็อพเพอร์ตี้รับการแปลงโฉมนักแสดง

90
00:07:08,070 --> 00:07:09,090
‫ที่จะเป็นหนึ่ง

91
00:07:09,270 --> 00:07:16,440
‫เราจะใส่มันเข้าไปในทิศทางการแปลงผกผัน และเราได้เวกเตอร์ใหม่จากอันนี้

92
00:07:17,790 --> 00:07:22,110
‫ขั้นต่อไปคือการได้การหมุนของเวกเตอร์นี้

93
00:07:22,110 --> 00:07:25,420
‫ดังนั้นเราจะมองหาการหมุน

94
00:07:25,440 --> 00:07:27,030
‫ดูว่าเราสามารถหาอะไรได้บ้าง

95
00:07:27,330 --> 00:07:31,530
‫เราพบการหมุนของรูปลักษณ์ หมุนจากแกนเป็นโคแทนเจนต์

96
00:07:31,560 --> 00:07:35,340
‫ทีนี้ มาดูการหมุนจากเวกเตอร์ X กัน

97
00:07:36,340 --> 00:07:45,790
‫หากคุณอ่านเอกสารที่นี่ มันบอกว่ามันจะตั้งค่าของคุณและ pitch จากเวกเตอร์นี้ แต่มันจะไม่กำหนดบทบาทเพราะไม่สามารถรับข้อมูลนั้นจากเวกเตอร์ได้

98
00:07:45,820 --> 00:07:46,590
‫ไม่เป็นไร.

99
00:07:46,600 --> 00:07:48,700
‫เราไม่สนใจบทบาทในกรณีนี้

100
00:07:48,700 --> 00:07:53,200
‫ทั้งหมดที่เราใส่ใจคือผู้ใช้เท่านั้น เพราะเราต้องการดูว่าเราจะเลี้ยวขวาหรือซ้ายได้ไกลแค่ไหน

101
00:07:53,200 --> 00:07:59,080
‫การหมุนจากเวกเตอร์ X, นั่นคืออันที่เราต้องการ จะส่งตัวหมุนกลับมาให้เรา

102
00:07:59,500 --> 00:08:05,980
‫และเพื่อให้เราได้เฉพาะผู้ใช้จาก rotator นั้น เราจะคลิกขวาที่พินแล้วกด split struct

103
00:08:05,980 --> 00:08:10,870
‫pin ซึ่งไปข้างหน้าและแยก struct นั้นออกเป็น roll pitch

104
00:08:10,870 --> 00:08:12,750
‫และคุณก็ทำได้บนเวกเตอร์เช่นกัน

105
00:08:12,760 --> 00:08:18,220
‫อ้อ ฉันคิดว่าคุณสามารถคลิกขวาแล้วมาดูกัน ฉันคิดว่าฉันต้องทำลายลิงก์จึงจะทำได้

106
00:08:18,220 --> 00:08:19,150
‫ดังนั้นฉันจะไม่แสดงให้คุณเห็น

107
00:08:19,510 --> 00:08:23,200
‫แต่โดยพื้นฐานแล้ว เรามีผู้ใช้ที่นี่ และนั่นคือสิ่งที่เราต้องการตั้งค่า

108
00:08:23,200 --> 00:08:28,090
‫อีกครั้ง ความท้าทายมากมายกำหนดให้ผู้ใช้เป็นมุมและทดสอบ

109
00:08:28,920 --> 00:08:36,240
‫ดังนั้นอีกครั้ง ความท้าทายเล็กๆ ที่กำหนดให้ปีเป็นตัวแปรประจำปีที่เข้าสู่พื้นที่ผสมผสานและทดสอบ ลองใช้ในเกม

110
00:08:36,240 --> 00:08:40,080
‫และดูว่าคุณจะสามารถวิ่งไปรอบๆ ได้สำเร็จหรือไม่

111
00:08:41,250 --> 00:08:41,430
‫ตกลง.

112
00:08:41,430 --> 00:08:41,900
‫ยินดีต้อนรับกลับ.

113
00:08:41,910 --> 00:08:51,540
‫เราจะลากมุมอีกครั้ง มุมตั้งค่าตัวแปร ตั้งค่ามุมจากการหันเห และเราจะได้พินการดำเนินการจากจุดสิ้นสุดของความเร็ว

114
00:08:51,900 --> 00:08:56,820
‫ฉันจะคอมไพล์และบันทึกสิ่งนั้น และเราจะไปที่แซนด์บ็อกซ์และกดปุ่มเล่น

115
00:08:58,160 --> 00:08:59,780
‫และตอนนี้เรามาลองย้ายไปรอบๆ

116
00:08:59,780 --> 00:09:05,270
‫ตัวควบคุมจะเหมาะที่สุดเพื่อให้คุณสามารถทดสอบการไล่ระดับสีและความแตกต่างต่างๆ ได้

117
00:09:05,270 --> 00:09:10,280
‫และแน่นอน คุณจะเห็นได้ว่าตอนนี้ฉันเริ่มเคลื่อนไหวแล้ว ฉันสามารถถอยหลัง

118
00:09:10,280 --> 00:09:14,840
‫ฉันสามารถเดินหน้า วิ่ง และวิ่งไปด้านข้างได้ 45 องศา

119
00:09:14,840 --> 00:09:20,510
‫ทั้งหมดนี้ทำงานโดยอิงจากคณิตศาสตร์ที่เราคำนวณเพื่อคำนวณมุมของเรา

120
00:09:21,640 --> 00:09:22,120
‫สิ่งที่ดี

121
00:09:22,120 --> 00:09:30,400
‫เราจึงได้เรียนรู้มากมายเกี่ยวกับการแปลงและเวกเตอร์ และวิธีที่คุณสามารถแปลงเวกเตอร์ ทั้งการแปลงผกผันและการแปลงไปข้างหน้า

122
00:09:30,490 --> 00:09:36,680
‫และในการบรรยายครั้งต่อไป เราจะดูการแก้ไขการเลื่อนเท้าที่เราเห็นที่นี่

123
00:09:36,700 --> 00:09:37,690
‫ฉันจะไปพบคุณที่นั่น.

