Hình ảnh bên dưới hiển thị hai họa tiết được hiển thị với lấy mẫu điểm trên nền:
- Hộp sọ bên trái không có xoay / chia tỷ lệ được áp dụng cho nó, vì vậy mọi pixel đều khớp hoàn hảo với nền.
- Hộp sọ bên phải được xoay / thu nhỏ và điều này dẫn đến các pixel lớn hơn không còn được căn chỉnh theo trục .
Làm cách nào tôi có thể phát triển trình đổ bóng pixel sẽ hiển thị sprite được chuyển đổi ở bên phải với các pixel được căn chỉnh theo trục có cùng kích thước với phần còn lại của cảnh?
Điều này có thể liên quan đến cách mở rộng quy mô sprite trong các trò chơi cũ như Đảo Khỉ, bởi vì đó là hiệu ứng tôi đang cố gắng đạt được, nhưng có thêm xoay vòng.
Biên tập
Theo đề xuất của kaoD, tôi đã cố gắng giải quyết vấn đề như một quá trình hậu kỳ. Cách tiếp cận đơn giản nhất là kết xuất đến một mục tiêu kết xuất riêng biệt trước tiên (được ghép xuống để phù hợp với kích thước pixel mong muốn) và sau đó nâng cấp nó khi hiển thị lần thứ hai. Nó đã giải quyết các yêu cầu của tôi ở trên.
Đầu tiên tôi đã thử làm nó Linear -> Point
và kết quả là thế này:
Không có biến dạng nhưng kết quả trông mờ và nó mất hầu hết các màu nổi bật. Theo ý kiến của tôi, nó phá vỡ cái nhìn retro tôi cần.
Lần thứ hai tôi đã thử Point -> Point
và kết quả là thế này:
Mặc dù méo mó, tôi nghĩ rằng nó có thể đủ tốt cho nhu cầu của tôi, mặc dù nó trông đẹp hơn như một hình ảnh tĩnh hơn là trong chuyển động.
Để chứng minh, đây là video về hiệu ứng, mặc dù YouTube đã lọc các pixel ra khỏi nó:
Tuy nhiên, tôi sẽ để câu hỏi mở thêm vài ngày nữa trong trường hợp ai đó đưa ra giải pháp lấy mẫu tốt hơn để duy trì vẻ ngoài sắc nét trong khi giảm số lượng biến dạng khi di chuyển.
SpriteBatch
yêu cầu tôi sử dụng chế độ Ngay lập tức, vì vậy nó không đáng để gặp rắc rối. Tôi sẽ đi với điều này :)