UltKit

Chuyển PNG sang VTF

Tạo file Valve Texture Format từ ảnh PNG để làm spray tùy chỉnh, skin vũ khí hoặc texture bản đồ trong game dùng engine Source. Chuẩn bị ảnh PNG có kích thước là lũy thừa của 2, chuyển đổi tại đây, và engine sẽ tải được file kết quả.

Chuyển đổi ảnh

hoặc thả tệp JPG, JPEG, JPE … vào đây ·

Tối đa 95 MB mỗi tệp· Tối đa 20 tệp· Xóa sau 30 phút

Đầu ra

Tệp được xử lý trên máy chủ của chúng tôi và bị xóa sau 30 phút.

Cách sử dụng công cụ này

  1. 1

    Tải lên ảnh PNG có kích thước lũy thừa của 2

    Thêm tối đa 20 ảnh PNG, mỗi ảnh 95 MB. Các kích thước như 256 × 256 hoặc 512 × 256 px là kích thước Source yêu cầu, và vùng trong suốt vẫn được giữ nguyên.

  2. 2

    Kiểm tra cài đặt kích thước

    Đổi kích thước ảnh đầu ra đang để Giữ kích thước gốc. Chọn Đặt chiều rộng và nhập 256, 512 hoặc 1024 nếu ảnh PNG vuông cần điều chỉnh.

  3. 3

    Nhấn Chuyển sang VTF

    Tải xuống các file .vtf, thêm VMT nếu game cần, rồi sao chép vào thư mục materials của game. File tải lên sẽ bị xóa sau 30 phút.

Các game engine Source chỉ tải texture dưới dạng VTF, và yêu cầu cả hai cạnh của ảnh là lũy thừa của hai.

Vì sao game Source cần VTF thay vì PNG

Valve tạo ra VTF cho engine Source, ra mắt cùng Half-Life 2 năm 2004 và vẫn chạy Garry's Mod, Team Fortress 2, Counter-Strike: Source, Left 4 Dead 2 cùng nhiều bản mod. Engine không giải mã PNG hay JPG khi chạy. Nó cần dữ liệu texture đã được sắp xếp sẵn cho card đồ họa, thường nén DXT và có chuỗi mipmap gồm các bản sao nhỏ hơn cho bề mặt ở xa, và VTF là định dạng chứa dữ liệu đó.

Quy tắc lũy thừa của hai cũng xuất phát từ thiết kế này. Mipmap giảm một nửa ảnh ở mỗi bước, và các định dạng nén bằng GPU làm việc theo khối 4 × 4 pixel, nên các kích thước như 512 hay 1024 chia hết gọn đến cuối. Ảnh PNG 500 × 500 px phá vỡ quy luật đó, và công cụ hoặc từ chối, hoặc kéo giãn ảnh lên kích thước hợp lệ kế tiếp, làm mờ chi tiết nhỏ.

Kích thước PNG sang VTF cho spray, skin và texture

1:1

128 × 128 px

Spray nhỏ

An toàn trên máy chủ có quy định kích thước chặt

1:1

256 × 256 px

Spray tiêu chuẩn

Kích thước spray phổ biến nhất

2:1

512 × 256 px

Decal hoặc biển hiệu rộng

Hai cạnh có thể khác nhau

1:1

1024 × 1024 px

Skin vũ khí hoặc vật thể

Khớp với kích thước texture gốc

1:1

2048 × 2048 px

Texture thế giới chi tiết

File lớn; chỉ dùng khi cần

PNG

Ảnh PNG (Portable Network Graphics)

PNG là định dạng ảnh raster không mất dữ liệu (lossless), được PNG Development Group công bố năm 1996 và sau đó được W3C và ISO chuẩn hóa. Định dạng giữ nguyên chính xác từng điểm ảnh, hỗ trợ đầy đủ kênh alpha cho nền trong suốt và hiển thị văn bản, cạnh sắc nét và mảng màu phẳng mà không bị nhiễu. Độ chính xác đó khiến PNG lý tưởng cho ảnh chụp màn hình, logo, biểu tượng và đồ họa giao diện. Cái giá phải trả là dung lượng: ảnh chụp lưu dưới dạng PNG thường lớn gấp nhiều lần cùng bức ảnh ở dạng JPEG hoặc WebP. Mọi trình duyệt, hệ điều hành và trình chỉnh sửa đều mở được tệp PNG.

Nén
Không mất dữ liệu
Độ trong suốt
Có
Ảnh động
Không
Ra mắt
1996 · PNG Development Group
Công cụ chuyển đổi PNG

VTF

Texture Valve (VTF)

VTF là định dạng texture của Source engine do Valve phát triển, được dùng trong các game như Half-Life 2, Counter-Strike: Source, Team Fortress 2 và Garry's Mod. Định dạng có thể chứa mipmap, kênh alpha cho nền trong suốt và nhiều khung hình cho texture động, được nén bằng các định dạng GPU hoặc lưu không nén. Người làm mod dùng VTF cho spray, skin và vật liệu bản đồ. Ngoài các công cụ và plugin của Source, hầu như không phần mềm nào mở được định dạng này.

Nén
Có hoặc không mất dữ liệu
Độ trong suốt
Có
Ảnh động
Có
Ra mắt
2004 · Valve
Công cụ chuyển đổi VTF

Chuyển PNG sang VTF khi hình đã hoàn thiện cần trở thành spray, skin hoặc texture bản đồ mà game dùng engine Source có thể tải; chiều VTF sang PNG dùng để lấy texture có sẵn của game ra để xem hoặc chỉnh sửa.

Đưa file VTF vào game

  1. Chuẩn bị ảnh PNG

    Cắt theo hình dạng cuối cùng và đặt mỗi cạnh là lũy thừa của hai.

  2. Chuyển sang VTF

    Tải lên đây và nhấn Chuyển sang VTF; độ trong suốt được giữ nguyên.

  3. Đặt vào materials

    Sao chép file VTF và VMT vào thư mục tương ứng, hoặc nhập làm spray.

Với spray, hầu hết game nhiều người chơi của Source có nút nhập trong thẻ Multiplayer của menu tùy chọn, và game sẽ tự ghi VMT cho bạn. Hãy giữ spray ở mức vừa phải: các bản Source cũ từ chối file spray trên khoảng 120 KB, nên thiết kế 256 × 256 px là lựa chọn thường gặp, và máy chủ còn có thể đặt quy định riêng.

Với bản reskin, trước tiên hãy mở texture gốc của game bằng VTF sang PNG, vẽ đè lên với cùng kích thước để vẫn khớp bản đồ UV của model, rồi chuyển PNG của bạn ngược lại tại đây. Khi ảnh nguồn là ảnh chụp rộng, hãy làm vuông bằng cắt ảnh trước khi đổi kích thước, vì Đổi kích thước ảnh đầu ra giữ nguyên tỉ lệ và không thể tự biến 1920 × 1080 thành hai lũy thừa của hai. Nếu dự án nhắm tới game DirectX, PNG sang DDS tạo file texture tương đương.

Câu hỏi về chuyển PNG sang VTF

Ảnh PNG cần kích thước bao nhiêu trước khi chuyển sang VTF?

Cả hai cạnh phải là lũy thừa của hai: 64, 128, 256, 512, 1024 hoặc 2048 px. Hai cạnh không cần bằng nhau, nên 512 × 256 là hợp lệ. Với spray, 256 × 256 px là kích thước hầu hết hướng dẫn của cộng đồng khuyên dùng vì các game Source đời cũ giới hạn dung lượng file spray.

Độ trong suốt của PNG có được giữ lại trong VTF không?

Có, kênh alpha được ghi vào file VTF. Với spray, điều đó có nghĩa là vùng bên ngoài hình của bạn vẫn trong suốt trên tường, thay vì hiện một khung nền màu.

Ngoài file VTF, tôi có cần thêm file VMT không?

Với texture bản đồ, model và decal thì có. VMT là một file văn bản ngắn nêu tên shader và trỏ tới texture bằng $basetexture. Với spray nhập qua menu tùy chọn của game, game sẽ tự tạo VMT.

Tôi có thể chọn kiểu nén DXT1 hoặc DXT5 tại đây không?

Trang này không có tùy chọn chọn kiểu nén. Nếu game hoặc máy chủ yêu cầu một định dạng cụ thể, ví dụ DXT1 để giữ spray nhỏ, hãy mở file VTF trong VTFEdit và lưu lại với định dạng đó cùng các thiết lập mipmap bạn cần.

Vì sao texture tùy chỉnh của tôi hiện thành ô caro tím đen?

Họa tiết đó là dấu hiệu thiếu texture của Source. Engine không tìm thấy file VTF theo đường dẫn mà VMT nêu, hoặc thiếu VMT. Hãy kiểm tra thư mục trong materials và cách viết trong $basetexture, vốn không có phần mở rộng .vtf.

Có thể tạo spray động từ các file PNG không?

VTF động lưu nhiều khung hình trong một file, cần công cụ ghép khung hình, chẳng hạn chức năng nhập chuỗi ảnh đánh số của VTFEdit. Trang này chuyển mỗi ảnh PNG thành một file VTF một khung hình.