﻿1
00:00:04,360 --> 00:00:05,260
‫Xin chào và chào mừng.

2
00:00:05,260 --> 00:00:08,800
‫Trong bài giảng này, chúng ta sẽ nhìn mọi thứ từ quan điểm của người chơi.

3
00:00:08,830 --> 00:00:15,280
‫Về cơ bản, chúng ta sẽ nắm được chế độ xem của người chơi, vị trí và góc quay của camera

4
00:00:15,280 --> 00:00:21,010
‫để khi chúng ta nhấn vào nút kích hoạt, chúng ta có thể vẽ một camera gỡ lỗi.

5
00:00:21,040 --> 00:00:26,890
‫Những anh chàng nhỏ màu đỏ này, những chiếc máy ảnh hình hộp nhỏ màu đỏ này cho chúng ta thấy khung cảnh đó ở đâu.

6
00:00:26,890 --> 00:00:28,060
‫Và chúng tôi có thể khẳng định điều đó.

7
00:00:28,060 --> 00:00:32,050
‫Sau đó chúng ta có thể sử dụng nó để đo ray cho súng.

8
00:00:32,050 --> 00:00:34,990
‫Hãy đi sâu vào và xem tất cả những điều đó đang hoạt động.

9
00:00:36,200 --> 00:00:38,360
‫Hãy để tôi bắt đầu bài giảng này bằng một câu hỏi.

10
00:00:38,360 --> 00:00:45,860
‫Vì vậy, nếu bạn đang nhắm mục tiêu qua khung nhìn của mình như thế này và bạn đang cố gắng sắp xếp tâm màn hình với trung

11
00:00:45,860 --> 00:00:51,020
‫tâm chỉ huy D trên D đó hoặc trung tâm chỉ huy zero, bất kể điều đó là gì.

12
00:00:51,260 --> 00:00:54,860
‫Và tôi nhắm mục tiêu mà tôi sẽ hướng tới là gì?

13
00:00:54,950 --> 00:00:56,420
‫Những gì tôi mong đợi để đạt được?

14
00:00:56,450 --> 00:00:59,360
‫Bạn có thể nói, tốt, tôi hy vọng nó sẽ đạt đến con số 0 đó.

15
00:00:59,360 --> 00:01:01,260
‫Sam, đó có vẻ như là câu trả lời hiển nhiên.

16
00:01:01,280 --> 00:01:06,140
‫Chà, đó không nhất thiết là những gì bạn sẽ đạt được, tùy thuộc vào cách bạn làm mọi thứ, cách bạn thực hiện việc

17
00:01:06,140 --> 00:01:06,980
‫đọc lại của mình.

18
00:01:06,980 --> 00:01:10,160
‫Vì vậy, chúng ta hãy xem xét các chiến lược mà chúng tôi có để đúc kết lại.

19
00:01:10,190 --> 00:01:15,410
‫Rõ ràng nhất là bạn nói, Chà, chúng tôi đang bắn ra khỏi khẩu súng, vì vậy chúng tôi sẽ đúc lại

20
00:01:15,410 --> 00:01:15,920
‫nòng súng.

21
00:01:15,920 --> 00:01:20,450
‫Hoặc nhân tiện, thiết lập này, rất, rất thô thiển, về cơ bản là do người thứ ba của chúng ta sắp đặt.

22
00:01:20,450 --> 00:01:21,860
‫Chúng tôi có một máy quay ở đây.

23
00:01:21,860 --> 00:01:23,870
‫Chúng tôi có nhân vật, chúng tôi có súng.

24
00:01:23,870 --> 00:01:26,690
‫Và anh ta đang cố gắng bắn vào một nhân vật mục tiêu khác ở đây.

25
00:01:26,900 --> 00:01:31,240
‫Vì vậy, trước hết, chúng tôi đúc lại từ khẩu súng như vậy thuần túy.

26
00:01:31,280 --> 00:01:38,120
‫Có thể nó bỏ sót vì máy ảnh của chúng ta không hướng vào nơi mà súng đang chĩa vào, không nhất thiết.

27
00:01:38,120 --> 00:01:41,630
‫Mặc dù chúng có thể chỉ về cùng một hướng, nhưng chúng hơi lệch nhau, vì vậy

28
00:01:41,630 --> 00:01:43,970
‫chúng sẽ không nhất thiết phải đánh cùng một thứ.

29
00:01:43,970 --> 00:01:48,440
‫Thay vào đó, bạn có thể chọn mà bạn muốn xem lại từ máy ảnh.

30
00:01:48,470 --> 00:01:54,590
‫Điều đó có nghĩa là bất cứ thứ gì camera đang nhìn đều sẽ là thứ bị ảnh hưởng và điều đó thường cảm thấy

31
00:01:54,590 --> 00:01:57,440
‫tự nhiên hơn trong các trò chơi góc nhìn thứ ba.

32
00:01:57,710 --> 00:02:02,570
‫Khi bạn tham gia trò chơi góc nhìn thứ nhất, mọi thứ sẽ gần hơn một chút vì thường thì bạn đang ở rất gần

33
00:02:02,570 --> 00:02:02,960
‫thùng.

34
00:02:02,960 --> 00:02:07,100
‫Nhưng ngay cả trong các trò chơi góc nhìn thứ nhất, quy tắc này vẫn có xu hướng đúng như vậy.

35
00:02:07,100 --> 00:02:10,970
‫Bạn không muốn di chuyển xung quanh nơi có điểm nhắm trên màn hình.

36
00:02:10,970 --> 00:02:17,000
‫Bạn thường có một phần nhỏ của giao diện người dùng phủ lên đây ở giữa màn hình và đó là nơi

37
00:02:17,000 --> 00:02:18,680
‫bạn sẽ nhắm mục tiêu xuống.

38
00:02:18,680 --> 00:02:25,010
‫Và đó là lý do tại sao chúng tôi có xu hướng đúc tia bằng vũ khí đúc tia xuống khung nhìn này.

39
00:02:25,340 --> 00:02:32,390
‫Bây giờ, may mắn thay, có một cách để chúng tôi có được khung nhìn này và chúng tôi thực sự làm điều đó từ bộ điều khiển, chúng tôi

40
00:02:32,390 --> 00:02:34,520
‫có được khung nhìn của bộ điều khiển.

41
00:02:34,520 --> 00:02:41,720
‫Vì vậy, điều đó đòi hỏi chúng ta phải đi đến nhân vật, tìm bộ điều khiển của nhân vật, sau đó tìm vị

42
00:02:41,720 --> 00:02:44,300
‫trí khung nhìn và góc quay của nó.

43
00:02:44,300 --> 00:02:50,510
‫Và những gì chúng ta sẽ làm trong bài giảng này là thử hình dung và xác nhận rằng vị trí và vòng quay của

44
00:02:50,510 --> 00:02:53,060
‫khung nhìn là những gì chúng ta mong đợi.

45
00:02:53,210 --> 00:02:57,350
‫Và chúng tôi sẽ làm điều đó bằng cách vẽ một số trình trợ giúp gỡ lỗi.

46
00:02:57,500 --> 00:03:05,390
‫Bây giờ trình trợ giúp gỡ lỗi nằm trong tệp tiêu đề và tên tệp tiêu đề là một trình gỡ lỗi.

47
00:03:06,310 --> 00:03:06,820
‫Người trợ giúp.

48
00:03:06,820 --> 00:03:10,600
‫Thật thú vị, tôi tin rằng hoặc vẽ, vẽ những người trợ giúp gỡ lỗi.

49
00:03:10,600 --> 00:03:11,170
‫Đó là một trong những.

50
00:03:11,530 --> 00:03:16,600
‫Và nếu chúng ta đi xem qua chiếc F 12 này để điều hướng đến tệp tiêu đề nếu bạn đã

51
00:03:16,600 --> 00:03:22,120
‫có nó trong bao gồm của mình, chúng ta sẽ tìm kiếm một cái gọi là máy ảnh gỡ lỗi máy ảnh vẽ.

52
00:03:22,120 --> 00:03:26,890
‫Và điều này vẽ ra một cái gì đó giống như sơ đồ của tôi ở đây, một chút hình tam giác

53
00:03:26,890 --> 00:03:29,440
‫hoặc một lỗ trống mà chúng ta có thể sử dụng.

54
00:03:29,440 --> 00:03:31,270
‫Vì vậy, những gì nó sẽ có trong?

55
00:03:31,270 --> 00:03:37,870
‫Nó sẽ đưa trên thế giới một vị trí của máy ảnh đó, một vòng quay cho máy ảnh đó.

56
00:03:37,900 --> 00:03:41,320
‫Vì vậy, vị trí, vòng quay, trường nhìn.

57
00:03:41,320 --> 00:03:44,440
‫Chà, chúng tôi sẽ đặt điều đó có thể thành mặc định là 90 độ.

58
00:03:44,440 --> 00:03:46,960
‫Có một tỷ lệ, có một màu sắc mặc định.

59
00:03:46,960 --> 00:03:48,130
‫Tất cả đều được mặc định.

60
00:03:48,130 --> 00:03:49,720
‫Vì vậy, chúng tôi chỉ có thể sử dụng mặc định đó.

61
00:03:50,020 --> 00:03:58,000
‫Vì vậy, hãy thử vẽ một máy ảnh gỡ lỗi xuống đây trong súng của tôi và chúng tôi sẽ đặt nó vào phương pháp kích hoạt kéo vì đó là lý do tại sao chúng tôi đang

62
00:03:58,000 --> 00:03:59,410
‫thực hiện công việc của mình.

63
00:03:59,410 --> 00:04:01,870
‫Nó cần trước hết, nó là gì?

64
00:04:01,870 --> 00:04:03,970
‫Đó là một thế giới mới.

65
00:04:03,970 --> 00:04:06,460
‫Vì vậy, chúng tôi có được thế giới của chúng tôi.

66
00:04:07,300 --> 00:04:11,410
‫Nhưng chúng ta cần thu hút điều tiếp theo sẽ là một vị trí.

67
00:04:11,410 --> 00:04:21,250
‫Hãy chỉ lấy vị trí diễn viên trong thời gian này và thực hiện xoay vòng diễn viên.

68
00:04:22,030 --> 00:04:25,650
‫Và điều cuối cùng chúng tôi cần là một trường nhìn.

69
00:04:25,660 --> 00:04:33,280
‫Chúng ta hãy đi đến trường xem 90 độ, đó chỉ là một điều ngẫu nhiên ở đó, và chúng ta có thể tiếp tục biên dịch và

70
00:04:33,280 --> 00:04:35,860
‫xem liệu điều này có hiển thị hay không.

71
00:04:36,280 --> 00:04:40,480
‫Và sau đó chúng ta hãy nhấn chơi và nhấn.

72
00:04:41,170 --> 00:04:42,100
‫Nút kích hoạt.

73
00:04:42,100 --> 00:04:43,480
‫Tôi không thấy gì ở đây.

74
00:04:43,480 --> 00:04:47,110
‫Hãy làm một F 8 và xem liệu chúng ta có thể tiến gần hơn không.

75
00:04:48,550 --> 00:04:51,790
‫Vẫn không hiển thị bất kỳ loại máy ảnh nào trong đây.

76
00:04:51,790 --> 00:04:53,740
‫Tôi tự hỏi nếu nó thực sự, thực sự nhỏ.

77
00:04:54,490 --> 00:05:00,730
‫Vì vậy, một trong những lựa chọn khác ở đây là chúng ta có thể muốn có một đường liên tục.

78
00:05:01,120 --> 00:05:07,660
‫Và điều đó có nghĩa là chúng ta cần chỉ định mọi thứ liên quan đến nó trong C ++ để chúng ta có thể đặt thang đo của mình thành một.

79
00:05:07,660 --> 00:05:13,180
‫Chúng tôi thậm chí có thể tăng nó lên có thể là hai tỷ lệ, đề phòng kích thước có vấn đề.

80
00:05:13,240 --> 00:05:16,960
‫Chúng ta có thể chọn một màu dễ nhìn hơn, có thể là màu đỏ.

81
00:05:16,960 --> 00:05:19,000
‫Vậy F màu, dấu hai chấm, dấu hai chấm, màu đỏ.

82
00:05:19,420 --> 00:05:27,760
‫Và sau đó, chúng ta có thể thử xem các đường liên tục là đúng và thử một trong những kích thước.

83
00:05:28,410 --> 00:05:29,910
‫Vì vậy, biên dịch lại.

84
00:05:30,890 --> 00:05:32,810
‫Và nhảy vào cuộc chơi.

85
00:05:33,260 --> 00:05:34,960
‫Và chúng ta bắt đầu.

86
00:05:34,970 --> 00:05:35,990
‫Chúng tôi đánh.

87
00:05:37,450 --> 00:05:38,260
‫Bộ kích hoạt.

88
00:05:38,260 --> 00:05:45,730
‫Và bạn có thể thấy rằng nó hiển thị một hộp camera nhỏ ở đây, nơi chúng tôi nhấn cò và xoay và vị

89
00:05:45,730 --> 00:05:50,350
‫trí của nó được thiết lập bởi súng và vị trí và vòng quay.

90
00:05:50,350 --> 00:05:53,020
‫Vì vậy, bây giờ chúng tôi muốn thử và lấy khung nhìn thay thế.

91
00:05:53,020 --> 00:05:57,220
‫Vì vậy, như tôi đã nói, điều này sẽ nằm trên bộ điều khiển của chúng tôi.

92
00:05:57,250 --> 00:06:03,850
‫Vì vậy, chúng ta hãy xem xét Controller H và một lần nữa, chúng tôi muốn cái đó trong khuôn khổ trò chơi và

93
00:06:03,850 --> 00:06:06,640
‫chúng tôi sẽ tìm kiếm khung nhìn ở đây.

94
00:06:06,770 --> 00:06:07,390
‫Tôi cầu xin bạn thứ lỗi?

95
00:06:07,390 --> 00:06:11,050
‫Trên thực tế, quan điểm là từ chúng tôi đang tìm kiếm và có một số ít ở đây.

96
00:06:11,050 --> 00:06:15,670
‫Lấy đôi mắt của diễn viên một điểm quan sát sẽ được nhìn qua đôi mắt của diễn viên.

97
00:06:15,670 --> 00:06:22,240
‫Nhưng chúng tôi thực sự muốn phát triển góc nhìn, đối với người điều khiển bằng mắt sẽ sử dụng mắt của họ, nhưng đối với người

98
00:06:22,240 --> 00:06:24,490
‫chơi sẽ sử dụng máy ảnh của người chơi.

99
00:06:24,490 --> 00:06:25,570
‫Vì vậy, đó là những gì chúng tôi muốn.

100
00:06:25,570 --> 00:06:27,700
‫Chúng tôi muốn quan điểm của người chơi.

101
00:06:27,910 --> 00:06:32,080
‫Nhưng trước hết, chúng ta phải nắm được bộ điều khiển đó ngay từ đầu.

102
00:06:32,080 --> 00:06:39,160
‫Và cách để làm điều đó là, trước hết, chúng tôi cần phải làm cho chủ sở hữu của chúng tôi nhớ rằng khi chúng tôi mở CP

103
00:06:39,250 --> 00:06:46,420
‫của nhân vật bắn súng và chúng tôi đi xuống hoặc chuyển đến phần chơi Bắt đầu của mình, bạn có thể thấy chúng tôi đang cài đặt khẩu

104
00:06:46,420 --> 00:06:48,190
‫súng chủ nhân là nhân vật.

105
00:06:48,400 --> 00:06:51,700
‫Điều đó có nghĩa là trong khẩu súng, chúng ta có thể đi theo hướng khác.

106
00:06:51,700 --> 00:06:56,890
‫Chúng ta có thể nói rằng có được chủ sở hữu và điều đó sẽ giúp chúng ta có được nhân vật game bắn súng.

107
00:06:56,890 --> 00:06:59,380
‫Bây giờ nó sẽ không biết rằng đó là một nhân vật bắn súng.

108
00:06:59,380 --> 00:07:00,880
‫Tất cả những gì nó biết là nó là một diễn viên.

109
00:07:00,880 --> 00:07:02,560
‫Vì vậy, chúng tôi sẽ phải thực hiện một cuộc casting ở đây.

110
00:07:02,890 --> 00:07:07,810
‫Vì vậy, chúng tôi sẽ nhập vai cho nhân vật A Shooter.

111
00:07:08,540 --> 00:07:12,890
‫Và trên thực tế, chúng ta thậm chí không cần biết bất cứ điều gì nhiều bằng sự thật rằng đó là một nhân vật game bắn súng.

112
00:07:12,890 --> 00:07:18,830
‫Đủ để biết rằng đó là một con tốt và bất kỳ con tốt nào sau đó đều có thể sở hữu khẩu súng này, ngay cả khi nó không phải là

113
00:07:18,830 --> 00:07:19,760
‫một nhân vật bắn súng.

114
00:07:19,760 --> 00:07:22,210
‫Vì vậy, hãy cố gắng và càng không cụ thể càng tốt.

115
00:07:22,220 --> 00:07:24,200
‫Tuy nhiên, tại sao nó cần phải là một con tốt?

116
00:07:24,200 --> 00:07:29,570
‫Nó cần phải là một con tốt vì chúng ta cần có một bộ điều khiển và chỉ những con tốt mới có thể được sở hữu bởi bộ điều khiển.

117
00:07:29,570 --> 00:07:30,980
‫Vì vậy, hãy đặt điều này trong một biến.

118
00:07:30,980 --> 00:07:39,200
‫Nó sẽ là - dấu sao và sau đó là chủ sở hữu - sẽ là tên của biến.

119
00:07:39,710 --> 00:07:42,350
‫Sau đó, chúng ta cần kiểm tra xem nó không phải là null.

120
00:07:48,750 --> 00:07:53,490
‫Và tôi sẽ làm điều này với một dòng lót cho biết nếu nó là null, chúng tôi sẽ quay lại sớm từ

121
00:07:53,490 --> 00:07:59,280
‫trình kích hoạt nhóm của chúng tôi để chúng tôi không có bất kỳ rủi ro nào khi cố gắng gọi bất kỳ thứ gì bằng con trỏ null.

122
00:07:59,430 --> 00:08:08,790
‫Vì vậy, sau đó chúng tôi có thể làm chủ sở hữu cầm đồ, nhận bộ điều khiển và chúng tôi muốn lưu điều đó vào bộ điều khiển A.

123
00:08:09,030 --> 00:08:11,640
‫Ngôi sao Và đây có thể là chủ sở hữu.

124
00:08:12,090 --> 00:08:12,960
‫Bộ điều khiển.

125
00:08:14,210 --> 00:08:15,140
‫Như vậy.

126
00:08:15,470 --> 00:08:19,700
‫Và một lần nữa, chúng tôi chỉ muốn kiểm tra xem đây không phải là null vì chúng tôi sẽ

127
00:08:19,700 --> 00:08:23,930
‫gọi một phương thức trên đó và chúng tôi không thể gọi các phương thức trên con trỏ null.

128
00:08:23,960 --> 00:08:26,930
‫Nó làm cho không thực tế, không vui và sụp đổ.

129
00:08:26,930 --> 00:08:31,460
‫Vì vậy, đây là nơi bây giờ chúng ta có thể kiểm soát chủ sở hữu của chúng tôi.

130
00:08:33,340 --> 00:08:37,300
‫Và chúng ta sẽ có thể gọi đó là một góc nhìn.

131
00:08:38,420 --> 00:08:42,020
‫Vì vậy, ở đây có thách thức cho bạn để thiết lập vị trí và xoay.

132
00:08:42,020 --> 00:08:45,440
‫Sử dụng chức năng mới đó, bạn có thể thấy chữ ký của nó.

133
00:08:45,440 --> 00:08:52,040
‫Một lần nữa, chúng ta đi tới Bộ điều khiển H trước tệp và nhìn vào đó để chơi một quan điểm.

134
00:08:52,040 --> 00:08:58,730
‫Hãy thử và xem liệu từ chữ ký này, bạn có thể tìm ra cách sử dụng nó để lấy vị trí và cách xoay mà chúng tôi muốn chuyển

135
00:08:58,730 --> 00:09:01,460
‫đến trình trợ giúp gỡ lỗi vẽ của chúng tôi hay không.

136
00:09:01,700 --> 00:09:05,690
‫Và vì vậy bạn sẽ nhớ rằng điều này đang sử dụng các tham số.

137
00:09:05,690 --> 00:09:12,830
‫Vì vậy, hãy sửa lại các thông số của bạn, vẽ camera gỡ lỗi bằng đoạn mã mà chúng tôi vừa viết và kiểm tra

138
00:09:12,830 --> 00:09:14,270
‫nó trong chế độ xem.

139
00:09:14,300 --> 00:09:19,400
‫Đi và nhấp vào nút kích hoạt một vài lần ở các vị trí khác nhau và xem nơi máy ảnh đó kết thúc

140
00:09:19,400 --> 00:09:21,380
‫hiển thị video tạm dừng và bắt đầu.

141
00:09:22,470 --> 00:09:22,800
‫Được chứ.

142
00:09:22,800 --> 00:09:23,440
‫Chào mừng trở lại.

143
00:09:23,460 --> 00:09:24,660
‫Vì vậy, hãy chơi một quan điểm.

144
00:09:24,660 --> 00:09:29,720
‫Tôi sẽ sao chép tên của phương thức và đưa nó đến đây vì nó là một tham số out.

145
00:09:29,730 --> 00:09:34,080
‫Trước tiên, tôi sẽ cần khai báo các biến mà tôi muốn các giá trị đó đi vào.

146
00:09:34,080 --> 00:09:36,330
‫Tôi đã có một vị trí vectơ F.

147
00:09:36,720 --> 00:09:41,340
‫Chúng tôi đã có một vòng quay F rotator.

148
00:09:42,260 --> 00:09:45,660
‫Và chúng tôi muốn chuyển chúng vào làm đối số.

149
00:09:45,680 --> 00:09:48,320
‫Hãy để tôi sửa lỗi thụt lề ở đó một chút.

150
00:09:48,320 --> 00:09:51,860
‫Và chúng ta sẽ đi qua vị trí, vòng quay.

151
00:09:52,190 --> 00:09:58,580
‫Và chúng tôi biết rằng vì nó chỉ được khai báo ở đây khi đọc điều này, chúng tôi có thể đoán rằng đây là các tham

152
00:09:58,580 --> 00:10:04,130
‫số hiện tại, mặc dù không có bất kỳ sự hữu ích nào về cú pháp từ C ++ về vấn đề đó.

153
00:10:04,460 --> 00:10:09,470
‫Và sau đó, chúng tôi có thể chuyển vị trí này thay vì vị trí tác nhân và chúng tôi có thể

154
00:10:09,470 --> 00:10:13,820
‫chuyển vòng xoay này thay vì xoay đang hoạt động vào máy ảnh gỡ lỗi vẽ của chúng tôi.

155
00:10:14,210 --> 00:10:19,270
‫Và chúng ta có thể tiếp tục xây dựng trình biên dịch đó và dùng thử trong trình biên tập.

156
00:10:19,280 --> 00:10:21,350
‫Chà, có vẻ như quá trình biên dịch đã hoàn tất.

157
00:10:21,350 --> 00:10:23,120
‫Hãy đi và chơi.

158
00:10:23,450 --> 00:10:29,150
‫Và khi tôi nhấn Trigger, bạn có thể thấy một chiếc máy ảnh xuất hiện ngay trên góc nhìn của tôi.

159
00:10:29,150 --> 00:10:30,160
‫Đó là một dấu hiệu tốt.

160
00:10:30,170 --> 00:10:32,510
‫Nếu tôi lùi lại một chút, bạn có thể thấy ở đó.

161
00:10:32,510 --> 00:10:38,300
‫Chúng tôi có những chiếc máy ảnh này đang hướng chính xác về hướng chính xác từ nơi tôi vừa nhìn.

162
00:10:38,300 --> 00:10:43,700
‫Vì vậy, bạn có thể tưởng tượng làm thế nào chúng ta có thể bắn một tia từ máy ảnh đó xuống

163
00:10:43,700 --> 00:10:49,040
‫cuối máy ảnh và thử bắn trúng thứ gì đó ở đó mà tôi đang xem vào thời điểm đó.

164
00:10:49,040 --> 00:10:51,190
‫Và đó là những gì chúng ta sẽ làm trong bài giảng tiếp theo.

165
00:10:51,200 --> 00:10:51,920
‫Hẹn gặp bạn ở đó.

