Tôi muốn hiển thị hiệu ứng hạt trong mô hình 3D bằng tọa độ Z. Tôi đã cố gắng thực hiện ParticleEffect của riêng mình bằng cách sử dụng Decals thay vì Sprites mà không thành công.Hệ thống hạt libgdx Z phối hợp
Có cách nào khác để hiển thị ParticleEffect bằng tọa độ Z không? Có lẽ bằng cách thao tác ma trận chuyển đổi của SpriteBatch?
Cập nhật:
làm việc mã
// 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();
}
Trò chơi của bạn có phải là 2D hoặc 3D không? "Sử dụng tọa độ Z" nghĩa là gì? Rằng các hạt hiển thị ở các kích cỡ khác nhau trên màn hình? Bạn có thể hiển thị ảnh chụp màn hình của những gì bạn có không? –
Trò chơi của tôi là 3d, nhưng ParticleEffect của libgdx là dành cho 2ngày (chỉ sử dụng X và Y, không có Z) bởi vì nó sử dụng Sprites (2d) nội bộ và SpriteBatch để vẽ. Tôi muốn hiệu ứng xuất hiện một phần phía sau của các đối tượng gần và ở phía trước của các đối tượng xa đối với quan điểm. – kromit