Bạn học Photoshop trên máy nào? Phím tắt và hướng dẫn sẽ hiển thị đúng theo lựa chọn của bạn.

Lộ trình › Dự án vẽ theo cấp độ › Bài 65/158

Dự án 13: Sprite chạy 6 frame

Làm chu kỳ chạy 6 frame 64 × 64 px: tư thế chính contact và passing, khung xương, onion skin, xem thử bằng Timeline và xuất sprite sheet cho Unity 6.

Trung cấp 240 phút ★★★ Khó 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).

Đây là lúc nhân vật chuyển động. Một vòng chạy (run cycle) lặp đi lặp lại chỉ cần 6 hình, mỗi hình gọi là một frame. Xếp 6 frame thành một dải ngang ta có sprite sheet – file mà engine game cắt ra và phát liên tục. Bí quyết không phải vẽ đẹp từng frame, mà là 6 frame ăn khớp với nhau.

Hình mẫu

Sprite sheet 6 frame nhân vật chạy, mỗi frame 64 × 64 px, chân chạm cùng một đường nền
Sprite sheet 6 frame nhân vật chạy, mỗi frame 64 × 64 px, chân chạm cùng một đường nền

Thời gian ước tính: khoảng 4 giờ, chia 3 buổi: tư thế + khung xương, tô màu, ghép sheet và thử trong engine.

Chuẩn bị

  • File vẽ: 256 × 256 px cho mỗi frame (gấp 4 lần 64 px), mỗi frame là một Group layer riêng. Cuối cùng thu về 64 × 64 px.
  • Nhân vật: dùng nhân vật đơn giản (đầu tròn, thân hình thang, tay chân dạng ống) – chi tiết nhỏ sẽ biến mất ở 64 px.
  • File mẫu: "Lưới sprite sheet 6 × 64 px" ở cuối bài: viền hồng là ranh giới frame, vạch xanh lá là đường nền (baseline) ở y = 58, vạch tím là mốc đỉnh đầu.
  • Bảng: WindowCửa sổ›TimelineDòng thời gian (dòng thời gian) để xem thử chuyển động.
MàuMã hexDùng cho
#31a8ffÁo
#1f6fb8Bóng áo
#ff5c8aKhăn quàng (bay theo nhịp chạy)
#ff9f43Tóc
#ffd7b5Da
#3d3f63Quần (chân gần)
#26274aQuần chân xa (tối hơn để tách lớp)
#6b3e26Giày, thắt lưng

6 tư thế của vòng chạy

FrameTênMô tả
1Contact (chạm đất)Chân trước duỗi chạm đất, chân sau đạp phía sau. Tay ngược chân.
2Down (nhún)Thân hạ thấp nhất, chân trước gập đỡ trọng lượng.
3Passing (chuyển chân)Chân sau vung qua dưới thân, thân cao nhất.
4–6Lặp lại, đổi chânGiống 1–3 nhưng chân và tay đổi bên.

Các bước

Sprite chạy: tư thế chính, khung xương 6 frame, tô flat, đổ bóng, kiểm tra onion skin, xuất sprite sheet
Sprite chạy: tư thế chính, khung xương 6 frame, tô flat, đổ bóng, kiểm tra onion skin, xuất sprite sheet
  1. Tạo file Ctrl+N 256 × 256 px, Background Contents: Transparent. Kẻ guide ngang ở y = 232 px (đường nền = 58 × 4) và y = 40 px (đỉnh đầu), guide dọc giữa ở 128 px.
  2. Tư thế chính trước: layer F1 Sketch: vẽ khung xương que (đầu tròn, cột sống, tay chân là các đoạn thẳng có khớp gối, khuỷu) cho frame 1 – Contact. Layer F3 Sketch: frame 3 – Passing. Hai tư thế này quyết định cả vòng chạy; nghiêng người về trước khoảng 10°.
  3. Frame trung gian: hạ Opacity (Độ mờ đục) F1 và F3 xuống 25% – đây là onion skin (giấy hành: nhìn xuyên frame trước/sau). Tạo F2 Sketch nằm giữa: thân thấp hơn F1 khoảng 8 px, chân trước gập. Frame 4–6: nhân đôi F1–F3 (Ctrl+J) rồi vẽ lại để đổi bên tay chân.
  4. Xem thử sớm: mở WindowCửa sổ›TimelineDòng thời gian, bấm Create Frame Animation. Ở mỗi frame trong Timeline (Dòng thời gian) chỉ bật con mắt layer tương ứng (F1 ở frame 1, F2 ở frame 2…). Đặt thời gian mỗi frame 0,08 giây (khoảng 12 fps), Looping: Forever, bấm Play (Space). Sửa khung xương đến khi chuyển động mượt rồi mới tô.
  5. Nét và màu phẳng: với mỗi frame, tạo Group F1…F6 (Ctrl+G) chứa layer Line và Flat. Vẽ nét 6 px (sẽ còn 1,5 px sau khi thu nhỏ). Tô flat bằng Paint Bucket (Thùng sơn) (All Layers). Chân và tay phía xa dùng màu tối hơn (#26274a, da #c98a6a) để không lẫn với chân gần.
  6. Giữ nhất quán: tô xong F1, nhân đôi cả Group làm nền cho F2 rồi sửa phần khác – đầu, tóc, khăn thường chỉ cần dời xuống/lên theo độ nhún của thân. Luôn kiểm tra bàn chân chạm đúng guide đường nền.
  7. Đổ bóng: trong mỗi Group, layer Shadow Clipping Mask (Mặt nạ cắt) vào Flat, màu #1f6fb8 cho áo, #e8a987 cho da, blend mode Normal. Chỉ 1 tông bóng – ở 64 px nhiều tông sẽ thành nhòe. Thêm rim #a9d8ff mảnh ở lưng.
  8. Khăn quàng: đuôi khăn bay ra sau và nhấp nhô ngược nhịp với thân: khi thân hạ (F2, F5) đuôi khăn nâng lên. Chi tiết "theo sau" này (follow-through) làm chuyển động sống động.
  9. Onion skin bằng Timeline: chuyển Timeline sang chế độ video: bấm biểu tượng Convert to video timeline ở góc dưới – trái bảng Timeline, mở menu bảng (≡) › Enable Onion Skins. Bạn sẽ thấy frame trước (đỏ) và sau (xanh) mờ mờ – soát lại bước chân và độ nhún.
  10. Ghép sprite sheet: ImageHình ảnh›Canvas SizeKích thước khung vẽ (Alt+Ctrl+C): Width 1536 px, Anchor ô giữa bên trái. Chọn Group F2, Ctrl+T, bấm biểu tượng tam giác Use relative positioning for reference point trên thanh Options, nhập X: 256 px, Enter. F3 dời 512 px, F4 768 px, F5 1024 px, F6 1280 px.
  11. Thu về 64 px: FileTệp›Save AsLưu thành bản khác một bản sao (Shift+Ctrl+S) tên run_sheet_4x.psd. Trên bản chính: ImageHình ảnh›Image SizeKích thước ảnh (Alt+Ctrl+I), Width 384 px, Height 64 px, Resample (Lấy mẫu lại) Bicubic (Nội suy mượt) Sharper (reduction). Nếu bạn vẽ pixel art thì chọn Nearest Neighbor (Điểm lân cận) (hard edges).
  12. Kiểm tra bằng lưới mẫu: mở file "Lưới sprite sheet 6 × 64 px" (Ctrl+O), kéo nó vào sheet làm layer trên cùng Opacity 50%. Mỗi nhân vật phải nằm gọn trong khung hồng, bàn chân chạm vạch xanh lá. Ẩn layer lưới trước khi xuất.
  13. Xuất PNG trong suốt: FileTệp›Export›Export AsXuất ra (tùy chỉnh), PNG, Transparency (Độ trong suốt) bật, Scale 100% → run_sheet.png đúng 384 × 64 px.
  14. Đưa vào Unity 6: kéo PNG vào Assets. Trong Inspector: Texture Type Sprite (2D and UI), Sprite Mode Multiple, Pixels Per Unit (Số pixel mỗi đơn vị) 64, Filter Mode (Chế độ lọc ảnh) Bilinear (ảnh vẽ tay; pixel art thì chọn Point (no filter)), Compression None, bấm Apply. Mở Sprite Editor › Slice › Type Grid By Cell Size 64 × 64 › Slice › Apply. Chọn 6 sprite con, kéo thả vào Scene – Unity tự tạo Animation Clip; chỉnh Sample Rate 12 trong cửa sổ Animation.
Mẹo: Kiểm tra chuyển động bằng mắt "mờ": thu nhỏ Timeline Preview xuống thật nhỏ hoặc nheo mắt. Nếu nhân vật trông như "trượt" trên đất, bàn chân ở frame contact chưa chạm đúng đường nền hoặc bước chân quá ngắn.
Lỗi hay gặp: Nhân vật mỗi frame một kích thước hoặc lệch vị trí trong khung – khi phát sẽ rung giật. Luôn dùng guide đường nền và guide giữa, và nhân đôi frame trước làm nền thay vì vẽ lại từ đầu.

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

  • Idle 4 frame: vòng thở đứng yên: thân nhún 2 px, khăn lay nhẹ.
  • Nhảy 3 frame: chuẩn bị (ngồi xuống), bật lên (duỗi), rơi (co chân).
  • Sprite 8 frame: thêm 2 frame "up" (bay lên khỏi mặt đất) cho vòng chạy mượt hơn – sheet 512 × 64 px, cũng là lũy thừa của 2.

Mẹo & trick học nhanh

Nhân đôi frame làm nền

Tô xong frame 1, nhân đôi Group (Ctrl+J) làm điểm xuất phát cho frame 2. Chỉ sửa những gì thay đổi, phần giống nhau giữ nguyên để tránh rung.

Dời chính xác từng pixel

Với Move Tool (V), mỗi lần nhấn phím mũi tên dời 1 px, giữ Shift dời 10 px. Với Free Transform, nhập giá trị X/Y trực tiếp trên thanh Options.

12 fps là đủ

Sprite 2D thường chạy 10–12 hình/giây. Trong Timeline của Photoshop đặt 0,08 giây mỗi frame; trong Unity đặt Sample Rate 12.

Kiểm tra nhanh

1 Hai tư thế chính nên vẽ trước tiên trong vòng chạy là gì?
2 Sprite sheet 6 frame, mỗi frame 64 × 64 px, xếp một hàng ngang có kích thước bao nhiêu?
3 Trong Unity 6, cài đặt nào dùng để cắt sprite sheet thành từng frame?
4 Vì sao chân và tay phía xa nên tô màu tối hơn?

Bài tập: Sprite sheet chạy 6 frame

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