Làm thế nào để phân chia một khối gạch sprite 2D thành các họa tiết riêng lẻ?


7

Tôi thấy rất nhiều danh mục sprite cho các trò chơi được cung cấp dưới dạng hình ảnh PNG đơn lẻ, như hình dưới đây. nhập mô tả hình ảnh ở đây

Tôi quan tâm nếu tôi phải tự tạo các ô từ đó hoặc nếu có chương trình nào đó có thể chia nó thành các kết hợp ô khác nhau cho tôi? Ví dụ, với sự kết hợp gạch bên dưới, tôi sẽ phải tạo ra một bề mặt cỏ phẳng và 8 kết hợp khác với các cạnh khác nhau. Có một cái gì đó có thể tự động hóa nhiệm vụ này?

nhập mô tả hình ảnh ở đây


Hãy thử tìm kiếm công cụ bản đồ kết cấu nVidia. Bạn cũng có thể tìm kiếm các công cụ atlas kết cấu nguồn mở khác. Ý tưởng là ánh xạ các tập hợp tọa độ UV khác nhau đến các phần khác nhau của kết cấu. Tôi tin rằng nhiều trong số các công cụ này hoạt động trên một đầu vào của nhiều hình ảnh riêng biệt và tạo ra kết cấu cuối cùng và một tập tin bản đồ được định dạng tuần tự hóa.
RandyGaul

1
Tôi đã tìm thấy renderhjs.net/shoebox , phân tách tập bản đồ ở trên thành các họa tiết không rõ ràng như bên dưới, nhưng dường như không tạo ra 9 mảnh từ một sprite như tôi đã liệt kê: /
Alex Stone

Oh, bạn có muốn tạo hình ảnh riêng biệt từ một tập bản đồ kết cấu đã được thực hiện? Tôi không biết về bất kỳ chương trình nào để làm điều này, xin lỗi :(. Với một bản đồ kết cấu, một công cụ chắc chắn có thể được tạo ra. Tuy nhiên, bạn rất khó tìm thấy một công cụ để tách một kết cấu thô thành các kết cấu riêng biệt (kể từ khi tìm thấy các hình ảnh riêng biệt trong một kết cấu duy nhất là không tầm thường).
RandyGaul

Tôi không rõ ràng nếu bạn muốn sắp xếp lại các ô bằng tay hoặc nếu bạn muốn làm như vậy theo chương trình trong thời gian chạy.
Emanuele Paolini

1
bản sao có thể có của Cách phân tách bảng sprite
bummzack 16/12/13

Câu trả lời:


8

Truy cập piskelapp.com, sau đó chọn 'Tạo Piskel mới'. Nhấp vào menu bên phải và chọn nhập hình ảnh của riêng bạn; chọn nó, sau đó đặt số lượng kích thước của mỗi ô. Sau khi chỉnh sửa xong, hãy chọn Xuất trong các hình ảnh riêng biệt. Làm xong!


2

Nếu bạn đang bắt đầu với một ô có kích thước và bố cục thông thường (như trong ví dụ của bạn ) và mục tiêu của bạn là tạo bản đồ ô vuông trong Tiled , thì không cần sử dụng các công cụ của bên thứ ba. Tiled hỗ trợ những điều này dễ dàng và dễ dàng.

Có một vài hướng dẫn về cách sử dụng Tiled như thế này , nhưng nó rất đơn giản:

  • Tạo bản đồ mới, chọn kích thước và kích thước ô của nó
  • Thêm một ô mới từ tệp, nhập kích thước ô của nó và lề / khoảng cách, nếu có (không có trong ví dụ)

    Hộp thoại lát mới

  • Bắt đầu sơn gạch. Gạch tải của bạn nằm trong thanh bên.

    Màn hình chính lát gạch

Ngoài ra còn có các tính năng tiện dụng khác trong Tiled; những cây bạn nhìn thấy trong ô sẽ được tải dưới dạng các ô riêng biệt, nhưng bạn có thể sử dụng các tính năng của Tiled's Brush để vẽ những cây đó trong một lần. Ngoài ra còn có Công cụ địa hình giúp bạn vẽ chuyển tiếp các ô, sau khi bạn đã xác định các ô viền.

Từ đó, tốt nhất là xử lý toàn bộ bản đồ ô vuông, thông qua các khung hỗ trợ bản đồ TMX , thay vì các ô riêng lẻ. Ví dụ: bạn sẽ tải và kết xuất các lớp gạch hoặc vẽ tất cả các ô "tường" của mình trong cùng một lớp và thực hiện va chạm lớp. Thường không cần phải phân chia một bộ gạch được ủy quyền chính xác thành các ô riêng lẻ.


2

Sau một hồi vật lộn, tôi tìm thấy thông tin này:

1) Shoebox là một ứng dụng lấy bản đồ như tôi đã liệt kê trong câu hỏi và cố gắng giải nén Sprites , điển hình là toàn bộ địa hình

Cài đặt speb Shoebox

nhập mô tả hình ảnh ở đây

2) Điều tôi muốn làm tiếp theo là chia hình ảnh này thành 9 ô và có thể ghép lại chúng theo nhiều cách khác nhau. Shoebox dường như cũng có thể làm điều này ( Extract Tiles ). Điều này tạo ra một tệp TMX

Cài đặt bitmap Shoebox

3) Dường như bước tiếp theo là nhập bản đồ .TMX kết quả vào trình chỉnh sửa bản đồ ô vuông , như Tiled: http://www.mopeditor.org/doad.html . Từ video, có vẻ như tôi sẽ có thể sắp xếp lại các ô và tạo các kết hợp khác nhau mà tôi cần.

Dường như ShoeBox có một lỗi trên mac khi nó gắn tên thư mục trước tên tệp png (Dòng 4) trong tệp TMX, vì vậy tôi phải xóa thủ công:

name="[REMOVE FOLDER]base_.... 

tập tin .tmx

Danh sách các khung hỗ trợ bản đồ TMX: https://github.com/bjorn/tiled/wiki/Support-for-TMX-maps

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.