Java Android LibGDX粒子系统固定在屏幕上

Java Android LibGDX粒子系统固定在屏幕上,java,android,opengl-es,libgdx,particle-system,Java,Android,Opengl Es,Libgdx,Particle System,我有一个在libGDX(Android)上运行的三维场景。我想用粒子系统。当我使用在线教程/示例创建一个时(例如),我得到了一个运行良好的粒子系统。除了一件事:它固定在屏幕上 当我移动相机时,粒子系统保持在屏幕上的相同位置(比如固定的HUD元素)。可能是因为ParticleEffect的精灵特性 另一个相关问题是ParticleEffect.setPosition()方法获取的值不是世界坐标,而是屏幕像素。这是正确的吗?我可以计算新的屏幕坐标(以像素为单位),并更新每一帧的ParticleEff

我有一个在libGDX(Android)上运行的三维场景。我想用粒子系统。当我使用在线教程/示例创建一个时(例如),我得到了一个运行良好的粒子系统。除了一件事:它固定在屏幕上

当我移动相机时,粒子系统保持在屏幕上的相同位置(比如固定的HUD元素)。可能是因为
ParticleEffect
的精灵特性

另一个相关问题是
ParticleEffect.setPosition()
方法获取的值不是世界坐标,而是屏幕像素。这是正确的吗?我可以计算新的屏幕坐标(以像素为单位),并更新每一帧的
ParticleEffect
位置。但对我来说,这似乎是一种恶作剧


是否有更“正确”的方法使我的粒子系统的行为与3D场景中的其他对象类似,而不是固定在屏幕上?

粒子系统只是在2D系统中工作。这不是一个3D粒子系统,这就是为什么你不能把它带入你的世界。这就是为什么它在
g2d
包(graphics 2D)中的原因。这也是为什么只需要2D跳线而不需要3D跳线的原因

此外,功能列表还表明它位于2D高级API中


粒子系统只是在二维系统中工作。这不是一个3D粒子系统,这就是为什么你不能把它带入你的世界。这就是为什么它在
g2d
包(graphics 2D)中的原因。这也是为什么只需要2D跳线而不需要3D跳线的原因

此外,功能列表还表明它位于2D高级API中


我知道这是一个2D游戏。但这并不能解释为什么它固定在摄像机上。据我所知,2D场景也有世界坐标,并不总是适合屏幕,所以相机平移是可能的。在这种情况下,停留在屏幕上相同位置的粒子系统并没有多大用处,我知道这是一个二维空间。但这并不能解释为什么它固定在摄像机上。据我所知,2D场景也有世界坐标,并不总是适合屏幕,所以相机平移是可能的。在这种情况下,停留在屏幕上相同位置的粒子系统并没有多大用处