‫Xin chào và chào mừng.
‫Trong bài giảng này, chúng ta sẽ làm cho người khởi động của chúng ta thực hiện một số bước di chuyển bằng cách đánh dấu vào một hộp kiểm.
‫Chúng tôi sẽ cho phép nó di chuyển và di chuyển với tốc độ không đổi.
‫Và chúng tôi sẽ thực hiện việc này bằng cách sử dụng một số hàm thư viện lần này từ bên trong.
‫Không có thật.
‫Vì vậy, nó sẽ đưa tất cả kiến thức của chúng tôi về các tệp tiêu đề và bao gồm vào bài kiểm tra.
‫Hãy đi sâu vào và xem nó hoạt động như thế nào.
‫Vì vậy, cách tôi muốn trình chuyển động này hoạt động là tôi muốn nó di chuyển trơn tru từ vị trí bắt đầu đến điểm
‫bù mục tiêu trong một khoảng thời gian một số giây nhất định.
‫Vì vậy, cách chúng ta sẽ cần để cấu hình điều này là thêm một số thuộc tính mới vào tệp tiêu đề.
‫Vì vậy, hãy bắt đầu bằng cách thêm một phần riêng tư vào đầu
‫tệp và sau đó chúng ta sẽ thêm một thuộc tính mới sẽ được chỉnh sửa ở bất cứ đâu, sẽ xác định phần bù, phần bù di chuyển.
‫Vì vậy, mover này sẽ di chuyển bao xa khi được kích hoạt.
‫Vì vậy, cách chúng ta sẽ làm điều đó là sử dụng một vectơ F và chúng ta sẽ gọi nó là độ lệch di chuyển như vậy, vì vậy
‫tôi sẽ không cung cấp cho nó một giá trị mặc định.
‫Chúng tôi sẽ làm điều đó trong trình chỉnh sửa.
‫Sau đó, tôi sẽ tạo một thuộc tính mới khác sẽ được chỉnh sửa ở bất kỳ
‫đâu, đó sẽ là khoảng thời gian cần thiết để chuyển đến mục tiêu.
‫Vì vậy, chúng ta sẽ có đó là một float, đó là thời gian di chuyển và tôi sẽ đặt nó ở giá trị
‫mặc định là 4 giây.
‫Bây giờ, có một thứ nữa mà tôi muốn đưa vào đây, đó là một Boolean ngay bây
‫giờ, sẽ cho phép chúng ta kích hoạt trình chuyển động để nó chuyển xuống khi chúng ta kích hoạt boolean này.
‫Vì vậy, hãy tạo lại một thuộc tính U khác.
‫Chỉnh sửa ở bất kỳ đâu để chúng tôi có thể chỉnh sửa nó ngay cả khi chúng tôi đang chơi và sẽ là một lời nói boolean nên
‫di chuyển và theo mặc định, nó sẽ được đặt thành sai.
‫Vì vậy, khi chúng tôi kiểm tra điều này trong trình chỉnh sửa, khi chúng tôi đang chơi, nó sẽ chuyển sang phần bù dịch chuyển
‫mục tiêu của nó.
‫Bây giờ trước đây khi chúng ta có một thành phần chuyển động, chúng ta đã thực hiện tất cả các bước theo cách thủ công.
‫Nhưng tôi muốn cho bạn thấy rằng thực sự có một số chức năng được tích hợp để thực hiện nhiều phép tính mà chúng
‫ta cần.
‫Nó được tích hợp ngay vào Unreal và cũng có một chức năng gọi là V giải thích hằng số.
‫Và điều thú vị của nó là gì, hãy cùng xem qua những nhận xét.
‫Vì vậy, nội suy một vectơ từ một vectơ hiện tại thành một vectơ mục tiêu bằng cách sử dụng một bước không đổi.
‫Vì vậy, điều đó có nghĩa là theo thời gian, chúng ta sẽ chuyển từ hiện tại sang mục tiêu ở một tốc độ nhất định và nó sẽ làm điều
‫đó liên tục, điều này nghe giống chính xác những gì chúng ta muốn.
‫Chúng tôi muốn di chuyển từ vị trí hiện tại của mình đến vị trí bù đắp mục tiêu với tốc độ không đổi.
‫Bây giờ, bạn có thể xem nếu bạn nhìn vào cú pháp của hàm này, bạn có thể thấy rằng nó có kiểu trả
‫về là F vector.
‫Vì vậy, đó là vị trí mới mà nó đang nội suy.
‫Sau đó, nó có hai đầu vào.
‫Chúng ta đã có một vectơ F hiện tại và đừng lo lắng về các biểu tượng khác xung quanh hiệu ứng này vì bây giờ chúng
‫ta chỉ quan trọng là nó là một vectơ hiện tại và sau đó là mục tiêu mà chúng ta muốn nó đạt được
‫cuối cùng.
‫Sau đó, nó có thời gian delta.
‫Vì vậy, nó sử dụng điều này để làm cho tốc độ khung hình chuyển động độc lập và trong tốc độ nội suy.
‫Vậy chúng ta nên di chuyển từ vị trí hiện tại đến mục tiêu nhanh bao nhiêu?
‫Bây giờ bạn sẽ nhận thấy rằng ở đây trong tài liệu, nó thực sự có một phần nói bao gồm và điều này cho bạn
‫biết dòng bao gồm bạn sẽ cần trong tệp C ++ của mình để có thể sử dụng chức năng
‫này.
‫Và như chúng ta đã thấy trong video trước, dòng bao gồm cho phép chúng ta sao chép các định nghĩa từ tệp
‫cụ thể này.
‫Và một trong những định nghĩa là định nghĩa cho chức năng này.
‫Vì vậy, nó cho phép chúng ta sử dụng hằng số diễn giải V này cho đến bây giờ là V ở phía trước của hàm này về cơ bản có nghĩa
‫là nó thực hiện nội suy trên vectơ.
‫Đó là lý do tại sao nó được gọi là thông dịch V thay vì các hàm nội suy khác cũng có
‫sẵn trong tệp thư viện này.
‫Vì vậy, hãy xem chúng tôi sẽ sử dụng nó như thế nào.
‫Trước hết, chúng tôi sẽ sao chép dòng bao gồm từ tài liệu và chúng tôi sẽ chuyển sang bước chuyển CP của chúng
‫tôi, nơi chúng tôi muốn triển khai điều này trong phần nội dung của thành phần đánh dấu.
‫Nhưng chúng bao gồm chúng tôi không bao gồm trong phần thân của thành phần bọ ve.
‫Chúng tôi phải thực hiện việc bao gồm tất cả ở đầu tệp.
‫Vì vậy, đó là nơi tôi sẽ đặt của tôi và tôi sẽ đặt của tôi sau khi bao gồm động cơ H.
‫Vì vậy, chúng tôi sẽ đưa vào và bao gồm tiện ích toán học, dấu gạch chéo, không thực tế.
‫H Bây giờ những gì chúng ta có thể làm là chúng ta thực sự có thể sử dụng hàm trong thành phần đánh dấu của chúng ta.
‫Hãy xóa mã mà chúng ta đã có trong đó.
‫Tính toán.
‫Bởi vì chúng tôi đang sử dụng nó để hiểu cách gọi các hàm trên các tác nhân khác.
‫Và những gì chúng ta cần làm là nếu bạn cuộn lên, bạn có thể thấy cách gọi đây là F Mass Colon, Colon
‫V Intercept, hằng số hai.
‫Vì vậy, chúng tôi thực hiện toán tử dấu hai chấm này nhìn bên trong lớp toán F, lớp này tổ chức tất cả các tiện
‫ích toán học này lại với nhau.
‫Vì vậy, chúng ta sẽ làm toán F.
‫Đại tràng.
‫Và ở đây bạn có thể thấy một loạt các chức năng tự động hoàn thành sắp tới cho các hàm toán học khác nhau được
‫bao gồm trong tệp tiêu đề mà chúng tôi vừa đưa vào tệp này.
‫Vì vậy, bạn có thể xem qua, xem bất kỳ thứ thú vị nào ở đây, tôi
‫có thể thấy một loạt các phép nội suy, nội suy hình tròn, v.v. nhưng chúng tôi muốn diễn giải V là hằng số và chúng
‫tôi có thể nhấn tab để hoàn thành điều đó và sau đó mở một số dấu ngoặc đơn và chúng tôi có thể thấy các đối
‫số mà chúng tôi cần chuyển trong hiện tại, thời gian delta mục tiêu và tốc độ chặn.
‫Vì vậy, hãy bắt đầu tạo một số biến để giữ một số trong số này.
‫Vì vậy, trước hết, chúng ta cần một vectơ F sẽ là vị trí hiện tại của chúng ta và chúng ta sẽ không
‫thiết lập điều đó.
‫Sau đó, chúng ta sẽ có một vectơ F cho vị trí mục tiêu, và sau đó chúng ta sẽ có một phao
‫cho tốc độ.
‫Và chúng ta sẽ phải tính toán từng cái một để tìm ra cách chúng ta có thể thực hiện chuyển
‫động này.
‫Vì vậy, vị trí hiện tại sẽ tương đối đơn giản.
‫Chúng ta cần lấy vị trí hiện tại của tác nhân sở hữu.
‫Vì vậy, làm thế nào để chúng tôi làm điều đó?
‫Hãy thay dấu chấm phẩy này bằng một dấu bằng.
‫Sau đó, chúng ta sẽ thực hiện một cặp ngoặc đơn get owner.
‫Sau đó, chúng ta sẽ làm một mũi tên.
‫Vì vậy, chúng tôi sẽ gọi một hàm trên tác nhân sở hữu, và chúng tôi sẽ tìm vị trí của tác nhân và sau đó là một cặp dấu ngoặc
‫đơn và dấu chấm phẩy để kết thúc nó.
‫Vì vậy, điều đó cho chúng ta biết vị trí hiện tại của diễn viên sở hữu.
‫Bây giờ, những gì về vị trí mục tiêu của chúng tôi?
‫Chà, chúng tôi biết rằng chúng tôi có một thuộc tính gọi là phần bù di chuyển, vì vậy điều đó sẽ liên quan ở đây.
‫Nhưng chúng ta cần thêm vị trí ban đầu vào phần bù di chuyển này.
‫Vì vậy, để làm được điều đó, chúng ta cần phải nắm bắt được vị trí ban đầu trong cách chơi Biggin.
‫Vì vậy, chúng ta cần một biến để lưu trữ nó.
‫Vì vậy, chúng ta hãy xem xét động cơ H của chúng tôi và nó sẽ không phải là một chỉnh sửa ở bất kỳ đâu.
‫Một khi tôi sẽ đặt nó dưới chữ U của chúng tôi.
‫Thuộc tính, nó sẽ là một vector F được gọi là Vị trí gốc.
‫Chúng tôi sẽ không đặt nó thành bất cứ thứ gì ở đây.
‫Sau đó, chúng tôi sẽ chuyển sang phần CP động lực của chúng tôi để
‫bắt đầu chơi, xóa dòng nhận xét này và đặt mã của riêng chúng tôi, sẽ là vị trí ban đầu bằng để lấy dấu ngoặc đơn của chủ sở hữu mũi tên lấy
‫vị trí của diễn viên như vậy.
‫Vì vậy, bây giờ chúng tôi đã nắm bắt được vị trí ban đầu và bắt đầu chơi, chúng tôi có thể sử dụng nó trong TTIC.
‫Vì vậy, chúng tôi chuyển sang Tick và chúng tôi đặt vị trí mục tiêu của chúng tôi bằng vị trí ban đầu cộng với phần bù di
‫chuyển.
‫Vì vậy, đó là vị trí mục tiêu của chúng tôi và cuối cùng là tốc độ của chúng tôi.
‫Về cơ bản, đây là khoảng cách mà chúng ta cần di chuyển chia cho thời gian mà chúng ta cần di
‫chuyển.
‫Vì vậy, nếu chúng ta đã có một vị trí mục tiêu và chúng ta có một vị trí ban đầu, chúng ta cần tìm
‫khoảng cách giữa hai vị trí này, điều này chúng ta có thể làm với một vectơ F, dấu hai chấm, khoảng cách dấu hai chấm.
‫Sau đó, chúng tôi chuyển đến các dấu ngoặc đơn, vị trí ban đầu và vị trí đích.
‫Vì vậy, điều đó cho chúng ta khoảng cách giữa hai vectơ này.
‫Và sau đó chúng ta sẽ phân chia điều đó cho những gì chúng ta đã có nhiều lần được gọi là thời gian di chuyển.
‫Vì vậy, điều đó cho chúng ta tốc độ mà chúng ta nên di chuyển.
‫Và bây giờ chúng ta có thể sử dụng chúng như là các đối số để có hằng số đánh chặn V.
‫Vì vậy, trước hết, chúng ta cần cung cấp cho nó vị trí hiện tại và sau đó là vị trí mục tiêu.
‫Sau đó, chúng tôi sẽ cho nó biết thời gian Delta, chỉ là một tham số trong thành phần đánh dấu.
‫Vì vậy, chúng tôi chỉ cần vượt qua nó và sau đó chúng tôi đã có tốc độ đánh chặn.
‫Vì vậy, chúng tôi sẽ vượt qua với tốc độ như vậy đặt dấu chấm phẩy ở cuối dòng đó và đây về cơ bản
‫là vị trí mới.
‫Vì vậy, hãy lưu trữ nó vào một vectơ F biến mới được gọi là vị trí mới bằng mát này.
‫Bây giờ chúng tôi cần phải làm gì đó với vị trí mới đó vì chỉ cần tính toán thôi
‫thì không ổn chút nào, chúng tôi thực sự cần phải chuyển diễn viên đến vị trí mới.
‫Vì vậy, đó là những gì chúng tôi sẽ làm.
‫Chúng tôi sẽ gọi nó là chủ sở hữu.
‫Vì vậy, chúng tôi làm một nhận riêng.
‫Dấu ngoặc đơn Mũi tên.
‫Và sau đó chúng ta sẽ thực hiện một vị trí diễn viên đã định sẵn và chúng ta sẽ đi qua vị trí mới như vậy và có
‫dấu chấm phẩy ở cuối dòng.
‫Vì vậy, hãy tiếp tục và biên dịch nó và xem nó có hoạt động không.
‫Vì vậy, nếu chúng ta đi vào ngục tối, chọn bức tường mà chúng ta muốn
‫di chuyển, bây giờ bạn có thể thấy rằng thành phần mover đã có một sự bù trừ di chuyển, điều mà tôi sẽ muốn làm theo hướng Z,
‫và tôi nghĩ rằng tôi Tôi sẽ làm -600.
‫Và sau đó thời gian di chuyển, 4 giây sẽ ổn.
‫Vì vậy, hãy lưu nó và sau đó nhấn play và xem liệu nó có di chuyển để nó không di chuyển hay không.
‫Và có một lỗi trong bản ghi đầu ra nói rằng khả năng di chuyển của tác nhân đã được đặt thành tĩnh, đó là lý do tại
‫sao nó không thể di chuyển.
‫Vì vậy, nếu chúng ta chọn lại tác nhân và xem xét cài đặt di động của nó, bạn có thể thấy trên thực tế các cài đặt di động
‫của thành phần lưới tĩnh.
‫Vì vậy, hãy chọn thành phần lưới tĩnh, sau đó xem xét tính di động.
‫Bạn có thể thấy nó được đặt thành tĩnh, về cơ bản có nghĩa là nó không được phép di chuyển.
‫Hãy chuyển nó sang có thể di chuyển được vì chúng ta muốn nó di chuyển và sau đó hãy tiếp tục và chơi.
‫Bây giờ bạn có thể thấy trong bóng tối rằng bức tường đang đi xuống, điều đó thật hoàn hảo.
‫Tôi nghĩ rằng chúng ta đã có một động cơ ở đâu đó khác trong cảnh của chúng ta trên cây cột này ở đây mà nó cũng đang cố gắng
‫di chuyển.
‫Vì vậy, chúng ta đừng làm điều đó.
‫Hãy xóa thành phần mover mà chúng tôi đã thêm vào đó chỉ để thử nghiệm và nó sẽ không cho chúng tôi lỗi trong nhật
‫ký đầu ra.
‫Nếu chúng ta tiếp tục và chơi ngay bây giờ, chúng ta sẽ có bức tường đó đi xuống vị trí mục tiêu của nó.
‫Vì vậy, hãy thách thức bạn làm cho nó di chuyển với boolean mà chúng tôi đã tạo thuộc tính của bạn.
‫Vì vậy, bạn sẽ bọc mã trong một câu lệnh if thích hợp và mã thích hợp để
‫nó chỉ di chuyển nền tảng khi Boolean đó là true.
‫Và sau đó bạn sẽ biên dịch lại mã và chơi và đẩy ra bằng F8, sau đó thay đổi boolean và
‫quan sát xem nó có di chuyển hay không khi bạn kiểm tra boolean đó.
‫Vì vậy, hãy tạm dừng video và tiếp tục.
‫Được chứ.
‫Chào mừng trở lại.
‫Vì vậy, chúng ta hãy đi và gói nội dung thành phần đánh dấu này trong một câu lệnh if, không phải super, nhưng mọi thứ khác mà chúng ta
‫sẽ làm.
‫Nếu nên di chuyển, sau đó mở một số dấu ngoặc đơn và di chuyển tất cả mã này và nhớ thụt lề nó một cấp vì chúng ta đang ở trong dấu ngoặc
‫đơn và chúng ta muốn chứng minh rằng điều này sẽ chỉ được thực thi trong câu lệnh
‫if.
‫Giúp chúng tôi dễ dàng đọc điều khiển tất cả f 11 để biên dịch và sau đó chúng tôi có thể tiếp tục nhấn
‫play và nhấn F tám để đẩy ra nếu chúng tôi đã bắt được chuột.
‫Và sau đó chúng tôi sẽ đi vào để xem xét bên ngoài của chúng tôi, chúng tôi sẽ thử và tìm bức tường hoặc chúng tôi có
‫thể chỉ cần nhấp vào hiện trường và sau đó chúng tôi sẽ chọn di chuyển của chúng tôi một thành phần và kiểm tra xem nên
‫di chuyển và họ đi, bức tường bắt đầu di chuyển khi điều đó xảy ra.
‫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.