Tôi đang tạo một trò chơi dựa trên sprite và tôi có một loạt các hình ảnh mà tôi có được ở độ phân giải lớn một cách lố bịch và tôi chia tỷ lệ chúng thành kích thước sprite mong muốn (ví dụ 64x64 pixel) trước khi chuyển đổi chúng thành tài nguyên trò chơi, vì vậy khi vẽ sprite trong trò chơi, tôi không phải mở rộng nó.
Tuy nhiên, nếu tôi xoay sprite nhỏ này bên trong trò chơi (động cơ theo kiểu nông nghiệp), một số pixel đích sẽ bị nội suy và sprite sẽ bị nhòe.
Tất nhiên điều này phụ thuộc vào góc quay cũng như thuật toán nội suy, nhưng bất kể, không có đủ dữ liệu để lấy mẫu chính xác một pixel đích cụ thể.
Vì vậy, có hai giải pháp tôi có thể nghĩ ra. Đầu tiên là sử dụng hình ảnh khổng lồ ban đầu, xoay nó theo các góc mong muốn và sau đó thu nhỏ tất cả các biến thể được sắp xếp lại, và đặt chúng vào một tập bản đồ, có ưu điểm là khá đơn giản để thực hiện, nhưng ngây thơ tiêu tốn gấp đôi lượng sprite không gian cho mỗi vòng quay (mỗi vòng quay phải được ghi trong một vòng tròn có đường kính là đường chéo của hình chữ nhật của sprite ban đầu, có diện tích gấp đôi hình chữ nhật ban đầu, giả sử các hình vuông vuông).
Nó cũng có nhược điểm là chỉ có sẵn một bộ xoay được xác định trước, có thể ổn hoặc không tùy thuộc vào trò chơi.
Vì vậy, lựa chọn khác sẽ là lưu trữ một hình ảnh lớn hơn, và xoay và thu nhỏ trong khi kết xuất, dẫn đến câu hỏi của tôi.
Kích thước tối ưu cho sprite này là gì? Ý nghĩa tối ưu rằng một hình ảnh lớn hơn sẽ không có hiệu lực trong hình ảnh kết quả.
Điều này chắc chắn phụ thuộc vào kích thước hình ảnh, số lượng góc quay mong muốn mà không mất dữ liệu xuống 1/256, đây là mức chênh lệch màu tối thiểu có thể biểu thị.
Tôi đang tìm kiếm một câu trả lời chung về mặt lý thuyết cho vấn đề này, bởi vì thử một loạt các kích cỡ có thể ổn, nhưng không phải là tối ưu.