/ / Rotar sprite en el nivel de píxel de sprite, no en el nivel de píxel de la pantalla, en LibGDX: Java, rotación, libgdx, escala, píxel

Gire el sprite en el nivel de píxel del sprite, no en el nivel de píxel de la pantalla, en LibGDX - java, rotación, libgdx, escala, píxel

Estoy haciendo un juego pixelado, y estoy tratando de rotar un sprite. Sin embargo, no estoy logrando el tipo de efecto giratorio al que apunto.

Actualmente, mi sprite se ve así cuando gira:

Incorrecto

Como puede ver, gira relativamente suavemente. Puede ver que los "píxeles grandes" giran suavemente. Sin embargo, este no es el efecto giratorio que estoy buscando. En cambio, así es como quiero que gire:

Correcto Sin embargo, preferiblemente de una manera que no distorsione tanto los píxeles. Puede ver la diferencia. Quiero que los "píxeles grandes" reales giren, no los "píxeles de la pantalla".

Creo que el problema podría estar en cómo escalo los píxeles para hacerlos más grandes. Lo que estoy haciendo es que estoy acercando la cámara, acercándola más o menos. Lo que en cambio quiero hacer es renderizar como normal, luego escalar los píxeles de la pantalla. De esa forma, automáticamente lograría el efecto de rotación que quiero. Sin embargo, no sé cómo hacerlo.

Así es como actualmente "amplío los píxeles":

camera = new OrthographicCamera();
camera.setToOrtho(false, 1280 / 4, 720 / 4);

La resolución del juego es 1280x720, así que la forma en que yohacer que los píxeles sean más grandes es que solo hago zoom 4 veces. Sin embargo, lo que en cambio quiero hacer es renderizar como normal, luego estirar la pantalla 4 veces.

Cualquier ayuda sobre cómo podría hacer esto sería muy apreciada.

Respuestas

2 para la respuesta № 1

Mira esto esta publicación. Aquí hay un tipo de solución para su problema. Simplemente renderice primero al búfer de cuadro pequeño con la interpolación de vecino más cercano y luego a la pantalla. Quizás no sea la forma efectiva, pero definitivamente la forma de lograr tal comportamiento.

¡Buena suerte!