Nhìn vào các vật thể
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 34 trên 85.
transform.LookAt(point) xoay một đối tượng để trục hướng về phía trước của nó, mũi tên z màu xanh lam, hướng về một vị trí trong thế giới. Lệnh này xoay đối tượng chứ không di chuyển nó. Đèn pha này nằm trên một tòa tháp tại (0, 6, 0) và chiếu về phía cổng tại (4, 0, 10):
void Start()
{
transform.LookAt(new Vector3(4, 0, 10));
}Cổng ở thấp hơn đèn, nên đèn pha cũng nghiêng xuống khi xoay: LookAt hướng thẳng đến điểm đó, bao gồm cả hướng lên hoặc xuống. Sau đó, transform.forward hướng từ đèn về phía cổng.
Khi được gọi trong Start(), LookAt chỉ hướng một lần. Khi được gọi trong Update(), lệnh này hướng lại ở mỗi khung hình, nên đối tượng tiếp tục hướng về điểm đó khi đối tượng hoặc điểm đó di chuyển. Đối số của lệnh này luôn là một vị trí: LookAt(Vector3.forward) hướng đến điểm (0, 0, 1) trong thế giới, một điểm gần tâm thế giới, bất kể đối tượng đang ở đâu.
Thử thách
Trung bìnhCho xe rover quay mặt về hướng nó di chuyển.
- Bên dưới chú thích trong
Update(), viếtif (move != Vector3.zero)để xe rover đang đứng yên vẫn giữ nguyên hướng. - Bên trong câu lệnh đó, gọi
transform.LookAt(transform.position + move);.
Nhấn Chơi rồi lái xe: đầu xe rover quay về hướng nó di chuyển. Sau đó nhấn Kiểm tra.
Tự làm thử
using UnityEngine;
public class Rover : MonoBehaviour
{
public float speed = 3f;
void Update()
{
Vector3 move = Vector3.zero;
if (Input.GetKey(KeyCode.RightArrow)) move += Vector3.right;
if (Input.GetKey(KeyCode.LeftArrow)) move += Vector3.left;
if (Input.GetKey(KeyCode.UpArrow)) move += Vector3.forward;
if (Input.GetKey(KeyCode.DownArrow)) move += Vector3.back;
move = move.normalized;
transform.position += move * speed * Time.deltaTime;
// Xoay xe tự hành theo hướng di chuyể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