Lộ trình › Key art & marketing cho game › Bài 197/218

Dự án 9: Texture từ ảnh chụp thành tile liền mạch 1024 × 1024

Biến ảnh tự chụp bức tường đá (hoặc ảnh CC0) thành texture lặp hoàn hảo cho game: chụp đúng cách, Perspective Crop, cân sáng bằng High Pass, Filter Offset lộ đường nối, vá bằng Clone Stamp, xóa chi tiết lặp – rồi dùng Wrap Mode Repeat trong Unity 6.

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

Nhiều game 2D – nhất là top-down, sidescroller phong cách bán tả thực, menu nền – dùng texture lấy từ ảnh chụp: đá, gỗ, đất, vải. Ảnh chụp cho chất liệu thật mà vẽ tay mất hàng giờ. Nhưng ảnh chụp thẳng không lặp được: sáng loang một góc, mép không khớp nhau, có một viên đá "đặc biệt" lặp lại thành họa tiết lộ liễu. Dự án này dạy quy trình chuẩn biến ảnh thành tile liền mạch (seamless) – kỹ năng còn dùng cho bộ nền marketing, họa tiết UI và photobash ở các dự án sau. Và một nguyên tắc bắt buộc: chỉ dùng ảnh tự chụp hoặc ảnh có giấy phép cho phép dùng thương mại.

Hình mẫu

Từ trái sang: ảnh tường đá tự chụp hơi nghiêng, sáng loang góc phải có bụi cỏ; tile đã cắt vuông và cân sáng; bản Offset với chữ thập hồng lộ đường nối; bản lặp 3 × 3 không thấy đường nối; bên dưới là bảng Inspector của Unity với Wrap Mode Repeat và Max Size 1024
Từ trái sang: ảnh tường đá tự chụp hơi nghiêng, sáng loang góc phải có bụi cỏ; tile đã cắt vuông và cân sáng; bản Offset với chữ thập hồng lộ đường nối; bản lặp 3 × 3 không thấy đường nối; bên dưới là bảng Inspector của Unity với Wrap Mode Repeat và Max Size 1024

Thời gian ước tính: khoảng 60 phút. Kết quả là tile 1024 × 1024 px – lũy thừa của 2 để Unity nén tốt và tạo mipmap chuẩn.

Chuẩn bị

  • Ảnh nguồn: dùng file luyện tập (ảnh do khóa học tự tạo, bạn dùng tự do) hoặc tự chụp: đứng thẳng góc với bức tường, trời râm hoặc trong bóng râm (ánh sáng đều, không bóng đổ gắt), không bật đèn flash, chụp độ phân giải cao nhất, lùi đủ xa để có ít nhất 4–6 hàng đá.
  • Nguồn ảnh CC0: các thư viện texture như Poly Haven hay ambientCG phát hành dưới CC0 (dùng thương mại, không cần ghi công). Unsplash và Pexels không phải CC0 mà có giấy phép riêng: được dùng miễn phí cả thương mại, nhưng không được bán lại ảnh nguyên trạng. Luôn lưu đường link và ngày tải.
  • Công cụ chính: Perspective (Phối cảnh) Crop (Cắt khung) Tool (C), ImageHình ảnh›AdjustmentsĐiều chỉnh màu›Shadows/Highlights, FilterBộ lọc›OtherKhác›High Pass, FilterBộ lọc›OtherKhác›OffsetDịch chuyển (bọc vòng), Clone Stamp (Con dấu nhân bản) (S), Healing Brush (Cọ chữa lành) (J), EditChỉnh sửa›Content-Aware Fill, EditChỉnh sửa›Define Pattern.
  • Thiết bị: bước vá đường nối bằng Clone Stamp là nơi bút Wacom, XP-Pen, Huion hoặc iPad + Apple Pencil (Bút chì) phát huy nhất – bật Pen Pressure (Lực nhấn bút) cho Opacity (Độ mờ đục) để hòa mép nhẹ nhàng. Dùng chuột: đặt Clone Stamp Hardness (Độ cứng cọ) 0%, Opacity 50%, Flow (Lưu lượng) 50% và tô nhiều lớp mỏng – chậm hơn chút nhưng kết quả tương đương.
MàuMã hexDùng cho
#8a8070Đá sáng – tông trung bình mục tiêu
#6f685eĐá tối
#3a352eMạch vữa
#b8ad98Cạnh trên nhận sáng
#808080Xám trung tính – nền của layer High Pass

Các bước

Sáu giai đoạn: ảnh chụp gốc, cắt vuông và nắn thẳng bằng Perspective Crop, cân sáng đều bằng High Pass, Offset để lộ đường nối hình chữ thập, vá đường nối bằng Clone Stamp, lặp thử 3 × 3 và cài đặt trong Unity
Sáu giai đoạn: ảnh chụp gốc, cắt vuông và nắn thẳng bằng Perspective Crop, cân sáng đều bằng High Pass, Offset để lộ đường nối hình chữ thập, vá đường nối bằng Clone Stamp, lặp thử 3 × 3 và cài đặt trong Unity
  1. Chỉnh ảnh gốc: mở ảnh, chuyển thành Smart Object (Đối tượng thông minh). FilterBộ lọc›Camera Raw Filter: Highlights −40, Shadows +40 để nén dải sáng; Texture +10. Bỏ hết bão hòa thừa (Vibrance −10) – texture game cần màu trung tính để đặt vào nhiều cảnh.
  2. Cắt vuông và nắn thẳng: Perspective Crop Tool (giữ chuột trên Crop Tool), bấm bốn góc theo hàng đá để các mạch vữa ngang thật sự nằm ngang. Đặt W và H trên thanh Options là 1024 px. Nhấn ↩ Return. Ảnh giờ vuông, thẳng góc như chụp chính diện.
  3. Chọn vùng không có vật lạ: nếu có cỏ, vết sơn, ổ điện… dùng Spot Healing Brush (J) hoặc Lasso (Dây thòng lọng) + EditChỉnh sửa›Content-Aware Fill để xóa. Texture lặp lại hàng trăm lần – một bụi cỏ sẽ thành một hàng bụi cỏ.
  4. Cân sáng bằng High Pass: nhân đôi layer (⌘ Cmd+J), FilterBộ lọc›OtherKhác›High Pass Radius khoảng 60–100 px – chỉ giữ lại chi tiết nhỏ, xóa vùng sáng loang lớn. Thêm layer dưới tô xám #808080 hoặc màu trung bình của đá, đặt layer High Pass chế độ Linear Light Opacity 50%. Thử bật tắt: góc sáng loang biến mất, chất đá vẫn còn.
  5. Cân lại màu tổng: Adjustment Layer (Lớp điều chỉnh) Curves đưa giá trị trung bình về khoảng #8a8070 (dùng Eyedropper (Ống hút màu) với Sample Size "31 by 31 Average" để đo). Texture quá sáng hoặc quá tối sẽ khó dùng chung với các asset khác.
  6. Gộp và Offset (Dịch chuyển (bọc vòng)): gộp tất cả thành một layer mới (⌘ Cmd+⌥ Option+⇧ Shift+E – Stamp Visible). FilterBộ lọc›OtherKhác›OffsetDịch chuyển (bọc vòng): Horizontal +512, Vertical +512, chọn Wrap Around. Bốn mép ảnh giờ gặp nhau ở giữa thành một chữ thập – đường nối lộ rõ.
  7. Vá đường nối dọc: Clone Stamp (S), Sample: Current Layer, Hardness 0–20%, cỡ 80–120 px. ⌥ Option + bấm để lấy mẫu từ vùng đá xa đường nối, rồi tô theo mạch vữa. Ưu tiên nối mạch vữa trước – mắt người nhận ra đường nối qua các đường thẳng bị gãy.
  8. Vá đường nối ngang: làm tương tự với đường ngang. Ở chỗ giao giữa, dùng Healing Brush (J) để hòa màu. Không tô gần mép ảnh (lúc này mép là phần đã liền sẵn từ ảnh gốc).
  9. Offset lần hai để kiểm tra: FilterBộ lọc›OtherKhác›OffsetDịch chuyển (bọc vòng) lại +512/+512 (về vị trí cũ) rồi thử thêm +256/+256. Ở mọi vị trí, không được thấy đường thẳng nào bị gãy hay vùng mờ do Clone Stamp.
  10. Xóa chi tiết lặp lộ: EditChỉnh sửa›Define Pattern, file mới 3072 × 3072, tô bằng Pattern (EditChỉnh sửa›FillTô đầy / Độ phủ bên trong › Contents: Pattern). Nheo mắt nhìn: viên đá nào quá sáng, vết nứt nào quá đặc biệt tạo thành "hàng lối"? Quay lại tile, làm dịu chúng bằng Clone Stamp hoặc Dodge (Làm sáng)/Burn nhẹ.
  11. Kiểm tra cuối: lặp 3 × 3 phải trông như một bức tường lớn tự nhiên – không đường nối, không đốm sáng lặp, không viên đá nổi bật. Kiểm tra cả ở zoom 25% (cách người chơi thấy texture).
  12. Xuất: FileTệp›Export›Export AsXuất ra (tùy chỉnh), PNG (hoặc JPG Quality 90 nếu không cần alpha), đúng 1024 × 1024 → stone_wall_1024.png. Ghi nguồn ảnh gốc vào file sources.txt cạnh texture.
  13. Dùng trong Unity 6: kéo PNG vào Project. Inspector: Texture Type Default (hoặc Sprite nếu dùng cho Sprite Renderer chế độ Tiled), Wrap Mode: Repeat, Max Size 1024, Compression Normal Quality. Với Sprite Renderer: Draw Mode Tiled, Mesh Type Full Rect để texture lặp khi kéo dài sprite.
Mẹo: Chụp texture vào ngày trời râm, mang theo một tờ giấy xám hoặc trắng đặt trong khung hình một tấm – sau này dùng Eyedropper của Curves/Levels nhấp vào tờ giấy để cân bằng trắng chính xác.
Lỗi hay gặp: Lấy ảnh từ Google Images, Pinterest hay ảnh texture "free" trên các trang không rõ nguồn. Ảnh trên mạng mặc định có bản quyền của người chụp; dùng trong game thương mại là vi phạm. Chỉ dùng ảnh tự chụp, CC0, hoặc giấy phép ghi rõ cho phép dùng thương mại – và lưu bằng chứng giấy phép.

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

  • Biến thể tile: làm 3 biến thể từ cùng ảnh (đá rêu, đá nứt, đá ẩm) có mép giống hệt nhau – chỉ sửa vùng giữa. Trộn ngẫu nhiên trong Tilemap giúp nền bớt lặp.
  • Normal map cho ánh sáng 2D: FilterBộ lọc›3D›Generate Normal Map (nếu bản Photoshop của bạn còn tính năng 3D) hoặc dùng công cụ ngoài, rồi gán vào Secondary Textures của Sprite trong URP 2D để đá phản ứng với Light 2D.
  • Gỗ và vải: lặp lại quy trình với ảnh ván gỗ – chú ý vân gỗ chạy một chiều nên chỉ cần vá kỹ đường nối dọc theo thớ.

Mẹo & trick học nhanh

Chụp đúng là đã xong một nửa

Thẳng góc, trời râm, không flash, nhiều hàng đá trong khung. Ảnh chụp tốt giúp bạn bớt hàng chục phút cân sáng và nắn phối cảnh.

Offset là phép thử

Filter › Other › Offset với Wrap Around kéo mép vào giữa. Nếu sau khi vá, Offset ở mọi vị trí đều không thấy đường nối – tile của bạn đã liền mạch.

Biết giấy phép của ảnh

CC0 (Poly Haven, ambientCG) là tự do nhất. Unsplash, Pexels có giấy phép riêng cho dùng thương mại nhưng cấm bán lại ảnh nguyên trạng. Ảnh không rõ nguồn – không dùng.

Kiểm tra nhanh

1 Filter Offset (+512, +512, Wrap Around) trên tile 1024 dùng để làm gì?
2 High Pass ở chế độ Linear Light trên nền xám giúp gì cho texture?
3 Ảnh từ Unsplash có phải ảnh CC0 không?
4 Trong Unity 6, thiết lập nào giúp texture lặp khi phủ lên vùng lớn?

Bài tập: Tile đá (hoặc gỗ) liền mạch 1024 × 1024

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