我有一个在 libGDX(Android) 上运行的 3D 场景。我想使用粒子系统。当我使用在线找到的教程/示例(例如 Particle System libGDX)创建一个粒子系统时,我得到了一个运行良好的粒子系统。除了一件事:它固定在屏幕上。
当我围绕粒子系统移动相机时,粒子系统会停留在屏幕上的同一位置(类似于固定的 HUD 元素等)。可能是因为 ParticleEffect
的 Sprite 特性。
另一个相关问题是 ParticleEffect.setPosition()
方法采用的值不是世界坐标中的值,而是屏幕像素中的值。它是否正确?我可以计算新的屏幕坐标(以像素为单位)并更新 ParticleEffect
每一帧的位置。但这对我来说似乎是一个黑客。
是否有更“正确”的方式让我的粒子系统表现得像我的 3D 场景中的其他对象,而不是固定在屏幕上?
最佳答案
粒子系统仅在 2D 系统中工作。这不是 3D 粒子系统,这就是为什么您不会将它带入您的世界。这就是为什么它位于 g2d
包(图形 2D)中的原因。这也是它只采用 2D 线而不采用 3D 线的原因。
功能列表还说它在 2D 高级 API 中。
关于java - Android LibGDX 粒子系统固定在屏幕上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18598667/