我想使用Z座標在3D中渲染粒子效果。我試圖用Decals而不是Sprites來實現自己的ParticleEffect而沒有成功。libgdx粒子系統Z座標
是否有任何其他方式使用Z座標呈現ParticleEffect?也許通過操縱SpriteBatch的變換矩陣?
更新:
工作代碼
// 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();
}
是你的遊戲2D還是3D? 「使用Z座標」是什麼意思?粒子在屏幕上呈現不同的大小?你能顯示你有什麼截圖嗎? –
我的遊戲是3D,但ParticleEffect的libgdx是2d(只使用X和Y,沒有Z),因爲它在內部使用Sprites(2D)和SpriteBatch進行繪製。我希望這個效果可以在遠近物體的後面出現,並且在遠視物體的前面出現。 – kromit