Lộ trình › Quy trình làm việc ở studio game › Bài 238/248

Dự án 5: Bảng thông số asset (spec sheet) – kích thước, PPU, pivot, số frame

Lập spec sheet cho các asset của một màn chơi: mỗi dòng ghi kích thước, Pixels Per Unit, pivot, số frame, tên file và ghi chú – tài liệu giúp họa sĩ, animator và lập trình viên làm việc mà không phải hỏi nhau, kèm ô mẫu minh họa pivot và thiết lập import Unity 6.

Nâng cao 60 phút ★★★ Dễ Hướng dẫn cho Windows · đổi sang macOS

Photoshop hiển thị tiếng Anh. Từ có gạch chân chấm là thuật ngữ trên giao diện — chạm để xem nghĩa, hoặc tra Từ điển Anh–Việt.

File mẫu để luyện tập

Tải về rồi mở bằng Photoshop: FileTệp›OpenMở (Ctrl+O).

"Con slime này bao nhiêu pixel? Pivot (Điểm neo) ở đâu? Mấy frame?" – nếu mỗi asset đều phải hỏi ba câu này, đội sẽ tốn hàng giờ mỗi tuần chỉ để nhắn tin. Studio giải quyết bằng một asset spec sheet: bảng liệt kê mọi asset cần làm, mỗi asset một dòng với đầy đủ thông số. Lập trình viên đọc bảng để chuẩn bị code (khung va chạm, tốc độ animation), họa sĩ đọc để tạo đúng canvas, animator đọc để biết số frame. Spec sheet thường do lead artist hoặc technical artist viết – và biết đọc, biết viết nó là kỹ năng mà mọi nhà tuyển dụng đều mong ở họa sĩ game.

Hình mẫu

Bảng spec sheet với các cột Asset, Kích thước, PPU, Pivot, Frame, Tên file và bảy dòng từ Hero idle 128 × 128 tới Nổ nhỏ 96 × 96; bên phải ô mẫu 128 × 128 có nhân vật đứng trên điểm pivot đỏ ở giữa đáy và ghi chú thiết lập import
Bảng spec sheet với các cột Asset, Kích thước, PPU, Pivot, Frame, Tên file và bảy dòng từ Hero idle 128 × 128 tới Nổ nhỏ 96 × 96; bên phải ô mẫu 128 × 128 có nhân vật đứng trên điểm pivot đỏ ở giữa đáy và ghi chú thiết lập import

Thời gian ước tính: khoảng 1 giờ – 20 phút liệt kê asset và quyết định thông số, 25 phút dựng bảng, 15 phút làm ô mẫu và kiểm tra trong Unity.

Chuẩn bị

  • Canvas (khung vẽ): 1920 × 1080 px, Resolution (Độ phân giải) 72, RGB Color, nền #f5f6f8. Ở studio thật, spec sheet thường nằm trong bảng tính dùng chung; làm trong Photoshop ở bài này giúp bạn thêm hình minh họa pivot và luyện trình bày tài liệu.
  • Công cụ chính: Rectangle Tool (U), Line Tool, Type Tool (T) với Paragraph panel, ViewHiển thị›GuidesĐường gióng›New Guide Layout để chia cột, Align (thanh Options của Move Tool (Công cụ Di chuyển)), Ellipse Tool cho điểm pivot.
  • Thiết bị: bài này là bảng và chữ – chuột và bàn phím là công cụ chính. Người dùng bút Wacom, XP-Pen, Huion hay iPad + Apple Pencil (Bút chì) có thể dùng bút cho phần vẽ ô mẫu nhân vật; phần bảng vẫn nên gõ bằng bàn phím.
  • File mẫu: "Bảng spec sheet trống" ở cuối bài: hàng tiêu đề 7 cột, 10 dòng xen màu và một dòng ví dụ chữ xanh.
CộtGhi gìVí dụ
Assettên dễ hiểuHero idle
Kích thướckích thước một frame, px128 × 128
PPUPixels Per Unit (Số pixel mỗi đơn vị) trong Unity100
Pivotđiểm neo – vị trí của objectBottom, Center
Framesố frame animation (1 nếu tĩnh)4
Tên filetheo quy ước đặt tênchr_hero_idle.png
Ghi chúbố cục sheet, padding, trạng tháisheet ngang, padding 2 px
MàuMã hexDùng cho
#3a404bHàng tiêu đề
#f0f3f8Dòng xen kẽ
#d6dae2Đường kẻ bảng
#e8423bPivot Bottom
#31a8ffPivot Center, số đo

Các bước

Sáu giai đoạn: dựng khung bảng, ghi tiêu đề cột, kẻ dòng xen màu, điền thông số, đánh dấu pivot, vẽ ô mẫu và ghi thiết lập import
Sáu giai đoạn: dựng khung bảng, ghi tiêu đề cột, kẻ dòng xen màu, điền thông số, đánh dấu pivot, vẽ ô mẫu và ghi thiết lập import
  1. Liệt kê asset của một màn: ghi ra giấy mọi thứ cần vẽ cho một màn chơi nhỏ: nhân vật (idle, run, jump), 2 quái, vật phẩm (xu, tim), tile, nút UI, hiệu ứng. Khoảng 7–10 dòng là đủ cho bài này.
  2. Chốt PPU chung: lấy PPU từ scale chart (thường 100). Chỉ tile có thể dùng PPU riêng bằng đúng cạnh tile (tile 64 px → PPU 64) để mỗi ô tile = 1 unit trên Tilemap.
  3. Kích thước frame: tính từ scale chart: hero 1,5 unit với PPU 100 → cao 150 px → chọn ô 128 × 128 nếu nhân vật vẽ trong 120 px, hoặc 192 × 192 nếu cần chỗ cho kiếm vung. Ghi chú: kích thước là của một frame, không phải cả sheet.
  4. Chọn pivot đúng loại: nhân vật và quái đứng trên đất → Bottom. Vật phẩm bay lơ lửng, đạn, hiệu ứng nổ → Center. Cánh cửa xoay theo bản lề → Left. Pivot sai làm nhân vật lún xuống đất hoặc xoay lệch tâm.
  5. Số frame: idle 4, run 6–8, jump 3–4, xu xoay 6–8, nổ 6. Ghi kèm tốc độ gợi ý (ví dụ 10 fps) vào cột Ghi chú – animator và lập trình viên đều cần.
  6. Dựng bảng: FileTệp›NewTạo mới 1920 × 1080 px, đặt file mẫu. Rectangle Tool vẽ hàng tiêu đề #3a404b cao 70 px; chữ trắng 24 px đậm. Các dòng cao 76 px, xen kẽ trắng và #f0f3f8 cho dễ dò ngang.
  7. Căn cột bằng guide: ViewHiển thị›GuidesĐường gióng›New Guide Layout hoặc kéo guide tại mỗi đường cột. Mọi chữ trong cột căn trái cùng một guide – dùng Move Tool, chọn nhiều layer, bấm Align left edges trên thanh Options.
  8. Điền thông số: gõ từng dòng. Tên file theo quy ước (chr_hero_run.png, itm_coin_spin.png). Text layer đặt tên theo dòng: row_03_slime để sửa nhanh.
  9. Ký hiệu pivot: cạnh mỗi chữ Bottom đặt chấm đỏ đặc #e8423b, cạnh Center đặt vòng tròn xanh #31a8ff. Ký hiệu trực quan giúp lướt bảng nhanh hơn đọc chữ.
  10. Ô mẫu minh họa: bên phải bảng, vẽ một ô 128 × 128 (phóng ×1,5 cho dễ nhìn) chia lưới 4 × 4, đặt nhân vật vào sao cho chân chạm đáy, đánh dấu pivot chữ thập đỏ ở giữa đáy, kèm mũi tên "128 px = 1,28 unit".
  11. Ghi chú chung: dưới bảng ghi quy định cho mọi asset: PNG 32-bit nền trong suốt, sprite sheet xếp ngang, padding 2 px giữa các frame, màu sRGB. Đây là những điều không cần lặp lại ở từng dòng.
  12. Thử một dòng trong Unity 6: import một sprite sheet theo dòng Hero idle: Texture Type Sprite (2D and UI), Sprite Mode Multiple, Pixels Per Unit 100, mở Sprite Editor > Slice > Grid By Cell Size 128 × 128, Pivot Bottom. Nếu nhân vật đứng đúng mặt đất ở y = 0 – spec sheet của bạn đúng.
  13. Lưu và chia sẻ: lưu doc_spec_sheet_level01_v01.psd, xuất PNG cho đội. Mỗi khi đổi thông số, tăng số phiên bản và tô vàng dòng đã đổi để mọi người biết.
Mẹo: Thêm cột "Trạng thái" (Chưa làm / Đang vẽ / Chờ duyệt / Đã vào game) khi dùng spec sheet trong dự án thật – bảng thông số trở thành bảng theo dõi tiến độ của cả đội art.
Lỗi hay gặp: Ghi kích thước của cả sheet thay vì của một frame (ví dụ "768 × 128" cho sheet 6 frame). Lập trình viên cắt sai, animation giật. Luôn ghi kích thước một frame và số frame; kích thước sheet là phép nhân.

Nâng cao (tùy chọn)

  • Cột hitbox: thêm kích thước khung va chạm (ví dụ 48 × 110 px) để lập trình viên dựng Box Collider 2D khớp với hình vẽ.
  • Spec sheet cho UI: làm bảng riêng cho nút và khung: kích thước, viền 9-slice (Left / Right / Top / Bottom), các trạng thái normal, hover, pressed, disabled.
  • Từ Photoshop sang bảng tính: chép bảng sang bảng tính dùng chung của đội – nơi spec sheet thật thường sống, ai cũng sửa và xem lịch sử được.

Mẹo & trick học nhanh

Một frame, không phải cả sheet

Cột Kích thước luôn là của một frame. 6 frame 128 × 128 xếp ngang thì sheet tự nhiên là 768 × 128.

Pivot theo cách vật chạm thế giới

Đứng trên đất → Bottom; bay, xoay tròn → Center; xoay quanh bản lề → Left hoặc Right. Hỏi "vật này bám vào đâu?" là chọn được pivot.

Ghi tốc độ animation

Thêm "10 fps" hay "12 fps" vào ghi chú. Cùng 6 frame nhưng 6 fps và 12 fps cho cảm giác khác hẳn – animator và lập trình viên cần cùng con số.

Kiểm tra nhanh

1 Pivot nào phù hợp cho một con quái đi trên mặt đất?
2 Sprite sheet 6 frame, mỗi frame 96 × 96 xếp ngang có kích thước bao nhiêu?
3 Ai cần đọc spec sheet?

Bài tập: Spec sheet cho một màn chơi

Làm trong Photoshop rồi nộp file. Máy chấm kiểm tra các yêu cầu kỹ thuật và chỉ cách sửa từng lỗi; giáo viên chấm thêm phần thẩm mỹ.

Làm bài tập