gpt4 book ai didi

java - libgdx 粒子系统 Z 坐标

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:03:17 24 4
gpt4 key购买 nike

我想使用 Z 坐标渲染 3D 粒子效果。我曾尝试使用 Decals 而不是 Sprites 来实现自己的 ParticleEffect,但没有成功。

还有其他方法可以使用 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();
}

最佳答案

如果你的 3D 效果是视差效果,也就是说你的粒子垂直面对相机,你确实可以设置 SpriteBatch 的变换矩阵

batch.getTransformMatrix().idt().translate(0, 0, z);
batch.begin();
... do your rendering here
batch.end();
// reset the matrix, so you can use the batch for other stuff
batch.idt();

对于透视效果,您还必须使用透视投影。满足此要求的最简单方法是使用 PerspectiveCamera 而不是 OrthographicCamera。

关于java - libgdx 粒子系统 Z 坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10848186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com