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.
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: (⌘ 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
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, (⌘ 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 – 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àu | Mã hex | Dùng cho |
|---|---|---|
#e6f4ff | Mưa sáng – lõi vệt mưa | |
#4f8fe0 | Mưa đậm – viền vệt mưa | |
#ffffff | Tuyết lõi | |
#9cc7ef | Tuyết viền, glow lạnh | |
#ffd166 | Lá vàng – mảng sáng | |
#f08a24 | Lá cam – màu chính | |
#6b2a12 | Gân lá, viền lá tối | |
#ff9ec4 | Cánh hoa đào |
Các bước
- Tạo file và lướ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.
- 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. - Ramp vệt mưa: chồng lên mỗi vệt hai đường cùng hướng: 6 px
#4f8fe0và 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. - Chấm tuyết mềm (ô 4): Ellipse 24 px
#9cc7ef, trên đó Ellipse 18 px#e6f4ffvà 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. - 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. - 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ẽ.
- 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. - 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
#ffd166Opacity (Độ mờ đục) 90% – mặt lá hứng sáng. Gân giữa là một đường 1,5 px#6b2a12chạy từ cuống ra 85% chiều dài lá. - 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#a832652 px. Lớp sáng#ffc4dcở giữa cánh và một vệt#fff0f6nhỏ gần gốc. Xoay 4 cánh ở 4 góc khác nhau trong ô 12–15. - 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.
- 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.
- Xuất: ẩn nền đen, 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. - Đư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).
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
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.
⌘ 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.
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.