Lộ trình › Hiệu ứng VFX cho game › Bài 162/218

Dự án 4: Hạt mưa, tuyết, lá rơi cho Particle System

Vẽ một sheet 256 × 256 px gồm 16 hạt nhỏ 64 × 64 – 4 vệt mưa, 4 bông tuyết, 4 chiếc lá và 4 cánh hoa đào – để Particle System của Unity 6 chọn ngẫu nhiên theo hàng, tạo mưa rơi, tuyết bay, lá thu và mưa hoa chỉ từ một texture.

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

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ở (⌘ Cmd+O).

Thời tiết làm một màn chơi "có không khí": mưa lất phất trong thành phố đêm, tuyết bay ở đỉnh núi, lá vàng rơi trong rừng thu, cánh đào bay ngày Tết. Bạn không vẽ từng giọt mưa lên cảnh – bạn vẽ vài hạt mẫu, còn Particle System của Unity sẽ nhân chúng thành hàng nghìn hạt, mỗi hạt một kích thước, một góc xoay, một tốc độ. Bí quyết: mỗi hàng của sheet là một loại hạt với 4 biến thể khác nhau, để Unity chọn ngẫu nhiên và không ai nhận ra hạt nào lặp lại.

Hình mẫu

Lưới 4 × 4 trên nền đen: hàng 1 bốn vệt mưa dài ngắn khác nhau, hàng 2 chấm tuyết mềm, bông tuyết sáu cánh và cụm hạt tuyết, hàng 3 bốn chiếc lá vàng cam xoay các hướng, hàng 4 bốn cánh hoa đào hồng
Lưới 4 × 4 trên nền đen: hàng 1 bốn vệt mưa dài ngắn khác nhau, hàng 2 chấm tuyết mềm, bông tuyết sáu cánh và cụm hạt tuyết, hàng 3 bốn chiếc lá vàng cam xoay các hướng, hàng 4 bốn cánh hoa đào hồng

Thời gian ước tính: khoảng 50 phút. Mỗi hạt hiển thị trong game chỉ chừng 8–32 px, nên hình phải cực đơn giản: một vệt, một bông, một chiếc lá – không có chi tiết nào nhỏ hơn 2 px ở ô 64.

Chuẩn bị

  • Canvas: 256 × 256 px (lưới 4 × 4 ô 64 px), Resolution (Độ phân giải) 72, RGB Color, Background Contents: Transparent. Vuông và lũy thừa của 2 – kích thước lý tưởng cho texture hạt.
  • Công cụ chính: Brush (Cọ vẽ) Tool (B) Hard Round, Pen Tool (Bút tạo đường) (P) cho lá và cánh hoa, Line Tool (U) cho vệt mưa và cánh tuyết, Clipping Mask (Mặt nạ cắt), Layer Style Outer Glow, EditChỉnh sửa›Transform Again (⌘ Cmd+⇧ Shift+T) để xoay lặp cánh tuyết.
  • Thiết bị: lá và cánh hoa vẽ bằng Pen Tool hoặc Ellipse rồi bóp bằng EditChỉnh sửa›TransformBiến đổi›WarpUốn cong – chuột làm tốt. Vệt mưa vẽ bằng Line Tool, giữ ⇧ Shift không cần tay vững. Bút Wacom, XP-Pen, Huion hay iPad + Apple Pencil (Bút chì) giúp vẽ gân lá và vệt mưa thon đầu nhanh hơn với Size Jitter (Dao động kích thước) › Control: Pen Pressure (Lực nhấn bút).
  • File mẫu: "Lưới 4 × 4 ô 64 px" – đặt dưới cùng làm nền đen, khóa. Số ở góc mỗi ô (0–15) là chỉ số frame mà Unity dùng; chữ vàng ghi tên hàng.
MàuMã hexDùng cho
#e6f4ffMưa sáng – lõi vệt mưa
#4f8fe0Mưa đậm – viền vệt mưa
#ffffffTuyết lõi
#9cc7efTuyết viền, glow lạnh
#ffd166Lá vàng – mảng sáng
#f08a24Lá cam – màu chính
#6b2a12Gân lá, viền lá tối
#ff9ec4Cánh hoa đào

Các bước

Sáu giai đoạn với bông tuyết sáu cánh: phác 16 ô, mảng tối, màu chính, điểm sáng, glow lạnh và lưới 16 hạt hoàn thiện
Sáu giai đoạn với bông tuyết sáu cánh: phác 16 ô, mảng tối, màu chính, điểm sáng, glow lạnh và lưới 16 hạt hoàn thiện
  1. Tạo file và lưới: FileTệp›NewTạo mới, 256 × 256 px, Transparent. Gridline Every 64 Pixels, Subdivisions 4. Đặt file mẫu dưới cùng, khóa. Tạo 4 Group theo hàng: Row0_rain, Row1_snow, Row2_leaf, Row3_petal.
  2. Vệt mưa – hình khối: mưa trên màn hình không phải giọt tròn mà là vệt dài vì nó rơi nhanh. Line Tool, Stroke 9 px #24456f, kéo một đường nghiêng 15° so với phương dọc qua tâm ô 0. Bốn ô có bốn chiều dài khác nhau: 40, 56, 70 và 30 px – Unity chọn ngẫu nhiên nên mưa trông không đều như thật.
  3. Ramp vệt mưa: chồng lên mỗi vệt hai đường cùng hướng: 6 px #4f8fe0 và 3 px #9fd0ff, rồi một đường ngắn 1,5 px #e6f4ff ở đầu trên. Vệt mưa đọc được trên cả nền đêm tối lẫn bầu trời xám.
  4. Chấm tuyết mềm (ô 4): Ellipse 24 px #9cc7ef, trên đó Ellipse 18 px #e6f4ff và chấm 10 px #ffffff. Thêm Outer Glow màu #9cc7ef, Size 14 px, Blend Mode (Chế độ hòa trộn) Screen. Đây là hạt tuyết phổ biến nhất – ở xa, bông tuyết chỉ là chấm sáng.
  5. Bông tuyết sáu cánh (ô 5 và 7): Line Tool vẽ một cánh dọc từ tâm lên 26 px với hai nhánh nhỏ chéo 25° ở 55% chiều dài. Gộp lại (⌘ Cmd+E), rồi ⌘ Cmd+⌥ Option+T (Free Transform (Biến đổi tự do) kèm nhân đôi) và xoay 60°, Enter. Nhấn ⌘ Cmd+⇧ Shift+⌥ Option+T bốn lần – đủ 6 cánh cách đều. Ô 7 làm bản lớn hơn (34 px). Ba lớp nét: 7 px #4a6f9a, 4,5 px #9cc7ef, 2 px #ffffff.
  6. Cụm hạt tuyết (ô 6): 5 chấm tròn 4–8 px rải lệch nhau, mỗi chấm có lõi trắng lệch lên trên – trái. Biến thể này cho cảm giác tuyết dày khi xuất hiện xen kẽ.
  7. Chiếc lá – hình khối: Pen Tool vẽ lá hình thoi bo cong hai đầu nhọn, dài khoảng 60 px, rộng 30 px, đặt chéo trong ô 8. Fill #e8a020, Layer Style Stroke 2,5 px Outside #6b2a12. Nhân đôi sang ô 9, 10, 11, xoay mỗi lá một hướng (−40°, 20°, 70°, 160°) và đổi xen kẽ màu nền #f08a24. Lá rơi luôn lật – mỗi ô một góc giúp chuyển động "lật lá" khi Unity đổi frame.
  8. Sáng tối và gân lá: kẹp layer (⌘ Cmd+⌥ Option+G), vẽ một lá nhỏ hơn 70% lệch về một bên màu #ffd166 Opacity (Độ mờ đục) 90% – mặt lá hứng sáng. Gân giữa là một đường 1,5 px #6b2a12 chạy từ cuống ra 85% chiều dài lá.
  9. Cánh hoa đào: Pen Tool vẽ cánh hình giọt nước có một khía lõm ở đầu rộng (đặc trưng hoa đào, hoa anh đào). Fill #ff9ec4, viền #a83265 2 px. Lớp sáng #ffc4dc ở giữa cánh và một vệt #fff0f6 nhỏ gần gốc. Xoay 4 cánh ở 4 góc khác nhau trong ô 12–15.
  10. Kiểm tra ở kích thước thật: thu về 25% (⌘ Cmd+- nhiều lần) – mỗi ô còn 16 px, gần bằng kích thước hạt trong game. Mưa phải còn là vệt, tuyết còn là chấm sáng, lá còn có màu hai tông. Chi tiết biến mất ở 25% là chi tiết thừa.
  11. Lề an toàn: không hạt nào chạm mép ô – giữ lề 4 px (vùng hồng). Khi Unity lấy mẫu texture, phần chạm mép có thể lẫn sang ô kế bên và hiện thành một sợi chỉ mảnh ở cạnh hạt.
  12. Xuất: ẩn nền đen, FileTệp›Export›Export AsXuất ra (tùy chỉnh) PNG Transparency (Độ trong suốt) → vfx_weather_particles.png đúng 256 × 256 px. Lưu PSD với 4 Group hàng để sau này thêm loại hạt mới.
  13. Đưa vào Unity 6: Texture Type Default, Alpha Is Transparency, Wrap Mode Clamp. Material Universal Render Pipeline/Particles/Unlit, Surface Type Transparent, Blending Mode (Chế độ hòa trộn) Alpha (lá và hoa không phát sáng). Tạo Particle System Rain: Shape Box rộng bằng màn hình đặt phía trên camera, Start Speed 12, Start Lifetime 1,5, Rate over Time 200. Bật Texture Sheet Animation: Mode Grid, Tiles X 4, Y 4, Animation Single Row, Row Mode Custom, Row 0, Frame over Time để hằng số 0 và Start Frame chọn Random Between Two Constants 0 – 3 – mỗi hạt lấy một vệt mưa ngẫu nhiên. Nhân bản thành Snow (Row 1, Start Speed 1, thêm Noise), Leaves (Row 2, Rotation over Lifetime 90°/s, Frame over Time chạy 0 → 4 để lá "lật") và Petals (Row 3).
Mẹo: Với mưa, đặt Renderer › Render Mode Stretched Billboard và Speed Scale 0,02: Unity kéo dài vệt theo hướng rơi, gió thổi nghiêng thì mưa cũng nghiêng theo. Khi đó hãy vẽ vệt mưa thẳng đứng thay vì nghiêng 15°.
Lỗi hay gặp: Vẽ một giọt nước hình tròn đẹp cho mưa. Ở tốc độ rơi trong game, giọt tròn trông như hạt bụi trôi. Mưa luôn là vệt dài, mảnh và hơi trong.

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

  • Mưa bắn tóe: thêm một hàng thứ năm (canvas 256 × 320) gồm 4 frame giọt mưa chạm đất tóe ra – dùng module Sub Emitters › Death để mỗi giọt mưa chết sinh ra một tia tóe.
  • Tuyết theo chiều sâu: tạo hai Particle System tuyết: lớp xa hạt nhỏ, chậm, Opacity 50% ở Sorting Layer nền; lớp gần hạt to, nhanh ở Sorting Layer VFX – cảnh có chiều sâu ngay.
  • Lá đổi mùa: nhân đôi hàng lá và kẹp Hue/Saturation (Sắc độ/Độ bão hòa) để có lá xanh mùa hè, lá đỏ mùa thu; đổi Row trong Unity theo mùa của màn chơi.

Mẹo & trick học nhanh

Một hàng, một loại hạt

Xếp mỗi loại hạt thành một hàng 4 biến thể. Trong Texture Sheet Animation chọn Single Row và chỉ định Row – một texture phục vụ bốn hệ thời tiết.

Transform Again cho hình đối xứng xoay

⌘ Cmd+⌥ Option+T xoay một bản sao, rồi ⌘ Cmd+⇧ Shift+⌥ Option+T lặp lại – sáu cánh tuyết, tám tia nắng hay mười hai cánh hoa cách đều tuyệt đối trong vài giây.

Hạt nhỏ, hình đơn giản

Thứ người chơi thấy là hàng trăm hạt chuyển động cùng lúc, không phải từng hạt. Hình đơn giản, tương phản rõ hiệu quả hơn hình chi tiết.

Kiểm tra nhanh

1 Vì sao mỗi hàng của sheet có 4 biến thể của cùng một loại hạt?
2 Trong Texture Sheet Animation, cấu hình nào để mọi hạt mưa chỉ lấy hình ở hàng đầu tiên?
3 Material nào phù hợp cho hạt lá rơi và cánh hoa?

Bài tập: Sheet 16 hạt thời tiết của bạn

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