09. Sử Dụng GridMap Trong Editor (Using GridMap)

Bây giờ bạn đã có tập tin tài nguyên MeshLibrary.tres, đã đến lúc bắt tay vào việc "vẽ" thế giới 3D của bạn bằng node GridMap!


🗺️ Tạo Scene và gán MeshLibrary

  1. Tạo một Scene 3D mới bằng cách nhấn vào dấu + cạnh tab Scene và chọn 3D Scene (Node3D làm gốc).
  2. Thêm một node con kiểu GridMap vào cây scene.
  3. Kéo tập tin tài nguyên MeshLibrary.tres từ cửa sổ FileSystem và thả trực tiếp vào ô thuộc tính Mesh Library trong bảng Inspector của node GridMap:

Gán MeshLibrary vào Inspector của GridMap

Ngay khi được gán, hệ thống lưới kẻ ô không gian 3D sẽ xuất hiện trong khung nhìn và thanh công cụ vẽ GridMap sẽ tự động mở ra ở đáy màn hình!


⚙️ Cấu hình các thuộc tính quan trọng trong Inspector

Trước khi bắt đầu vẽ, hãy kiểm tra các thuộc tính chính trong bảng Inspector của GridMap:

  • Cell > Size: Đặt kích thước cho mỗi ô lưới không gian (X, Y, Z). Giá trị này bắt buộc phải khớp với kích thước của các khối mô hình trong MeshLibrary của bạn (mặc định trong demo là 2 x 2 x 2 mét).
  • Cell > Center Y: Mặc định tùy chọn này được bật (tâm khối nằm chính giữa trục Y của ô lưới). Đối với đa số các game 3D thông thường, bạn nên bỏ chọn Center Y để các khối sàn được đặt phẳng phiu ngay trên mặt phẳng sàn y = 0.
  • Physics Material: Cho phép bạn gán một vật liệu vật lý dùng chung (độ ma sát friction, độ nảy bounce) áp dụng lên tất cả các ô va chạm trong GridMap.
  • Collision > Layer / Mask: Cấu hình các lớp va chạm vật lý để xác định nhân vật, kẻ địch hoặc tia RayCast nào có thể tương tác với địa hình của GridMap.
  • Navigation > Bake Navigation: Bật tùy chọn này nếu bạn muốn GridMap tự động kích hoạt các vùng điều hướng tìm đường cho AI.

Cấu hình thuộc tính Inspector


🎨 Bảng công cụ GridMap Panel (Thanh công cụ đáy màn hình)

Khi chọn node GridMap, thanh công cụ vẽ chuyên dụng sẽ xuất hiện ở mép dưới của Editor:

Giao diện thanh công cụ GridMap Panel

Dưới đây là bảng tra cứu đầy đủ các công cụ từ trái qua phải:

Tên công cụ Thao tác / Phím tắt Công dụng chi tiết
Transform Gizmo Hiển thị trục tọa độ 3D để dịch chuyển, xoay hoặc co giãn toàn bộ node GridMap.
Selection Nhấp & Kéo Chọn một vùng gồm nhiều ô trên lưới cùng lúc.
Erase Chuột phải Nhấp chuột vào ô trong Viewport để xóa khối mesh tại vị trí đó.
Paint Chuột trái Đặt khối mesh đang được chọn ở thanh đáy vào vị trí con trỏ chuột.
Pick Nhấp vào khối có sẵn Chọn nhanh loại mesh đang có sẵn trong khung cảnh (tương tự công cụ hút màu Eyedropper).
Fill — Lấp đầy toàn bộ khu vực đang được chọn (Selection) bằng loại mesh hiện tại.
Move — Di chuyển các khối nằm trong khu vực chọn sang vị trí mới.
Duplicate — Sao chép nhân bản các khối trong khu vực chọn sang vị trí khác.
Delete Phím Del Xóa đồng loạt toàn bộ các khối nằm trong vùng chọn.
Rotate X / Y / Z Phím A / S / D Xoay khối mesh quanh trục X, Y hoặc Z trước khi vẽ xuống lưới.
Change Grid Floor Ctrl + Lăn chuột Thay đổi cao độ tầng làm việc (tăng/giảm độ cao trục Y) để vẽ các tầng nhà hoặc bậc thang.
Filter Meshes Khung tìm kiếm Tìm nhanh một mesh theo tên trong thư viện.
Zoom Slider Thanh trượt Phóng to hoặc thu nhỏ kích thước ảnh xem trước của các mesh ở thanh đáy.
Layout Toggles Nút biểu tượng Chuyển đổi giữa chế độ xem danh sách dạng lưới (Grid) hoặc danh sách dọc (List).

Ở góc phải của thanh công cụ có nút Tools dạng menu thả xuống:

Menu Tools của GridMap

Trong menu này, khi chọn Settings, một cửa sổ sẽ hiện ra cho phép bạn điều chỉnh thông số Pick Distance: - Đây là khoảng cách tối đa (tính bằng mét) từ vị trí Camera của Editor đến mặt phẳng lưới mà con trỏ chuột có thể phát hiện và đặt gạch. - Nếu bạn làm việc trên các bản đồ thế giới mở rộng lớn và camera cách rất xa mặt đất, bạn có thể tăng thông số này lên để dễ dàng thao tác vẽ từ xa.