Xuất Asset cho Game Engine
Xuất PNG sạch bằng Export As, Quick Export, Generator và Export Layers; đặt tên chuẩn; import đúng cài đặt vào Unity 6: sprite đơn, sprite sheet, animation và 9-slice.
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.
Bạn vẽ đẹp đến đâu nhưng xuất sai cách thì asset vẫn mờ, bị viền trắng hoặc lệch kích thước khi vào game. Bài này là "cầu nối" giữa Photoshop và engine.
Các cách xuất PNG trong Photoshop
Quick Export as PNG
xuất toàn bộ canvas một cú nhấp. Nhanh nhất khi file chỉ có một asset. Bạn có thể chuột phải vào layer/artboard trong panel Layers để Quick Export (Xuất nhanh) riêng layer đó.
Export As
(⌥ Option+⇧ Shift+⌘ Cmd+W) cho phép chọn định dạng, scale (0.5x, 1x, 2x…) và xem trước dung lượng. Chuột phải layer > Export As (Xuất ra (tùy chỉnh)) để xuất riêng từng layer, tự cắt bỏ vùng trong suốt xung quanh.
Generate Image Assets (Generator)
Bật . Từ đó, bất kỳ layer hoặc group nào có tên kết thúc bằng đuôi file sẽ được tự động xuất vào thư mục tên-file-assets cạnh file PSD mỗi khi bạn lưu.
sword.png– xuất PNG kích thước thật.200% sword@2x.png– xuất bản phóng 2x.sword.png, 50% sword_small.png– xuất hai bản trong một lần.
Export Layers to Files
xuất mỗi layer thành một file riêng, có tùy chọn Trim Layers. Hữu ích khi bạn có 30 icon trên 30 layer.
Power of two và texture atlas
GPU làm việc hiệu quả nhất với texture có cạnh là lũy thừa của 2: 32, 64, 128, 256, 512, 1024, 2048. Một số định dạng nén (như PVRTC trên iOS cũ, hoặc DXT/BC) yêu cầu kích thước chia hết cho 4 hoặc power of two. Thay vì nạp 50 file nhỏ, engine thường gộp chúng vào một texture atlas lớn (trong Unity là Sprite Atlas) để giảm số lần vẽ (draw call).
Quy tắc đặt tên
- Dùng snake_case, chữ thường, không dấu, không khoảng trắng:
hero_idle_01.png. - Dùng tiền tố theo loại:
chr_(nhân vật),ico_(icon),ui_(giao diện),tile_,bg_,fx_(hiệu ứng). - Đánh số có số 0 đứng trước:
_01,_02để sắp xếp đúng. - Hậu tố độ phân giải:
@1x,@2xcho màn hình thường và màn hình mật độ cao.
Kiếm mới (final) 2.png. Dấu tiếng Việt, khoảng trắng và ngoặc có thể gây lỗi trong code, trong hệ thống quản lý phiên bản (Git) hoặc trên hệ điều hành khác. Luôn đặt tên ASCII snake_case.Thực hành: import một sprite đơn vào Unity 6
- Kéo file PNG vào thư mục
Assets/Spritestrong cửa sổ Project. - Chọn file, ở Inspector đặt Texture Type là Sprite (2D and UI) và Sprite Mode là Single.
- Pixels Per Unit (Số pixel mỗi đơn vị): đặt bằng kích thước tile của bạn (ví dụ 32 hoặc 64) để 1 tile = 1 đơn vị trong thế giới game.
- Với pixel art: Filter Mode (Chế độ lọc ảnh) = Point (no filter) và Compression = None để không bị mờ hay sai màu. Với art vẽ tay mượt, có thể giữ Bilinear và nén chất lượng cao.
- Bấm Apply, kéo sprite vào Scene để kiểm tra.
Thực hành: sprite sheet và Animation trong Unity 6
Giả sử bạn xuất chr_slime_idle.png kích thước 256 × 64 px gồm 4 frame 64 × 64 xếp thành một hàng (xem bài Sprite sheet).
- Chọn PNG, ở Inspector đặt Texture Type = Sprite (2D and UI), Sprite Mode = Multiple, Pixels Per Unit = 64, Filter Mode = Point (no filter), Compression = None, rồi bấm Apply.
- Bấm nút Sprite Editor trong Inspector. (Nếu Unity báo thiếu, cài package 2D Sprite qua ; template 2D đã có sẵn.)
- Trong Sprite Editor mở menu Slice: Type = Grid By Cell Size, Pixel Size X = 64, Y = 64, Pivot (Điểm neo) = Bottom Center. Bấm Slice rồi Apply ở góc trên bên phải.
- Trong cửa sổ Project, bấm mũi tên cạnh file PNG: bạn thấy 4 sprite con
chr_slime_idle_0…_3. - Chọn cả 4 sprite con (giữ ⇧ Shift) và kéo thả vào Hierarchy hoặc Scene. Unity hỏi nơi lưu file
.anim: đặt tênslime_idle.anim. Unity tự tạo GameObject có Sprite Renderer, Animator và Animator Controller. - Mở để xem clip. Bật Show Sample Rate trong menu ba chấm và đặt Samples khoảng 8–12 cho idle nhẹ nhàng.
- Bấm Play (Cmd+P) để xem nhân vật chuyển động. Nếu chân nhân vật "nhảy" lên xuống, kiểm tra lại baseline trong Photoshop và Pivot Bottom Center.
Thực hành: 9-slice cho giao diện (UI) trong Unity 6
- Xuất khung nút hoặc bảng thoại nhỏ, ví dụ
ui_button_01.png96 × 48 px, góc bo nằm gọn trong 16 px mỗi cạnh. - Import với Texture Type = Sprite (2D and UI), Sprite Mode = Single, Mesh Type = Full Rect, Apply.
- Mở Sprite Editor, chọn sprite và nhập Border L = 16, R = 16, T = 16, B = 16 (hoặc kéo 4 đường màu xanh lá). Bấm Apply.
- Trong Canvas, thêm UI Image (), gán sprite và đặt Image Type = Sliced. Kéo giãn nút: 4 góc giữ nguyên, chỉ cạnh và phần giữa được kéo dài.
- Muốn dùng 9-slice cho vật thể trong thế giới game (không phải UI), chọn Sprite Renderer và đặt Draw Mode = Sliced.
Mẹo & trick học nhanh
Khi đã bật Generator, chỉ cần ⌘ Cmd+S là mọi layer có tên .png được xuất lại tự động.
Nếu sprite có viền trắng mờ trong engine, kiểm tra xem bạn có vẽ trên nền trắng rồi xóa không. Hãy vẽ trên layer trong suốt ngay từ đầu.
PNG là file "thành phẩm". Luôn giữ PSD gốc cạnh thư mục xuất để chỉnh sửa về sau.
Mọi sprite trong cùng một game nên dùng chung Pixels Per Unit, nếu không nhân vật và tile sẽ lệch tỉ lệ.