Divine Skins
Divine Skins Wiki

Material Atlas (Không dùng plugin)

Hướng dẫn này giải thích cách gộp material atlas bằng tay. Không cần plugin nào.

Intermediate
Thông tin

Trước khi bắt đầu, có một hướng dẫn khác về chủ đề này làm ra kết quả giống hệt mà lại nhanh hơn nhờ plugin ở đây. Đề phòng bạn bỏ lỡ.

Nhưng nếu:

  • Plugin bị hỏng hoặc gặp lỗi
  • Bạn lười cập nhật Blender lên bản 5.xxx (giống mình đây lol)
  • Bạn là kiểu người bài trừ plugin.

Vậy thì đọc tiếp thôi.

Đầu tiên, material atlas là gì? Lý tưởng nhất là ta muốn gộp toàn bộ texture của model 3D vào một ảnh duy nhất để nhập vào LMHT. Đôi khi lúc tải model về, phần material view của nó trông thế này:

Danh sách material của một model 3D vừa nhập vào
Ảnh 1. Danh sách material của một model 3D vừa nhập vào

Bạn thấy đấy, danh sách material dài dằng dặc và mỗi cái gắn với một ảnh chứa một phần texture của model. Ta sẽ rút gọn nó xuống còn đúng 1.

Muốn vậy, ta làm theo các bước sau:

  1. UV unwrap model vào một ảnh trống mới bằng một UV map mới.
  2. Thiết lập baking
  3. Bake texture vào ảnh trống của ta.
  4. Chỉnh sửa cuối và dọn dẹp

Bước 1

Thông tin

Đây có lẽ là phần khó nhất, nên làm xong bước này coi như bạn đã hoàn thành 80%.

Trong bài này ta sẽ bỏ qua phần “UV đẹp” và để Blender tự làm hết cho ta. Nhưng nhớ rằng luôn tốt hơn nếu bạn tự tạo seam cho model và unwrap chúng cẩn thận.

Trước tiên, tạo một UV map mới để chứa các thay đổi. Muốn vậy, qua panel bên phải trong Blender và nhấn vào hình tam giác xanh lá như hình:

Tạo UVMap mới
Ảnh 2. Tạo UVMap mới

Bạn đặt tên UV map mới tùy thích. Giờ bạn sẽ có thứ trông như thế này

Kết quả tạo UVMap mới
Ảnh 3. UVMap mới đã tạo
Chú ý

Để ý rằng nó được tô xanh nhưng biểu tượng camera lại đang tắt, khác với UVMap mặc định vốn bật sẵn, chỗ này quan trọng. Nó bảo Blender “Hiện UV của UVMap khi render, nhưng mọi thao tác hay chỉnh sửa được lưu vào cái đang tô xanh”.

Tiếp theo là qua tab UV Editing

Giao diện UV Editing
Ảnh 4. Giao diện UV Editing

Panel bên trái là nơi bạn chỉnh UV. Theo mặc định, một ảnh ngẫu nhiên trong số các material của model sẽ được chọn, nhưng cái ta muốn là tạo một ảnh mới từ đầu. Mình thường đặt ảnh cỡ 2K → 2048 x 2048.

Tạo ảnh mới cho texture của ta
Ảnh 5. Ảnh texture mới

Sau khi tạo ảnh, chắc chắn rằng bạn đang thực sự chỉnh sửa đúng ảnh đó và cũng đang dùng UV map mới vừa tạo:

Kết quả tạo ảnh mới
Ảnh 6. Kết quả tạo ảnh

Giờ ta phải sắp xếp lại UV cho gọn gàng. Ngay lúc này nếu bạn chọn một phần của model, bạn sẽ thấy một mớ hỗn độn:

UV lộn xộn
Ảnh 7. UV lộn xộn

Đừng lo, quá trình này gần như tự động.

Chọn toàn bộ model 3D bằng phím “a”, rồi nhấn “u” và chọn “Smart UV Project”. Chép y hệt thiết lập của mình, hoặc chỉnh theo ý bạn nếu cần.

Đang sửa mớ UV lộn xộn
Ảnh 8. Sửa mớ UV lộn xộn

Giờ bạn sẽ có thứ trông như thế này

Kết quả UV smart project
Ảnh 9. Kết quả UV smart project
Chú ý

Nhìn thì có vẻ “ổn” nhưng bạn phải cẩn thận, vì UV unwrap tự động không hoàn hảo và có thể có vài chỗ chồng lấn.

Ví dụ, nếu phóng to góc dưới bên trái, ta thấy nó chưa được unwrap đẹp cho lắm

Vấn đề có thể gặp với UV smart project
Ảnh 10. Vấn đề có thể gặp với UV smart project

Sửa thế nào? Dễ thôi. Trước tiên, chọn phần bị lỗi. Muốn vậy, bạn cần bật cái biểu tượng nhỏ ở góc trên bên trái của ảnh dưới. Cũng nhớ chuyển sang chế độ “face selection” (biểu tượng có gạch chân)

Vấn đề có thể gặp với UV smart project
Ảnh 11. Bật chọn UV hai chiều đảo ngược

Giờ mọi UV island sẽ hiện ở bên trái. Bạn qua vùng có vấn đề, di chuột lên một face ở đó rồi nhấn L để chỉ chọn island đó. Bạn sẽ thấy nó cũng sáng lên trên model 3D. Ta unwrap riêng cái này thôi: sau khi chọn nó, nhấn U nhưng lần này chọn “Unwrap minimum stretch”.

Kết quả unwrap minimum stretch của vùng đã chọn

Ảnh 12. Kết quả unwrap minimum stretch của vùng đã chọn

Bạn có thể chỉnh cỡ bằng tay cho vừa các khoảng trống trong ảnh, hoặc để Blender làm hộ! Với cách thứ hai, nhấn “A” lần nữa để chọn lại tất cả. Rồi vào menu UV và chọn pack islands

Pack islands lần nữa
Ảnh 13. Pack islands lần nữa
Thông tin

Cố dùng cùng giá trị spacing như trong ảnh 8

Pack islands lần nữa (2)
Ảnh 14. Pack islands lần nữa (2)

UV của bạn giờ đã sẵn sàng. Qua phần baking thôi.

Bước 2

Baking bảo Blender chuyển một số phần trong cách model 3D đang hiển thị sang một nơi khác, thường là một ảnh texture.

Với bước này ta dùng tab shading từ menu tab ở đầu cửa sổ Blender.

Ở bên trái, nhớ mở ảnh “one_texture” ta tạo lúc nãy, giờ nó vẫn còn màu đen.

Tab shading
Ảnh 15. Tab shading

Giờ đến phần nhàm chán. Qua panel bên phải, phần material view, chọn cái đầu tiên. Rồi trong node panel (các ô ngay dưới model 3D), nhấn F3 và gõ “Image texture”

Tạo image texture mới
Ảnh 16. Tạo image texture mới

Giờ chọn ảnh “one_texture” của ta từ biểu tượng “picture”. Bạn sẽ có thứ trông như thế này

Kết quả tạo image texture mới
Ảnh 17. Kết quả tạo image texture mới

Nhân tiện, mình thích đổi color space sang sRGB, phần còn lại cứ để nguyên.

Để ý thấy có viền sáng trắng quanh ô không? Nghĩa là nó đang được chọn, chỗ này cũng quan trọng cho việc bake.

Xong rồi thì nhấn ctrl+c để chép node, rồi lần lượt qua từng material còn lại trong danh sách bên phải và nhấn ctrl+v để dán vào.

Nếu làm đúng, giờ bạn sẽ có một ô giống như Ảnh 17 cho mỗi material. Nhớ chọn hết tất cả chúng.

Bước 3

Qua tab render ở panel bên phải

Tab render
Ảnh 18. Kết quả tạo image texture mới
Chú ý

Đổi render engine từ EEVEE sang Cycles, vì EEVEE không hỗ trợ baking.

Vào submenu “Bake” ở đó và chọn các thiết lập sau:

Thiết lập submenu bake
Ảnh 19. Thiết lập submenu bake

Diffuse map bake màu của texture. Ta tắt direct và indirect vì không muốn ánh sáng xen vào.

Trước khi nhấn nút “Bake”, chắc chắn những điều này
  1. UV map đang chọn là cái bạn mới tạo.
  2. Có một node image texture mới đang chọn cho mỗi material.
  3. Model 3D của bạn cũng đang được chọn
Kiểm tra thiết lập bake
Ảnh 20. Kiểm tra thiết lập bake

Sẵn sàng rồi thì nhấn bake.

Nếu bạn làm đúng theo hướng dẫn, giờ bạn sẽ có thứ trông như thế này

Kết quả bake
Ảnh 21. Kết quả bake
Cẩn thận

Lưu ảnh về máy nếu không bạn sẽ mất nó.

Lưu kết quả
Ảnh 22. Lưu kết quả

Bước 4

Đến lúc dọn dẹp và thử kết quả.

Quay lại giao diện layout (ở thanh menu trên cùng). Model 3D của bạn giờ trông đã ổn, ta phá nó một chút nào. Trước tiên, tạo một material mới để chứa texture mới của ta.

Tạo material mới
Ảnh 23. Tạo material mới

Đặt tên cho nó, ví dụ “one_texture”, rồi chuyển sang layout shading và nối các node như trong ảnh dưới.

Nối các node
Ảnh 24. Nối các node

Quay lại tab layout và xóa hết material trừ cái ta vừa tạo. Bạn sẽ có một mớ hỗn độn như thế này

Ngày tận thế của material
Ảnh 25. Ngày tận thế của material

Còn nhớ menu UV map ở ảnh 2 chứ? Đổi biểu tượng camera sao cho UV map mới của bạn là cái đang bật, rồi xem phép màu diễn ra.

Xong

Giờ đến bước cuối, xóa “UVMap” cũ và đổi tên cái mới thành đúng tên “UVMap”. Mình không chắc lắm nhưng đọc đâu đó thấy nói tên UVMap quan trọng để skin chạy được trong LMHT.


On this page

Written by the Divine Skins community. Open source on GitHub.