02. Tạo MeshLibrary (Thư Viện Lưới 3D)
Để bắt đầu sử dụng GridMap, thành phần tiên quyết bạn cần có là một tài nguyên MeshLibrary. Đây là một kho lưu trữ tập hợp các mô hình 3D riêng lẻ (các mảnh tường, sàn nhà, cột trụ, cầu thang...) mà bạn sẽ dùng để "lát" lên bản đồ.
🔍 Khảo sát Scene nguồn: mesh_library_source.tscn
Hãy mở scene mesh_library_source.tscn trong dự án mẫu để xem cách cấu hình scene nguồn:

Quan sát hệ thống cây Node: 1. Node gốc (Root): Bắt buộc phải là một node không gian Node3D. 2. Các node con trực tiếp: Là danh sách các node MeshInstance3D. Mỗi node con này sẽ tương ứng với một ô khối (Tile / Item) riêng biệt trong MeshLibrary.
🧱 Các nguyên tắc khi dựng MeshInstance3D
Khi chuẩn bị các mô hình trong scene nguồn:
- Tên node con: Đặt tên có ý nghĩa và rõ ràng (ví dụ:
Floor,Wall,WallCorner,Pillar,Stairs...). Các tên này sẽ hiển thị làm nhãn gợi ý khi bạn di chuột qua các ô trong bảng vẽ GridMap sau này. - Tâm tọa độ (Origin & Pivot): Hãy đảm bảo tâm tọa độ của từng mesh được đặt chuẩn xác tại gốc tọa độ
(0, 0, 0)hoặc căn góc chân đế. Nếu tâm mô hình bị lệch, khi vẽ lên lưới GridMap ô gạch sẽ bị lệch so với đường kẻ lưới. - Kích thước chuẩn hóa: Tất cả các khối thường nên tuân theo một quy chuẩn kích thước nhất định (ví dụ: các ô sàn đều là
2m x 2m, tường cao2m). Việc này giúp các mảnh ghép ăn khớp hoàn hảo khi đặt liền kề nhau.
Nếu màn chơi hoặc trò chơi của bạn hoàn toàn không có tương tác vật lý hay va chạm (ví dụ: chỉ là bối cảnh nền trang trí xa xa), bạn có thể xuất thẳng scene này thành MeshLibrary. Tuy nhiên, trong phần lớn các trường hợp thực tế, bạn sẽ cần gán các vùng va chạm cho các khối như sẽ được hướng dẫn ở bài học tiếp theo.