我有一个在libGDX(Android)上运行的3D场景。我想用粒子系统。当我使用在线发现的教程/示例(例如Particle System libGDX)创建一个时,我得到一个可以正常工作的粒子系统。除了一件事:它固定在屏幕上。
当我移动相机时,粒子系统会停留在屏幕上的同一个位置(就像固定的HUD元素一样)。也许是因为ParticleEffect
的精灵本质。
另一个相关问题是ParticleEffect.setPosition()
方法的值不是在世界坐标中,而是在屏幕像素中。它是否正确?我可以用像素计算新的屏幕坐标并每帧更新ParticleEffect
位置。但这对我来说似乎是个黑客。
是否有更多“正确的”方式让我的粒子系统在我的3D场景中表现得像其他物体一样而不是固定在屏幕上?
答案 0 :(得分:1)
粒子系统正在2D系统中工作。这不是一个3D粒子系统,这就是为什么你不会进入你的世界。这就是为什么它在g2d
包内(图形2D)。这也是为什么它只采用2D线而不是3D线。
此功能列表也表示它位于2D Highlevel API中。