‫Xin chào và chào mừng.
‫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ị
‫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.
‫Hãy đi sâu vào và xem điều này được thực hiện như thế nào.
‫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ả.
‫Chúng tôi đã viết nền tảng MOVE chuyển tiếp hiện đã hoạt động.
‫Vì vậy, đó là nền tảng gửi lại mà chúng tôi chưa đề cập đến.
‫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.
‫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?
‫Chà, có hai thành phần cho điều này.
‫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
‫chúng.
‫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.
‫Chà, phần đầu tiên tương đối đơn giản.
‫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.
‫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ế.
‫Đố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
‫trên nó.
‫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
‫trong Unreal.
‫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ị
‫trí.
‫Chúng tôi chưa biết điều đó, nhưng chúng tôi sẽ biết điều đó trong Begin Play.
‫Vì vậy, đó là những gì chúng tôi sẽ làm.
‫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.
‫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.
‫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
‫chiếu đến một biến lớp hơn là tạo một biến cục bộ.
‫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ì
‫khi bắt đầu phát, diễn viên ở đầu.
‫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
‫lớp này, vì vậy chúng tôi có thể sử dụng nó và đánh dấu là tốt.
‫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.
‫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 đó?
‫Để 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.
‫Đầ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 đó
‫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.
‫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
‫phép bạn nhìn vào bên trong một thể hiện của một lớp.
‫Vì vậy, chúng ta hãy xem xét điều này một cách chi tiết hơn.
‫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ể
‫của lớp đó.
‫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
‫một lớp.
‫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
‫rằng đây là tick thuộc về lớp nền tảng di chuyển.
‫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ị
‫trí hiện tại.
‫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ó để
‫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 đó.
‫Vì vậy, một ví dụ là lấy khoảng cách giữa hai vectơ.
‫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.
‫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
‫và chúng ta có thể xem qua.
‫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.
‫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
‫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 đó.
‫Và bạn có thể thấy có khá nhiều người trong số họ.
‫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.
‫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.
‫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
‫hơn và chúng ta có thể mở các dấu ngoặc đơn.
‫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ố.
‫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
‫quả ba D.
‫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
‫cầu một vectơ f.
‫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
‫rằng bit này ở đây ở phía bên tay trái sẽ là một nhân đôi.
‫Bây giờ một cú đúp về cơ bản chỉ là một phao chính xác hơn.
‫Vì vậy, về cơ bản chúng ta có thể nói.
‫Đó là một chiếc phao thoát ra khỏi đây.
‫Biểu thức mà chúng tôi đã tạo sẽ tạo ra một float.
‫Đáng kinh ngạc.
‫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.
‫Vì vậy, chúng tôi sẽ nhập vị trí bắt đầu làm đối số đầu tiên.
‫Và sau đó cái thứ hai sẽ là vị trí hiện tại.
‫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
‫vì khoảng cách giữa hai vectơ sẽ bằng nhau.
‫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.
‫Vì vậy, chúng tôi có thể đặt chúng theo cách này, nếu bạn muốn.
‫Vì vậy, bây giờ chúng ta đã có một biểu thức trả về một số float.
‫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á
‫trị của nó là gì.
‫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
‫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.
‫Bạn có nhận được kết quả như mong đợi không?
‫Nó có tăng nhanh như bạn mong đợi không?
‫Tạm dừng video và tiếp tục.
‫Được chứ.
‫Chào mừng trở lại.
‫Vì vậy, chúng tôi sẽ tạo, trước hết, thuộc tính mới.
‫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.
‫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ó.
‫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ó.
‫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ó.
‫Vì vậy, đó là những gì tôi sẽ sử dụng.
‫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ỉ
‫sử dụng biến này để có thể xem những gì đang xảy ra.
‫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õ
‫ràng những gì chúng ta đang nhìn trong thanh tra.
‫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ó.
‫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.
‫Vì vậy, tôi sẽ di chuyển khoảng cách này.
‫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
‫chuyển bằng F khoảng cách dấu hai chấm vectơ.
‫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
‫thúc dòng bằng dấu chấm phẩy.
‫Được thôi anh bạn.
‫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ị
‫đầu cuối.
‫Và chúng ta sẽ thấy khoảng cách này đã di chuyển, hiển thị là trừ một.
‫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.
‫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
‫di chuyển trong phác thảo và chúng ta có thể xem khoảng cách đã di chuyển ở đây và
‫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.
‫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.
‫Như vậy coi như thành công.
‫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ó.
‫Công cụ tuyệt vời.
‫Hẹn gặp lại các bạn trong bài giảng tiếp theo.