Hướng Dẫn Lập Trình Game Cube 3D Trên Scratch: Tự Xây Dựng 3D Engine Từ Con Số 0
1. Scratch Có Thể Làm Game 3D Không?
Mặc định, Scratch là một nền tảng lập trình khối lệnh 2D. Tuy nhiên, bằng cách áp dụng Toán học không gian và Công cụ Bút vẽ (Pen Extension), chúng ta hoàn toàn có thể “đánh lừa” thị giác, bẻ cong không gian phẳng thành một thế giới 3 chiều chân thực.
Trong series hướng dẫn này, chúng ta sẽ cùng nhau tự tay viết ra một 3D Engine cốt lõi để tạo ra tựa game đi cảnh (Platformer) 3D với khả năng:
- Hệ thống Camera quay 360 độ cực mượt.
- Khối gạch lập phương 3D có chiều sâu vật lý.
- Tương tác nhân vật, bẫy dung nham (Lava).
2. Chuẩn Bị “Đôi Mắt” Cho Người Chơi: Hệ Thống Camera
Để nhìn thấy thế giới 3D, chúng ta cần một chiếc máy bay quay phim ảo (Flycam). Hãy tạo 5 biến số (Variables) áp dụng cho tất cả nhân vật:
- Tọa độ di chuyển:
CamX: Điều khiển bay sang trái/phải.CamY: Điều khiển bay lên/xuống.CamZ: Điều khiển bay tiến/lùi. Đây là biến quan trọng nhất để tạo ra hiệu ứng Xa – Gần (Perspective).
- Góc nhìn (Rotation):
X Rotation: Trục gật gù (Ngước nhìn lên hoặc cúi xuống mặt đất). Mẹo nhỏ: Khởi tạoX Rotation = 20để Camera hơi cúi xuống, giúp người chơi dễ dàng nhìn thấy “nóc” của các khối lập phương.Y Rotation: Trục quay ngang (Quay đầu sang trái hoặc phải).
3. Khối Lệnh “Trái Tim” Của 3D Engine: Go To XYZ
Làm sao để máy tính biết cách vẽ một điểm 3D lên màn hình 2D? Chúng ta sử dụng Khối lệnh tự tạo (My Blocks) mang tên: Go to XYZ: X Y Z. Khối lệnh này hoạt động theo 3 bước toán học:
- Trừ đi vị trí Camera: Dùng phép tính X – CamX để xác định khoảng cách thực tế từ mắt người chơi đến vật thể.
- Sử dụng Lượng Giác (Sin và Cos): Khi Camera xoay, vạn vật xung quanh sẽ xoay theo. Chúng ta dùng hàm Sin và Cos của góc
X RotationvàY Rotationđể tính toán tọa độ mới của điểm đó trong không gian. - Phép chia tạo độ sâu: Tính toán tọa độ hiển thị trên màn hình bằng công thức: 250 * (Yx / (Yz + 300))$. Khi một vật thể ở càng xa (giá trị Z lớn), nó sẽ bị chia cho một số lớn hơn, kết quả là vật thể sẽ thu nhỏ lại trên màn hình Scratch giống hệt ngoài đời thực!
4. Chú Nhện Thợ Xây: Khối Lệnh Vẽ Khối Lập Phương
Khi đã có thuật toán định vị điểm, chúng ta thiết lập khối lệnh Vẽ khối lập phương tại XYZ X Y Z Kích thước Size. (Lưu ý: Luôn chọn tùy chọn Chạy không làm mới màn hình – Run without screen refresh).
Khối lệnh này sử dụng Bút vẽ (Pen) để hạ bút và nhấc bút liên tục, giăng các đường tơ nối 8 đỉnh của hình lập phương lại với nhau theo quy trình:
- Hành trình 1: Vẽ hình vuông mặt sau (Tại vị trí Z – Kích thước).
- Hành trình 2: Vẽ hình vuông mặt trước (Tại vị trí Z + Kích thước).
- Hành trình 3: Vẽ 4 đường thẳng nối 4 góc của hai mặt lại với nhau để tạo thành khối hộp hoàn chỉnh.
5. Mở Rộng Game: Level Design Và Tương Tác
Sau khi có công cụ vẽ gạch, bạn có thể biến các con số khô khan thành thế giới game sống động:
- Dùng danh sách (List)
Levelsđể lưu trữ bản đồ. Quy định:1là gạch an toàn,2là dung nham (Lava). - Lập trình vòng lặp để máy tính đọc danh sách và tự động vẽ ra cả một sàn đấu rộng lớn.
- Thêm logic vật lý để nhân vật người chơi (Player) trượt trên các khối gạch, va chạm và qua màn.




