Cộng vectơ
Thuộc phần Những kiến thức cơ bản về lập trình trong Unity trong hành trình Unity của Coddy. Bài học 24 trên 85.
Có thể lưu một Vector3 trong biến, và hai vector có thể cộng với nhau bằng +: x cộng với x, y cộng với y và z cộng với z. Nhờ vậy, hai lực đẩy kết hợp thành một chuyển động. Quả bóng bãi biển lăn về phía trước với tốc độ 2 đơn vị mỗi giây, trong khi gió thổi nó sang phải 1 đơn vị mỗi giây:
Vector3 roll = new Vector3(0, 0, 2);
Vector3 wind = new Vector3(1, 0, 0);
void Update()
{
Vector3 move = roll + wind; // (1, 0, 2)
transform.position += move * Time.deltaTime;
}Nhân một vector với một số sẽ nhân từng thành phần của nó: wind * 3 là (3, 0, 0), tương đương một cơn bão, còn move * Time.deltaTime biến chuyển động mỗi giây thành chuyển động trong khung hình này. Phép trừ cũng thực hiện theo từng thành phần, và a - b là bước đi từ điểm b đến điểm a. Không thể dùng * giữa hai vector: roll * wind sẽ không biên dịch.
Thử thách
DễDòng sông đẩy con thuyền trôi đi, còn phím mũi tên lên sẽ thêm lực đẩy của động cơ.
- Trong
Update(), bắt đầu vớiVector3 move = current;. - Khi
Input.GetKey(KeyCode.UpArrow)là true, thêmmotorvàomovebằng+=. - Thêm
move * Time.deltaTimevàotransform.position.
Nhấn Chơi: thuyền trôi sang phải và băng qua sông khi bạn giữ phím mũi tên lên. Sau đó nhấn Kiểm tra.
Tự làm thử
using UnityEngine;
public class Boat : MonoBehaviour
{
public Vector3 current = new Vector3(0, 0, 0);
public Vector3 motor = new Vector3(0, 0, 0);
void Update()
{
// Dòng nước luôn đẩy thuyền đi.
// Khi bạn giữ phím mũi tên lên, động cơ cũng đẩy thuyền.
}
}
Tất cả bài học trong Những kiến thức cơ bản về lập trình trong Unity
1C# cơ bản trong Unity
Xin chào, UnityBiếnSố thập phân cần có fVăn bản trong ConsoleBiến có thể ghi nhớIf và elseSo sánh các sốÔn tập: Thu thập xu7Vòng lặp và phương thức
Lặp lại với forVòng lặp lồng nhauViết phương thứcPhương thức trả lờiMảngÔn tập: Cầu thang2Làm cho nó chuyển động
Đặt khối lập phươngDi chuyển theo từng khung hìnhXoay mỗi giâyĐiều khiển bằng các phímÔn tập: Lái khối lập phương5Vectơ
Cộng vectơPhương hướngKhông gian cục bộ và không gian thế giớiTốc độ theo đường chéoKhoảng cách giữa các vậtVector3 là một structÔn tập: Người điều khiển drone8GameObject và thành phần
Tham chiếu trong InspectorLấy một thành phầnThành phần bị thiếuThêm một thành phầnRequireComponentHiện và ẩnÔn tập: Công tắc đèn3Inspector
Các trường trong InspectorSerializeFieldSố thực và MathfThuộc tính trong InspectorÔn tập: thang máy6Biến đổi và hệ phân cấp
Đối tượng cha và conKéo cờ lênTỷ lệNhìn vào các vật thểDi chuyển đến một điểmÔn tập: Mặt trăng quay quanh9Dự án: Bắt lấy ngôi sao
Người bắt saoNgôi sao rơiTự luyện tập: Playground Unity