﻿1
00:00:04,440 --> 00:00:05,670
‫Xin chào và chào mừng.

2
00:00:05,670 --> 00:00:11,910
‫Trong bài giảng này, chúng tôi sẽ tính toán khoảng cách mà nền tảng của chúng tôi đã di chuyển từ vị

3
00:00:11,910 --> 00:00:17,760
‫trí ban đầu và hiển thị nó trong trình chỉnh sửa để chúng tôi kiểm tra và gỡ lỗi.

4
00:00:17,790 --> 00:00:19,920
‫Hãy đi sâu vào và xem điều này được thực hiện như thế nào.

5
00:00:20,660 --> 00:00:26,870
‫Vì vậy, hiện tại chúng tôi đã thấy rằng chúng tôi có thể triển khai phần đầu tiên của mã giả.

6
00:00:26,870 --> 00:00:30,080
‫Chúng tôi đã viết nền tảng MOVE chuyển tiếp hiện đã hoạt động.

7
00:00:30,080 --> 00:00:33,890
‫Vì vậy, đó là nền tảng gửi lại mà chúng tôi chưa đề cập đến.

8
00:00:34,160 --> 00:00:39,020
‫Và bạn có thể thấy bình luận đầu tiên ở đó là kiểm tra xem chúng tôi đã di chuyển được bao xa.

9
00:00:39,230 --> 00:00:44,870
‫Vậy làm cách nào để kiểm tra xem chúng ta đã di chuyển được bao xa kể từ khi bắt đầu chơi?

10
00:00:44,870 --> 00:00:46,430
‫Chà, có hai thành phần cho điều này.

11
00:00:46,430 --> 00:00:51,560
‫Trước hết, chúng ta cần tìm ra sự khác biệt giữa hai vectơ và khoảng cách giữa

12
00:00:51,560 --> 00:00:52,130
‫chúng.

13
00:00:52,250 --> 00:00:57,500
‫Và một điều khác mà chúng ta cần tìm ra là làm thế nào để theo dõi xem chúng ta đã bắt đầu từ đâu.

14
00:00:57,500 --> 00:01:00,470
‫Chà, phần đầu tiên tương đối đơn giản.

15
00:01:00,470 --> 00:01:05,750
‫Rất may, tất cả những gì chúng tôi phải làm ở đó là chuyển sang nền tảng di chuyển của chúng tôi.

16
00:01:06,020 --> 00:01:12,080
‫H và chúng tôi muốn tạo một biến mới ở đây, nhưng không phải một biến được hiển thị trong bản thiết kế.

17
00:01:12,080 --> 00:01:18,740
‫Đối với một lần, đây chỉ là một biến chỉ dành cho C ++, vì vậy chúng ta không cần đặt một thuộc tính mới lên

18
00:01:18,740 --> 00:01:19,280
‫trên nó.

19
00:01:19,520 --> 00:01:27,740
‫Và nó sẽ là một vector F được gọi là vị trí bắt đầu hoặc vị trí để sử dụng cùng một thuật ngữ được sử dụng

20
00:01:27,740 --> 00:01:28,670
‫trong Unreal.

21
00:01:28,880 --> 00:01:34,400
‫Và chúng tôi sẽ không đặt giá trị này thành bất kỳ giá trị nào vì sẽ không có ý nghĩa gì khi bắt đầu vị

22
00:01:34,400 --> 00:01:34,820
‫trí.

23
00:01:34,820 --> 00:01:39,470
‫Chúng tôi chưa biết điều đó, nhưng chúng tôi sẽ biết điều đó trong Begin Play.

24
00:01:39,470 --> 00:01:40,760
‫Vì vậy, đó là những gì chúng tôi sẽ làm.

25
00:01:40,760 --> 00:01:45,170
‫Chúng ta sẽ chuyển sang C ++ và sau đó bắt đầu chơi sau khi bit bắt đầu chơi súp.

26
00:01:45,170 --> 00:01:51,380
‫Chúng tôi sẽ thiết lập vị trí xuất phát của chúng tôi để chúng tôi có thể nói vị trí bắt đầu.

27
00:01:51,380 --> 00:01:56,810
‫Và hãy nhớ rằng, chúng tôi không đặt vector f ở đây vì chúng tôi đang cố gắng tham

28
00:01:56,810 --> 00:02:00,470
‫chiếu đến một biến lớp hơn là tạo một biến cục bộ.

29
00:02:00,470 --> 00:02:06,860
‫Vì vậy, chúng tôi sẽ đặt vị trí bắt đầu này bằng vị trí nhận diễn viên vì

30
00:02:06,860 --> 00:02:09,740
‫khi bắt đầu phát, diễn viên ở đầu.

31
00:02:09,740 --> 00:02:15,590
‫Vì vậy, chúng tôi đã đặt vị trí bắt đầu và điều đó bây giờ có nghĩa là chúng tôi đã có một biến tồn tại trong toàn bộ phiên bản của

32
00:02:15,590 --> 00:02:18,680
‫lớp này, vì vậy chúng tôi có thể sử dụng nó và đánh dấu là tốt.

33
00:02:18,800 --> 00:02:21,680
‫Và chúng tôi có một biến số mà chúng tôi có thể thử và tìm khoảng cách giữa chúng.

34
00:02:21,680 --> 00:02:27,650
‫Chúng ta có thể nói, Này, vị trí hiện tại đã lệch bao xa so với vị trí xuất phát đó?

35
00:02:27,650 --> 00:02:32,810
‫Để có thể làm được điều này, tôi cần thêm một chút cú pháp C ++ vào bảng thuật ngữ của chúng tôi.

36
00:02:32,810 --> 00:02:38,720
‫Đầu tiên, nó sẽ được gọi là Toán tử độ phân giải phạm vi, được đặt tên hơi khó hiểu, nhưng thực ra đó

37
00:02:38,720 --> 00:02:44,360
‫là toán tử dấu hai chấm này mà chúng ta đã thực sự thấy trong tệp C ++ của mình trước đây.

38
00:02:44,510 --> 00:02:52,190
‫Và về cơ bản, tất cả những gì nó làm là nó cho phép bạn nhìn vào bên trong một lớp theo cách giống như toán tử DOT, cho

39
00:02:52,190 --> 00:02:55,430
‫phép bạn nhìn vào bên trong một thể hiện của một lớp.

40
00:02:55,430 --> 00:02:57,950
‫Vì vậy, chúng ta hãy xem xét điều này một cách chi tiết hơn.

41
00:02:58,070 --> 00:03:05,030
‫Chúng ta biết rằng hàm đánh dấu thuộc về lớp nền tảng di chuyển, nhưng nó không thuộc về một phiên bản cụ thể

42
00:03:05,030 --> 00:03:06,200
‫của lớp đó.

43
00:03:06,200 --> 00:03:13,010
‫Tất cả các trường hợp của nền tảng di chuyển đều có chung một cách triển khai đánh dấu, đó là ý nghĩa của việc trở thành

44
00:03:13,010 --> 00:03:13,760
‫một lớp.

45
00:03:13,760 --> 00:03:21,080
‫Vì vậy, toán tử phân giải phạm vi ở đây giữa nền tảng di chuyển và Tick thực sự đang nói với chúng ta

46
00:03:21,080 --> 00:03:24,440
‫rằng đây là tick thuộc về lớp nền tảng di chuyển.

47
00:03:24,440 --> 00:03:30,860
‫Theo cách tương tự như trước đây, chúng tôi sử dụng toán tử dấu chấm để lấy x thuộc về vị

48
00:03:30,860 --> 00:03:31,790
‫trí hiện tại.

49
00:03:32,120 --> 00:03:39,710
‫Vị trí hiện tại là một ví dụ cụ thể của một vectơ F, nhưng chúng ta có thể sử dụng nó để

50
00:03:39,710 --> 00:03:46,340
‫nắm giữ các hàm thuộc lớp vectơ F và không chạy trên một cá thể cụ thể của lớp đó.

51
00:03:46,340 --> 00:03:50,510
‫Vì vậy, một ví dụ là lấy khoảng cách giữa hai vectơ.

52
00:03:50,510 --> 00:03:56,960
‫Cách chúng tôi làm điều này trong Unreal là sử dụng một hàm nằm trên lớp véc tơ F.

53
00:03:56,960 --> 00:04:05,000
‫Vì vậy, chúng ta sẽ làm vector f, sau đó là dấu hai chấm để xem bên trong lớp đó xem nó có những chức năng nào cho chúng ta

54
00:04:05,000 --> 00:04:07,100
‫và chúng ta có thể xem qua.

55
00:04:07,100 --> 00:04:11,480
‫Và bây giờ tôi chỉ thu hút sự chú ý của bạn đến tính năng tự động hoàn thành đang xuất hiện tại thời điểm này.

56
00:04:11,480 --> 00:04:17,300
‫Tôi đã không đề cập đến nó trong quá khứ, nhưng khi chúng tôi thực hiện các hoạt động này, nó thực

57
00:04:17,300 --> 00:04:23,720
‫sự đang cố gắng trở nên thông minh và cho chúng tôi biết những chức năng nào có sẵn bên trong lớp véc tơ F đó.

58
00:04:23,720 --> 00:04:25,310
‫Và bạn có thể thấy có khá nhiều người trong số họ.

59
00:04:25,310 --> 00:04:29,840
‫Một trong những chúng tôi đang tìm kiếm được gọi là Dist viết tắt của khoảng cách.

60
00:04:29,840 --> 00:04:34,880
‫Bây giờ bạn cũng sẽ nhận thấy rằng có một khoảng cách thực sự được gọi là khoảng cách và nó thực sự đồng nghĩa.

61
00:04:34,880 --> 00:04:40,010
‫Chúng ta có thể sử dụng một trong hai, nhưng tôi sẽ sử dụng cái ngắn hơn để giữ cho mã ngắn gọn

62
00:04:40,010 --> 00:04:42,590
‫hơn và chúng ta có thể mở các dấu ngoặc đơn.

63
00:04:42,590 --> 00:04:50,210
‫Và một lần nữa, tính năng tự động hoàn thành hỗ trợ chúng tôi ở chỗ nó cho chúng tôi biết nó cần những gì để làm đối số.

64
00:04:50,210 --> 00:04:56,330
‫Chúng ta có thể thấy rằng đối số đầu tiên là vectơ f ba D và đối số thứ hai cũng là một hiệu có hiệu

65
00:04:56,330 --> 00:04:57,260
‫quả ba D.

66
00:04:57,260 --> 00:05:03,260
‫Vì vậy, tôi thực tế là nó được gọi là hiệu ứng ba D ở đây hơi kỳ lạ, nhưng về cơ bản nó yêu

67
00:05:03,260 --> 00:05:04,340
‫cầu một vectơ f.

68
00:05:04,340 --> 00:05:11,330
‫Vì vậy, nó nói rằng nếu bạn truyền vào hai đối số, cả hai đều là f vectơ, tôi sẽ cho bạn biết giá trị trả về của tôi

69
00:05:11,330 --> 00:05:15,140
‫rằng bit này ở đây ở phía bên tay trái sẽ là một nhân đôi.

70
00:05:15,140 --> 00:05:18,620
‫Bây giờ một cú đúp về cơ bản chỉ là một phao chính xác hơn.

71
00:05:18,620 --> 00:05:20,210
‫Vì vậy, về cơ bản chúng ta có thể nói.

72
00:05:20,310 --> 00:05:22,290
‫Đó là một chiếc phao thoát ra khỏi đây.

73
00:05:22,290 --> 00:05:26,010
‫Biểu thức mà chúng tôi đã tạo sẽ tạo ra một float.

74
00:05:26,490 --> 00:05:27,060
‫Đáng kinh ngạc.

75
00:05:27,060 --> 00:05:32,490
‫Vì vậy, những gì chúng tôi sẽ làm là chúng tôi sẽ thử và tìm khoảng cách giữa vị trí xuất phát.

76
00:05:32,490 --> 00:05:36,630
‫Vì vậy, chúng tôi sẽ nhập vị trí bắt đầu làm đối số đầu tiên.

77
00:05:36,630 --> 00:05:40,680
‫Và sau đó cái thứ hai sẽ là vị trí hiện tại.

78
00:05:40,830 --> 00:05:45,360
‫Bây giờ, đừng lo lắng, ở giai đoạn này, không quan trọng chúng ta đặt vòng này theo cách nào

79
00:05:45,360 --> 00:05:47,580
‫vì khoảng cách giữa hai vectơ sẽ bằng nhau.

80
00:05:47,580 --> 00:05:52,290
‫Cho dù bạn bắt đầu từ A đến B hay B đến A, nó sẽ luôn có cùng một khoảng cách.

81
00:05:52,290 --> 00:05:54,780
‫Vì vậy, chúng tôi có thể đặt chúng theo cách này, nếu bạn muốn.

82
00:05:55,140 --> 00:05:59,550
‫Vì vậy, bây giờ chúng ta đã có một biểu thức trả về một số float.

83
00:05:59,550 --> 00:06:05,520
‫Vì vậy, tôi muốn thách thức bạn cập nhật một thuộc tính mới bằng cách sử dụng biểu thức này để chúng tôi có thể xem giá

84
00:06:05,520 --> 00:06:06,870
‫trị của nó là gì.

85
00:06:06,870 --> 00:06:13,440
‫Vì vậy, hãy tạo một float thuộc tính bạn mới và gọi nó là bất kỳ thứ gì bạn thích, sau đó cập nhật nó mỗi

86
00:06:13,440 --> 00:06:19,380
‫lần đánh dấu với giá trị của f vector dist, sau đó chơi trò chơi và xem điều gì sẽ xảy ra.

87
00:06:19,380 --> 00:06:21,690
‫Bạn có nhận được kết quả như mong đợi không?

88
00:06:21,690 --> 00:06:24,680
‫Nó có tăng nhanh như bạn mong đợi không?

89
00:06:24,690 --> 00:06:26,670
‫Tạm dừng video và tiếp tục.

90
00:06:29,890 --> 00:06:30,370
‫Được chứ.

91
00:06:30,370 --> 00:06:31,060
‫Chào mừng trở lại.

92
00:06:31,060 --> 00:06:34,690
‫Vì vậy, chúng tôi sẽ tạo, trước hết, thuộc tính mới.

93
00:06:34,690 --> 00:06:40,570
‫Vì vậy, tôi sẽ đặt điều này phía trên vị trí bắt đầu của chúng tôi để chúng tôi nhóm tất cả các thuộc tính lại với nhau.

94
00:06:40,750 --> 00:06:47,050
‫Chúng tôi sẽ có một bản chỉnh sửa thuộc tính mới ở bất cứ đâu, thực tế là chúng tôi không cần phải chỉnh sửa nó.

95
00:06:47,050 --> 00:06:51,640
‫Vì vậy, bạn có thể đã tưởng tượng rằng chỉnh sửa ở bất kỳ đâu có nghĩa là bạn có thể chỉnh sửa nó.

96
00:06:51,640 --> 00:06:59,410
‫Chà, chúng tôi cũng có thể nhìn thấy ở bất cứ đâu không cho phép chúng tôi chỉnh sửa nó nhưng cho phép chúng tôi nhìn thấy nó.

97
00:06:59,410 --> 00:07:00,730
‫Vì vậy, đó là những gì tôi sẽ sử dụng.

98
00:07:00,730 --> 00:07:04,450
‫Thay vào đó, tôi sẽ tắt danh mục ở đây vì đơn giản vì điều này chúng tôi chỉ

99
00:07:04,450 --> 00:07:07,180
‫sử dụng biến này để có thể xem những gì đang xảy ra.

100
00:07:07,180 --> 00:07:13,330
‫Nó sẽ là một kiểu phao, như tôi đã đề cập, và tôi sẽ gọi đây là khoảng cách di chuyển để có thể rõ

101
00:07:13,330 --> 00:07:16,030
‫ràng những gì chúng ta đang nhìn trong thanh tra.

102
00:07:16,030 --> 00:07:22,330
‫Và tôi sẽ đặt mặc định của nó thành trừ một để chúng tôi biết rằng chúng tôi đã cập nhật nó.

103
00:07:22,330 --> 00:07:25,240
‫Nếu nó cho biết trừ đi một, chúng tôi biết rằng bản cập nhật đã không được thực hiện.

104
00:07:25,510 --> 00:07:27,490
‫Vì vậy, tôi sẽ di chuyển khoảng cách này.

105
00:07:27,490 --> 00:07:33,940
‫Chúng ta sẽ đi vào phần triển khai của mình và đánh dấu và chúng ta sẽ đặt khoảng cách đã di

106
00:07:33,940 --> 00:07:36,760
‫chuyển bằng F khoảng cách dấu hai chấm vectơ.

107
00:07:36,760 --> 00:07:41,680
‫Vì vậy, sử dụng toán tử phân giải phạm vi đó để nắm giữ hàm khoảng cách và sau đó kết

108
00:07:41,680 --> 00:07:43,210
‫thúc dòng bằng dấu chấm phẩy.

109
00:07:43,570 --> 00:07:44,080
‫Được thôi anh bạn.

110
00:07:44,080 --> 00:07:50,170
‫Vì vậy, chúng tôi sẽ tiếp tục đi vào Unreal và nhấn nút biên dịch và chúng tôi có thể tiếp tục và đóng thiết bị

111
00:07:50,170 --> 00:07:50,770
‫đầu cuối.

112
00:07:50,770 --> 00:07:55,630
‫Và chúng ta sẽ thấy khoảng cách này đã di chuyển, hiển thị là trừ một.

113
00:07:55,630 --> 00:08:00,850
‫Bạn có thể thấy nó chuyển sang màu xám vì tôi không thể chỉnh sửa nó vì nó hiển thị, không chỉnh sửa ở bất kỳ đâu.

114
00:08:01,090 --> 00:08:07,450
‫Vì vậy, chúng ta hãy tiếp tục và chơi và chúng ta sẽ phải đảm bảo rằng chúng ta chọn nền tảng

115
00:08:07,450 --> 00:08:13,000
‫di chuyển trong phác thảo và chúng ta có thể xem khoảng cách đã di chuyển ở đây và

116
00:08:13,000 --> 00:08:18,010
‫bạn có thể thấy thuộc tính đang tăng nhanh vào khoảng 1 đến 300 mỗi giây.

117
00:08:18,010 --> 00:08:24,190
‫Vì vậy, nó đang diễn ra với tốc độ mà tôi mong đợi, cụ thể là 100 mỗi giây.

118
00:08:24,190 --> 00:08:25,810
‫Như vậy coi như thành công.

119
00:08:25,810 --> 00:08:30,900
‫Chúng tôi đã có thể tính toán khoảng cách đã di chuyển và cũng có thể hình dung nó.

120
00:08:30,910 --> 00:08:31,480
‫Công cụ tuyệt vời.

121
00:08:31,480 --> 00:08:33,220
‫Hẹn gặp lại các bạn trong bài giảng tiếp theo.

