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.
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.
Tải về rồi mở bằng Photoshop: (Ctrl+O).
- Lưới VFX 6 frame × 64 px có tâm nổ và vòng giới hạn (384 × 64 px) PNG · 1 KB
- Bảng màu tất cả dự án game PNG · 158 KB
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
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: để xem thử chuyển động.
| Màu | Mã hex | Dùng cho |
|---|---|---|
#fff6d5 | Lõi nóng nhất (gần trắng) | |
#ffd23f | Lửa vàng | |
#ff9234 | Lửa cam | |
#ff4d2e | Lửa đỏ – mép ngoài | |
#8c8598 | Khói sáng | |
#6b6475 | Khói | |
#4a4453 | Khói tối | |
#1b1a24 | Viền |
Nhịp của vụ nổ
| Frame | Tên | Kích thước (ở 64 px) | Thời gian |
|---|---|---|---|
| 1 | Lóe sáng – ngôi sao nhỏ | bán kính ~13 px | 0,05 giây |
| 2 | Cầu lửa bung ra | ~19 px | 0,05 giây |
| 3 | Lớn nhất, mảnh vụn bay | ~27 px | 0,08 giây |
| 4 | Khói bọc lửa | ~26 px | 0,1 giây |
| 5 | Khói tan, còn đốm đỏ | ~22 px | 0,1 giây |
| 6 | Vài làn khói cuối | ~14 px | 0,12 giây |
Các bước
- Tạo file 1536 × 256 px, Transparent. Mở "Lưới VFX 6 × 64", 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%.
- Đườ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ó.
- 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.
- 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.
- 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#fff6d5hơ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. - 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
#6b6475bọ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%. - 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). - 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. - Xem thử bằng Timeline (Dò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.
- 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.
- Thu về 64 px: lưu bản 4x (Shift+Ctrl+S
explosion_4x.psd). Trên bản chính : Width 384, Height 64, Resample Bicubic (Nội suy mượt) Sharper (reduction). Ẩn lưới mẫu và layer Size Plan. - Xuất PNG: gộp mỗi frame (hoặc bật tất cả Group), PNG →
explosion.pngđúng 384 × 64 px, nền trong suốt. - Đư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).
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
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.
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.
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.