Z座標を使用して3Dでパーティクルエフェクトをレンダリングします。私はSpriteの代わりにDecalsを使って独自のParticleEffectを実装しようとしましたが、成功しませんでした。libgdxパーティクルシステムZ座標
Z座標を使用してパーティクルエフェクトをレンダリングする他の方法はありますか?多分、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ですが、libgdxのParticleEffectは内部的にスプライト(2d)を使用し、描画にSpriteBatchを使用するため、2d(XとY、Zは使用しません)用です。私は、エフェクトが部分的に近くのオブジェクトの後ろに表示され、遠方のオブジェクトの前方が視点に関して表示されるようにします。 – kromit