Lộ trình › Dự án game theo chủ đề › Bài 90/218

Dự án 8: Hiệu ứng nổ VFX sprite 6 frame

Làm hiệu ứng nổ 6 frame 64 × 64 px kiểu hoạt hình: lóe sáng, cầu lửa, khói tan – nắm nhịp "nhanh lên chậm xuống", màu nóng sang lạnh và phát thử trong Unity 6.

Nâng cao 180 phút ★★★ Vừa 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).

VFX (visual effects – hiệu ứng hình ảnh) làm cho cú đánh "có lực": vụ nổ, tia sét, bụi bay. Hiệu ứng 2D kiểu hoạt hình không cần vẽ đẹp từng frame – nó cần nhịp đúng: bùng lên thật nhanh, tan đi thật chậm. Trong dự án này bạn làm vụ nổ 6 frame, mỗi frame 64 × 64 px, xếp thành sheet 384 × 64 px.

Hình mẫu

Sáu frame vụ nổ: lóe sáng, cầu lửa, lớn nhất, chuyển khói, khói tan, làn khói cuối, kèm đồ thị kích thước theo frame
Sáu frame vụ nổ: lóe sáng, cầu lửa, lớn nhất, chuyển khói, khói tan, làn khói cuối, kèm đồ thị kích thước theo frame

Thời gian ước tính: khoảng 3 giờ: 30 phút đường cong kích thước, 1,5 giờ lửa và khói, 1 giờ xem thử, sửa và xuất.

Chuẩn bị

  • File vẽ: vẽ ở gấp 4: mỗi frame 256 × 256 px, cả sheet 1536 × 256 px; cuối cùng thu về 384 × 64 px.
  • Brush (Cọ vẽ): Hard Round (cọ tròn cứng) – phong cách cel không dùng cọ mềm cho khối lửa. Chỉ ánh lóe ở frame 1 được phép dùng cọ mềm.
  • Thiết bị: tàn lửa và tia bay đẹp khi nét thon đầu. Bút XP-Pen/Huion/Wacom: bật Pen Pressure (Lực nhấn bút) cho Size. Chuột: vẽ khối lửa bằng Lasso (Dây thòng lọng) + tô (Alt+Backspace) – cách này còn nhanh hơn cọ; tia bay dùng Line Tool. iPad qua Sidecar/Astropad: Apple Pencil (Bút chì) như bút thường.
  • File mẫu: "Lưới VFX 6 × 64": dấu cộng xanh là tâm nổ (32, 36), vòng tím nét đứt là giới hạn – khối lửa lớn nhất không vượt vòng này để không bị cắt ở mép frame.
  • Bảng: WindowCửa sổ›TimelineDòng thời gian để xem thử chuyển động.
MàuMã hexDùng cho
#fff6d5Lõi nóng nhất (gần trắng)
#ffd23fLửa vàng
#ff9234Lửa cam
#ff4d2eLửa đỏ – mép ngoài
#8c8598Khói sáng
#6b6475Khói
#4a4453Khói tối
#1b1a24Viền

Nhịp của vụ nổ

FrameTênKích thước (ở 64 px)Thời gian
1Lóe sáng – ngôi sao nhỏbán kính ~13 px0,05 giây
2Cầu lửa bung ra~19 px0,05 giây
3Lớn nhất, mảnh vụn bay~27 px0,08 giây
4Khói bọc lửa~26 px0,1 giây
5Khói tan, còn đốm đỏ~22 px0,1 giây
6Vài làn khói cuối~14 px0,12 giây

Các bước

VFX nổ: đường cong kích thước, khối sáng, màu nóng sang lạnh, khói, tàn lửa, xuất sheet
VFX nổ: đường cong kích thước, khối sáng, màu nóng sang lạnh, khói, tàn lửa, xuất sheet
  1. Tạo file 1536 × 256 px, Transparent. Mở "Lưới VFX 6 × 64", ImageHình ảnh›Image SizeKích thước ảnh 400% với Resample (Lấy mẫu lại) Nearest Neighbor (Điểm lân cận) (hard edges), kéo sang file chính làm layer trên cùng Opacity (Độ mờ đục) 40%.
  2. Đường cong kích thước: layer Size Plan: trong mỗi frame vẽ một vòng tròn xanh theo bán kính ở bảng trên (nhân 4). Nhìn cả dãy: to nhanh ở 1 → 3, nhỏ dần chậm ở 4 → 6. Đây là "xương sống" của hiệu ứng – mọi khối lửa và khói bám theo nó.
  3. Mỗi frame một Group: tạo Group F1 … F6 (Ctrl+G), trong mỗi Group có layer Fire, Smoke, FX. Giữ tâm nổ cố định tại dấu cộng xanh ở mọi frame – tâm nhảy lung tung thì vụ nổ trông như bị rung.
  4. Khối sáng trước: trong Fire của F1–F3 chỉ tô một màu vàng nhạt cho toàn khối: F1 là ngôi sao 6 cánh, F2 là khối tròn méo, F3 là khối to có mép lượn sóng. Dùng Lasso vẽ đường bao mềm, Alt+Backspace tô, viền 6 px.
  5. Màu nóng → lạnh từ trong ra ngoài: kẹp layer vào Fire (Ctrl+Alt+G) và vẽ các vòng lồng nhau: ngoài cùng đỏ #ff4d2e, rồi cam, vàng, lõi #fff6d5 hơi lệch lên trên – trái. Càng về frame sau, lõi trắng càng nhỏ và phần đỏ càng nhiều – lửa đang nguội đi.
  6. Khói: layer Smoke đặt dưới Fire từ F3 (khói bắt đầu ló ra sau lưng lửa). F4: khói là cụm 4 hình tròn lớn #6b6475 bọc quanh, lửa chỉ còn ở giữa – dưới. F5: khói tối #4a4453, lửa là một đốm đỏ nhỏ. F6: 3–4 cụm khói nhỏ tách rời nhau, Opacity 75%.
  7. Khối cho khói: layer kẹp vào Smoke, vẽ các hình tròn nhỏ sáng hơn #8c8598 ở phía trên – trái mỗi cụm khói. Khói dâng lên: mỗi frame dời cụm khói lên 8–12 px (ở file 4x).
  8. Tia và tàn lửa: layer FX: F1 có 4 tia ngắn quanh ngôi sao; F3 có 5 mảnh vụn nhỏ bay ra xa gần mép frame; F4–F5 vài đốm tàn lửa #ffb13b. Mảnh vụn phải bay ra xa hơn theo từng frame, không đứng yên.
  9. Xem thử bằng Timeline (Dòng thời gian): WindowCửa sổ›TimelineDòng thời gian › Create Frame Animation. Tạo 6 frame, ở mỗi frame chỉ bật Group tương ứng. Bấm vào con số thời gian dưới mỗi frame để đặt theo bảng nhịp (0,05 – 0,12 giây), Looping: Once. Phát bằng Space.
  10. Sửa nhịp: nếu vụ nổ trông "mềm", rút ngắn F1–F2 hoặc làm F3 to hơn; nếu tan quá đột ngột, thêm một cụm khói ở F6. Hiệu ứng tốt thường gây cảm giác giật mạnh ở đầu và kéo dài ở cuối.
  11. Thu về 64 px: lưu bản 4x (Shift+Ctrl+S explosion_4x.psd). Trên bản chính ImageHình ảnh›Image SizeKích thước ảnh: Width 384, Height 64, Resample Bicubic (Nội suy mượt) Sharper (reduction). Ẩn lưới mẫu và layer Size Plan.
  12. Xuất PNG: gộp mỗi frame (hoặc bật tất cả Group), FileTệp›Export›Export AsXuất ra (tùy chỉnh) PNG → explosion.png đúng 384 × 64 px, nền trong suốt.
  13. Đưa vào Unity 6: 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, Sprite Editor › Slice › Grid By Cell Size 64 × 64 › Apply. Chọn 6 sprite con, kéo vào Scene để Unity tạo Animation Clip. Chọn file clip trong Project, ở Inspector bỏ tích Loop Time (vụ nổ chỉ phát một lần); trong cửa sổ Animation đặt Samples 12 (nếu không thấy ô Samples, mở menu ⋮ của cửa sổ Animation › Show Sample Rate).
Mẹo: Frame đầu tiên không cần giống lửa – một ngôi sao trắng vàng thật sáng xuất hiện trong 0,05 giây đã đủ đánh lừa mắt rằng "có vụ nổ". Các game hành động gọi đây là khung "impact".
Lỗi hay gặp: Sáu frame to đều nhau, chỉ đổi màu. Vụ nổ sẽ nhấp nháy như đèn chứ không bùng lên. Luôn vẽ đường cong kích thước trước và giữ nó: nhỏ – to nhanh – to nhất – nhỏ dần chậm.

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

  • Particle System: trong Unity dùng module Texture Sheet Animation (Mode Grid, Tiles X 6, Y 1) cho Particle System phát nhiều vụ nổ nhỏ cùng lúc, mỗi hạt một kích thước.
  • Vòng sóng xung kích: thêm một vòng tròn trắng mảnh lan rộng ở F2–F4 trên layer riêng, Opacity giảm dần.
  • Bộ hiệu ứng cùng phong cách: dùng cùng bảng màu và nhịp để làm "trúng đòn" 4 frame (hit spark) 256 × 64 px.

Mẹo & trick học nhanh

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

Vẽ xong F3, nhân đôi Group (Ctrl+J) làm điểm xuất phát cho F4 rồi chỉ sửa phần thay đổi. Tâm nổ giữ nguyên, không bị trôi.

Đặt thời gian từng frame

Trong Timeline, bấm vào chữ số giây dưới thumbnail frame để chọn thời gian, hoặc chọn Other… để gõ 0,08. Thời gian khác nhau giữa các frame chính là nhịp.

Lửa trên nền tối

Tạo layer nền tạm màu #1e2127 dưới cùng khi vẽ – hiệu ứng thường xuất hiện trong cảnh tối. Nhớ ẩn nó trước khi xuất PNG.

Kiểm tra nhanh

1 Nhịp nào đúng cho một vụ nổ hoạt hình?
2 Màu lửa sắp xếp thế nào từ tâm ra ngoài?
3 Sheet 6 frame 64 × 64 px xếp một hàng có kích thước nào?
4 Vì sao phải giữ tâm nổ ở cùng một điểm trong mọi frame?

Bài tập: Sprite sheet vụ nổ 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