Quiero renderizar un efecto de partículas en 3D usando la coordenada Z. Intenté implementar un ParticleEffect propio usando Calcomanías en lugar de Sprites sin éxito.sistema de partículas libgdx Coordenada Z
¿Hay alguna otra forma de representar un ParticleEffect utilizando la coordenada Z? ¿Tal vez manipulando la transformación Matrix del SpriteBatch?
Actualización:
código de trabajo
// update projection each frame since my camera is moving
spriteBatch.setProjectionMatrix(camera3d.projection);
for (ParticleEffect effect : effects){
spriteBatch.setTransformMatrix(camera3d.view);
spriteBatch.getTransformMatrix().translate(x,y,z); // different for each effect
spriteBatch.getTransformMatrix().scale(0.1f,0.1f,0.1f); //optional
spriteBatch.begin();
effect.draw(spriteBatch, delta);
spriteBatch.end();
spriteBatch.getTransformMatrix().idt();
}
¿Es su juego 2D o 3D? ¿Qué significa "usar la coordenada Z"? ¿Que las partículas rinden en diferentes tamaños en la pantalla? ¿Puedes mostrar una captura de pantalla de lo que tienes? –
Mi juego es 3d, pero ParticleEffect de libgdx es para 2d (solo usa X e Y, no Z) porque usa Sprites (2d) internamente y SpriteBatch para dibujar. Quiero que el efecto aparezca parcialmente detrás de los objetos cercanos y delante de los objetos lejanos con respecto a la perspectiva. – kromit